클러스터링
-
MNIST로 알아보는 비지도 학습 - [클러스터링과 차원 축소의 적용]Programming & Machine Learning/Python X 머신러닝 2019. 8. 6. 14:01
최근 클러스터링을 사용할 작업이 여기저기 많았다. 그래서 생각난김에 맨땅에 헤딩했던 관련 내용을 정리하고자 한다. 클러스터링 문제를 풀 때 마주치는 보통의 애로사항은 다음과 같다. 첫 번째, real-world 에서의 데이터 대부분은 극단적으로 skewed 하다는 것이다. 이는 모델이 군집을 잘 구분해내는 피처를 사용할 수 없다는 것을 의미한다. 이처럼 skewed한 분포의 데이터에서 군집을 발라내봤자, 기형적인 군집이 형성될 것이 뻔하기 때문이다. 만약 유클리드 거리로 데이터 포인트간의 거리를 계산하기라도 한다면, 사실상 군집 분석의 의미가 없어진다. 두 번째, 모델의 분류가 잘 되었는지를 평가할 방법이 불분명하다. 군집 분석을 하는 상황은 대부분 비지도 학습을 해야 하는 상황이다. 이 경우, 모델의 ..
-
비지도학습과 클러스터링Programming & Machine Learning/풀어쓰는 머신러닝 2017. 9. 1. 11:55
비지도 학습에서의 군집분석 머신 러닝은 크게는 두 가지, 지도학습과 비지도학습으로 나뉜다.지도학습은 이미 결과를 알고 있는, label이 있는 데이터를 예측하거나 분류하는 것이다. 반면 비지도학습은 label이 없는 데이터에서 패턴을 발견하고, 숨겨진 구조를 찾아내는 것이다.가장 대표적인 비지도학습으로 군집분석이 있다. 아래의 그림을 보자. 왼쪽의 점들은 A, B라는 label, 즉 그들의 정체가 밝혀져 있다.오른쪽 점들은 그것들의 정체를 가려 놓은 것이다. 왼쪽 데이터의 경우, 직선 하나를 그어 놓고 점들을 분류한다고 생각해보자. 우리는 그들의 정체를 알고 있기 때문에, 분류에 대한 평가까지 할 수 있다.만약 직선 위의 데이터라면 A. 직선 아래의 데이터라면 B이다. A,B 라는 기준에 따라 이리저리 ..
-
R을 이용한 머신러닝 - 3 (분류와 클러스터링 : K-NN, K-means)Programming & Machine Learning/R X 머신러닝 2017. 7. 13. 09:05
분류 & 클러스터링1. 분류 알고리즘1.1 K-NN- 최근접 이웃을 찾아가는 분류 알고리즘. - K는 최근접 이웃의 갯수를 말하는 것. - 지도학습의 일종으로 레이블이 있는 데이터를 사용함. - 예를 들어 K가 1이면, iterate 할 때, 그 데이터와 가장 가까운 Class를 자신의 Class로 하게 됨.\ - 2이면, 자신과 가장 가까운 2개의 데이터의 클래스를 참조하여 자신의 클래스를 결정 - 이웃을 찾을때는 여러가지 거리 측정 방법 중에 주로 유클리디안 거리를 사용함. - feature들이 numerical할 때, 데이터를 표준화시켜주는 것이 좋음. wbcd = read.csv("wisc_bc_data.csv", header = T, stringsAsFactors = F, sep = ",") s..