반응형
군집화 ( Clustering )
주어진 데이터의 관계나 유사도만 의존하여 자연적으로 그룹화 하는 것
초기 군집(레이블)의 개수를 정하면 자연스럽게 군집화가 이루어짐
k-means 클러스터링
n개의 관측값을 k개의 클러스터로 분할하는 알고리즘
알고리즘
1. k개의 데이터를 랜덤하게 추출하여 중심(centroid)으로 삼는다.
2. 각 데이터가 k개의 중심 중 어떤 중심과 거리가 가까운지 계산한 후 레이블을 할당한다.
3. 레이블 할당이 완료되면 레이블 별 중심점을 계산하여 추출한다.
4. 2와3을 모든 데이터의 레이블(클러스터)이 바뀌지 않을 때까지 반복한다.
k를 결정하는 방법
몇 개의 군집이 적절한지 알기 위해서 '팔꿈치 방법(elbow method)'를 사용한다. k를 1부터 증가시키며 클러스터링을 수행하여 SSE(Sum of squared errors)를 계산한다.
군집이 많아도 SSE가 별차이 없으니 적당한 군집의 개수는 팔꿈치처럼 접히는 지점이다.
k-means++ 군집화
초기 중심점이 랜덤하게 설정되다 보니 군집화가 틀리거나 시간이 오래 걸림
중심점을 서로 떨어트려 설정하는 방법이 k-means++이다.
1. 첫 중심점(센트로이드)을 랜던하게 선택
2. 데이터들과 첫 센트로이드 사이의 최소 제곱 거리를 계산
3. 가중치가 적용된 확률분포를 사용하여 다음 센트로이드 선택
4. 2와3을 반복하며 적절한 센트로이드 찾기
5. k개의 센트로이드가 선택되면 군집화 실행
반응형
'CS > 인공지능' 카테고리의 다른 글
[인공지능] MLP ( Multilayer Perceptron ) (0) | 2021.12.16 |
---|---|
[인공지능] 퍼셉트론(Perceptron) (0) | 2021.12.14 |
[인공지능] 기계학습 ( 분류기; Classifier ) (0) | 2021.12.13 |
[인공지능] 기계학습 ( 경사하강알고리즘 ) (0) | 2021.12.13 |
[인공지능] 기계학습 (선형회귀) (0) | 2021.12.12 |