Clustering 군집화
클러스터링이란 레이블이 없는 데이터 안에서 패턴과 구조를 발견하는 비지도 학습 기술이다. 추천 엔진, 검색 엔진 등에 많이 사용된다.
K-means 클러스터링
- K : 찾을 것으로 예상되는 클러스터 수
- Means : 각 데이터로부터 그 데이터가 속한 클러스터 중심까지의 평균거리. 이 값을 최소화 하는 것이 알고리즘의 목표이다.
K-means 알고리즘
- K 개의 임의의 중심점(centroid) 배치
- 각 데이터들을 가장 가까운 중심점으로 할당
- 중심점을 각 클러스터 중심으로 이동
- 클러스터에 assign 되는 데이터가 없을 때 까지 중심점을 업데이트하며 스텝 2-3 반복
최적의 K 값 정하기
Elbow 기법
클러스터 개수를 늘렸을 때 중심점 간의 평균 거리가 더 이상 많이 감소하지 않는 경우의 K를 선택하는 방법.
하단의 그래프를 보면 클러스터가 5개가 되면 응집도에 변화가 거의 없으므로(elbow 지점) 적절한 K 값은 5라고 할 수 있을 것이다.
실루엣 스코어
각 데이터 포인트와 주위 데이터 포인트들과의 거리 계산을 통해 값을 구한다.
실루엣 계수 = (b-a) / max(a,b)
a는 동일한 클러스터에 있는 다른 샘플까지 평균 거리, b는 가장 가까운 클러스터까지 평균 거리
실루엣 계수가 0에 가까우면 클러스터 경계에 있다는 뜻이고 +1에 가까우면 자신의 클러스터안에 잘 속해 있다는 뜻, -1에 가까우면 잘못된 클러스터에 할당 되어있다는 뜻이다.
샘플을 하나씩 계산하므로 elbow보다 더 정확하지만 계산비용이 많이 드는 단점이 있다.
K means의 한계
클러스터 개수를 지정해줘야하는 번거로움이 존재한다. 또한 단순히 거리로만 계산을 하기 때문에 크기나 밀집도가 다르거나 원형이 아니고 길게 퍼져있는 경우 잘 작동하지 않는다.
'머신러닝' 카테고리의 다른 글
추천시스템 - 협업 필터링(Collaborative Filtering) (2) (1) | 2022.06.24 |
---|---|
추천시스템 - 협업 필터링(Collaborative Filtering) (1) (0) | 2022.06.17 |
차원축소와 PCA(주성분 분석) (0) | 2022.06.15 |
정규화와 표준화 (0) | 2022.06.15 |
부스팅 모델 (1) | 2022.06.15 |