Open nowol79 opened 6 years ago
클러스터링은 특성이 비슷한 데이터 끼리 묶어 주는 머신러닝 기법이다. 클러스터링은 라벨링 되어 있지 않은 데이터를 묶는 경우 일반적이기 때문에 비지도학습방법이 사용된다.
클러스터링 알고리즘. 주어진 training 데이터(초록점)을 k-means 알고리즘을 이용해서 clustering하는 과정
임의의 위치에 cluster centroids를 초기화 한다.
각 데이터를 가장 가까운 centroid에 해당하는 cluster에 배정한다. 배정된 점들은 색깔로 구분한다. 그 다음 각 cluster의 데이터 평균을 구해 centroids를 이동한다.
같은 과정을 새 centroids를 반복한다.
더이상 변화가 없을 때까지 반복하여 clustering을 마무리한다.
어떤 데이터는 cluster를 나누기 애매하기도 하다. 그런 경우에도 어쨌든 clustering을 수행할 수 있다.
의류회사에서 출시할 t-shirt 사이즈를 정할 때를 예로 들 수 있다.
Cluster assignment step에서 최적의 c(1), .... , c(m)을 찾는 것은 각 example x(i)가 최적의 cluster에 재배치되는 과정으로 이해할 수 있다.
move centroid step애 m(i)... m(k)를 구하는 것은 각 cluster를 대표하는 최적값(평균값)을 계산하는 것으로 생각할 수 있다.
효과적인 초기화 방법
cluster 개수 K는 데이터 개수 m보다 작아야 한다.
주어진 training example중 K개를 centroid로 임의로 선택하고 m1...mk를 그 K개 example과 같게 두는 것이다.
클러스터링은 특성이 비슷한 데이터 끼리 묶어 주는 머신러닝 기법이다. 클러스터링은 라벨링 되어 있지 않은 데이터를 묶는 경우 일반적이기 때문에 비지도학습방법이 사용된다.
K-means Alogrithm
클러스터링 알고리즘.
주어진 training 데이터(초록점)을 k-means 알고리즘을 이용해서 clustering하는 과정
임의의 위치에 cluster centroids를 초기화 한다.
각 데이터를 가장 가까운 centroid에 해당하는 cluster에 배정한다. 배정된 점들은 색깔로 구분한다. 그 다음 각 cluster의 데이터 평균을 구해 centroids를 이동한다.
같은 과정을 새 centroids를 반복한다.
더이상 변화가 없을 때까지 반복하여 clustering을 마무리한다.
알고리즘
K-means for non-separated clusters
어떤 데이터는 cluster를 나누기 애매하기도 하다. 그런 경우에도 어쨌든 clustering을 수행할 수 있다.
의류회사에서 출시할 t-shirt 사이즈를 정할 때를 예로 들 수 있다.
Optimization Objective
Cluster assignment step에서 최적의 c(1), .... , c(m)을 찾는 것은 각 example x(i)가 최적의 cluster에 재배치되는 과정으로 이해할 수 있다.
move centroid step애 m(i)... m(k)를 구하는 것은 각 cluster를 대표하는 최적값(평균값)을 계산하는 것으로 생각할 수 있다.
Random Initialization
효과적인 초기화 방법
cluster 개수 K는 데이터 개수 m보다 작아야 한다.
주어진 training example중 K개를 centroid로 임의로 선택하고 m1...mk를 그 K개 example과 같게 두는 것이다.
Local Optima