이번 포스팅은 클러스터링 알고리즘에 대해 알아보도록 하겠습니다. 클러스터링은 군집화 한다고 말처럼 대상을 그룹핑하는 알고리즘이라고 생각하면 쉽습니다. 그렇다면 어떻게 그룹을 만들어야 좋은 알고리즘이 될까요? 그 기준과 사례를 살펴보도록 하겠습니다.
Clustering 란?
클러스터링은 레이블(Y)이 지정 되어있지 않은 데이터를 그룹핑하는 분석 알고리즘입니다. 레이블이 없다는 이야기는 지도 학습이 아니라 비지도 학습이라는 이야기입니다. 데이터들의 특성을 고려해 데이터 집단(클러스터)을 정의하고 데이터 집단의 대표할 수 있는 중심점을 찾는 방식입니다. 여기서 클러스터는 비슷한 특성을 가진 데이터(객체)들의 집단이라고 할 수 있습니다.
Clustering 기준
첫째, 동일한 집단에 소속된 관측치들은 서로 유사할수록 좋음(minimize the intra-cluster variance)
둘째, 상이한 집단에 소속된 관측치들은 서로 다를수록 좋음(maximize the inter-cluster variance)
Clustering 적용 사례
- 고객 Segmentation에서 사용 : 고객의 특성을 분류하여 특정 고객에게 맞는 프로모션 수행
- 문서 유사도 군집 :예를 들어, 특허 문서 분류(스포츠, IT 등)
- 데이터 분석 : 데이터셋을 군집하여 각 크러스터 단위로 분석
- 차원 축소 기법 : 샘플의 친화성을 측정하여 저차원 데이터 변환
- 이상치 탐지 : 친화성이 낮은 샘플은 이상치일 가능성이 높음(부정 거래 감지)
- 준지도 학습 : 레이블된 샘플이 적을 경우 군집을 수행해 동일한 클러스터에 있는 샘플에 대해 동일 레이블 전파, -> 지도학습의 레이블 증가시켜 성능향상에 기여
- 검색엔진 : 제시된 이미지와 비슷한 이미지 찾기(Google렌즈)
- 이미지 분할 : 색을 기반으로 픽셀을 클러스터링 해서 물체의 윤각을 감지
- 지도 군집화 : 순찰 거점 추출(시각화)
Clustering 고려 사항
- 어떤 거리 척도를 사용하여 유사도 측정할 것인가?
- 유클리드 거리, 맨하탄 거리, 상관계수 거리 등(K-Nearest Neighbor 알고리즘과 다름)
- 거리 → 포인트 들의 형태(산점도) 분석
- 어떤 군집화 알고리즘을 사용할 것인가?
- 계층적 분석, K-means 알고리즘, DBSCAN 알고리즘
- 군집화 알고리즘은 계층적 군집과 분할적 군집으로 분류됨(아래 참고)
- 최적의 군집 수는 PCA(주성분 분석)와 다름
계층적 군집 vs 분할적 군집
1. 계층적 군집
- 한 군집 안에 부분 군집이 있음
- ex) Hierarchical Clustering
2. 분할적 군집
- 군집간 부분집합이나 중복이 없이 상호 배타적으로 존재함
- ex) K-means 알고리즘, DBSCAN 알고리즘
'데이터 분석' 카테고리의 다른 글
클러스터링 - K-means 동작 원리, 장단점, 문제점 (0) | 2023.10.13 |
---|---|
클러스터링 - 계층적 군집화 동작 원리, 장단점 (0) | 2023.10.13 |
모수 vs 비모수 모델 - 파라미터 vs 하이퍼파라미터 (1) | 2023.10.12 |
차원 축소 - 특잇값 분해(SVD) 및 PCA 관계 (0) | 2023.10.11 |
차원 축소 - t-SNE의 특징 및 PCA와 차이점 (1) | 2023.10.11 |