본문 바로가기

ML & DM

Clustering Evaluation and assessment 클러스터링 결과의 평가는 cluster validation이라고도 한다.두 클러스터링 간 유사도 측정에 대한 몇가지 제안들이 있다. 이러한 측정법은 한 데이터 셋에서 작동하는 데이터 클러스터링 알고리즘이 얼마나 다른가를 비교하는데 사용될 수 있다. Internal evaluation 스스로 클러스터링 된 데이터를 기반으로 해, 클러스터링의 결과가 평가된다. 이 방법들은 보통 최고점수를 클러스터간의 낮은 유사성과 클러스터내의 높은 유사성을 가진 클러스터들을 만든 알고리즘에 부여한다. 클러스터 평가에서 internal criteria를 사용할 때 한가지 단점은 높은 평가점수가 반드시 효과적인 정보복원능력(information retrieval application, 대략적으로 말하자면, 본래 데이터내에 가지.. 더보기
PAM (Partitioning Around Medroid) PAM은 K-medoid clustering이 가장 일반적으로 실현화된 것이다. 그렇다면 일단 먼저 K-medoids에 대해 알아보자. 이 알고리즘은 k-means 알고리즘과 관련된 군집 알고리즘이고 medoidshift 알고리즘이다. k-means 와 k-medoids 알고리즘 둘다 나누는 일을 하고(즉 데이터셋을 군집들로 쪼갠다는 의미)또한 한 군집 안에 있는 포인트들과 그 군집의 중심점 사이의 거리를 최소화 하려고한다. k-means 알고리즘과는 다르게(한 군집의 평균을 중심점으로 잡음), k-medoids는 데이터 포인트들을 중심점(medoids 또는 exemplars라고 함)으로 선택한다. k-medoid는 n개의 객체의 데이터셋을 priori(사전에 k를 정해주는것을 말함)를 아는 k개의 클러.. 더보기
Bayesian machine learning 원문 : http://fastml.com/bayesian-machine-learning/ Beyesian machine learning Bayes rule을 안다면, 어떻게 이것이 machine learning과 관련이 있을까? 이것은 어떻게 퍼즐 조각들이 딱 맞는지를 이해하는것은 꽤 어려울 것이다. 이 포스팅은 이에 대한 설명이다. 다음 글은 전문가적 입장에서 쓴 글이 아니기 때문에 부정확한 내용이 포함될 수도 있다. criticism은 언제나 환영이다. 1. Bayesian and Frequentists 기본적으로 Bayesian은 확률(probabilistic)을 말한다. 확률(probability)에 대한 2가지 접근이 있기 때문에 구체적 용어로 구별짓는다. Bayesian들은 probabilit.. 더보기
SVM (Support Vector Machine) Part 2 3. 슬랙변수를 가진 SVM (혹은 Soft Margin SVM) 위 그림과 같이 학습데이터가 선형분리 가능한 경우에 대해 알아보자. 위 처럼 선형분리가 되지 않고 잘못 분류되는 데이터가 존재하는데 이를 처리하기 위해 먼저 잘못 분류된 데이터로부터 해당 클래스의 결정 경계까지의 거리를 나타내는 슬랙변수를 도입한다. 위 조건은 해당 클래스(+ 또는 -)에 속하는 모든 데이터들은 엄격하게 +또는 -평면보다 윗부분 혹은 아랫부분에 존재해야 한다는 것임에 반해, 슬랙변수를 추가함으로써 클래스에 속하는 데이터가 플러스(마이너스)평면보다 만큼 아래(윗)부분에 존재할 수 있도록 허용하게 된다. 따라서 이 클수록 더 심한 오분류를 허용함을 의미한다. 이러한 의미를 가진 슬랙변수를 추가한 분류조건을 통합하여 나타낸 식이.. 더보기
SVM (Support Vector Machine) Part 1 SVM (Support Vector Machine)은 Logistic Regression , Neural Network, Bayes classifier 같은 Linear classifier(초평면을 이용하는 분류기를 말함) 들 중에 하나이다. 분류상으로는 당연히Supervised Learning에 속한다.SVM 에서 중요한 요소 3가지는 마진(Margin), 서포트벡터(Support Vector), 커널(Kernel)이다.이 3가지에 대한 기본 개념을 알아야 뒤에 나올 최대 마진 분류기(Maximum margin classifier, 혹은 Hard Margin SVM이라고 불림), 슬랙변수를 가진 SVM( 혹은 Soft Margin SVM 이라고 불림), 마지막으로 커널을 활용한 SVM(혹은 Soft M.. 더보기
Random Forest Random Forest 는 앙상블기법의 하나로 Bagging과 Random space method 방법을 사용하여 과적합과 탐욕알고리즘의 성향 으로 인한 Decision Tree의 성능의 변동 폭이 크다는 결점을 극복한 하나의 방법이다. 오히려 이러한 과적합의 성향, 탐욕알고리즘의 성향을 이용하여 더 높은수준의 학습기를 만들어 냈다고 할 수 있겠다. 결정트리는 학습데이터에 따라 생성되는 결정트리가 매우 달라지기 때문에 일반화하여 사용하는데 어려움이 따른다. 특히 결정트리는 계층적 접근방식이기 때문에 만약 중간에 에러가 발생한다면 다음 단계로 에러가 계속 전파되는 특성을 가진다. 하지만 랜덤포레스트에서는 결정트리를 학습시킬때 임의화 기술(변수선택의 임의성(흔히 말하는 Random space method).. 더보기
Decision Tree 의사결정나무는 교사학습방법 중 하나라고 알려져 있으나 비교사학습에서도 쓰일 수 있다. 의사결정나무는 데이터의 특징에 대한 질문을 하면서 응답에 따라 데이터를 분류해가는 알고리즘이다. 그렇다면 왜 굳이 의사결정나무를 사용할까? 라는 의문이 든다. 이유는 단순 선형분류기로는 풀기 어려운 XOR(eXclusive OR)같은 문제를 풀 수 있다는 것과 나이브베이즈와 같이 데이터에 대한 가정없이 데이터만 있으면 바로 생성할 수 있다는 점이다. 밑에 그림을 보면 성별, 나이, 배우자/형제자매수라는 특징에 대해 질문을 하여 그 반응에 따라서 사망과 생존을 분류한 결정트리이다. 결정트리의 구조는 크게 2가지로 '노드(node)'와 '가지(branch)'으로 나눌 수 있다. 특정 노드보다 상위의 노드를 부모노드(pare.. 더보기
DBSCAN(Density-based spatial clustering of applications with noise) Algorithm DBSCAN에 대한 이 글은 http://deepcumen.com/2015/04/clustering/ 여기에 잘 설명되어 있어서 여기있는 내용의 일부를 첨부하였고 위키피디아에 있는 설명을 좀 덧붙였다. DBSCAN(Density-based spatial clustering of applications with noise)은 Density model들중 하나이고 K-Means와 같이 데이터의 위치정보를 이용한다. 하지만 K-Means 처럼 데이터의 분포(평균과의 거리가 얼마나 떨어져 있는지로 군집을 결정 했으므로) 를 통해 군집을 정하는 것이 아니라, 데이터들의 밀도를 이용한다. 같은 군집내의 데이터들은 밀도가 높게 위치해 있을것이라는 가정이다. 즉 주변데이터들의 밀도를 이용해 군집을 생성해 나가는 방식이.. 더보기
K-Means Algorithm K-Means 알고리즘은 Centroid model들 중 하나이고 실행하기 이전에 K를 명시해야 하며 K개 군집을 뜻한다 목적은 각 군집 내에 있는 데이터의 차이를 최소로 하고, 군집간의 차이는 최대로 만드는 일이다 (유유상종). 알고리즘은 지역적인(지정된 K개 에서) 최적의 해결책을 찾는 휴리스틱(무작위시작에서 실험적 반복을 통해 조금씩 성능을 향상시키는 과정)과정을 사용한다. 최종적으로는 군집내 동질성의 향상을 목표로 한다. K-Means 알고리즘은 크게 2가지 파트로 나뉜다. 1. 초기값설정2. 반복단계 1. 초기값설정 KNN (최근접이웃)과 마찬가지로 K 평균은 다중 속성공간의 좌표로 속성값을 다룬다. (오해하진 말자 KNN과 K평균은 카테고리가 다르다. 단지 K라는 글자만 같을뿐이다.) 첨언을 .. 더보기
Introduction to Neural Machine Translation with GPUs (part 1) 원문 : https://devblogs.nvidia.com/parallelforall/introduction-neural-machine-translation-with-gpus/ Neural machine translation은 최근 순수 신경망에만 기초한 기계번역으로 제안된 프레임워크다. 이 포스팅은 neural machine translation 시스템을 구현한 간단한 encoder-decoder 모델을 설명한 시리즈중 첫번째 포스팅이다. [Cho et al., 2014; Sutskever et al., 2014; Kalchbrenner and Blunsom, 2013]. 차후 포스팅에서는, 어떻게 attention mechanism 이 간단한 encoder-decoder모델에 통합될 수 있는지를 설명.. 더보기