-유사성 or 패턴 기반으로 서로 다른 객체들을 group or Cluster로 구성하고 분류하는 비지도 ML 알고리즘
(1) K-means
-중심점(centroid)라는 특정한 임의의 지점을 선택하여 해당 중심에 가장 가까운 포인트들을 선택하는 군집화 기법
-거리 기반 군집화 방식
>> centroid: 데이터에 따라 클러스터에 있는 모든 점의 평균 or 중앙값
>> K: 군집의 개수
>> mean: 평균, 중앙값
-알고리즘 과정
장점
-쉽고 빠르게 연산 가능 bc. 중심점과 군집의 거리만 계산하기 때문 -데이터 사전 정보 필요 없음 -분석 알고리즘 적용 쉬움
단점
-K값 & 처음 centroid값을 임의로 정해야 하나 중심점의 값에 따라 결과가 민감하게 변함 -이상치에 민감 >> 몇개의 값이 너무 멀리 떨어져 있을 경우, 그에 맞춰 중심점을 정하기 때문 (이상치를 따로 구분하는 알고리즘은 아님) -local minimum(최저점이 아닌 저점)으로 수렴 -구형의 클러스터만 구하기 가능 >> 복잡한 형태 집단은 잘 못 나눔
(2) DBSCAN (Density-based spatial clustering of applixations with noise)
-Noise를 포함한 데이터에 대해 밀도 기반으로 클러스터링하는 알고리즘 (점이 세밀하게 몰려 있어서 밀도가 높은 부분을 클러스터링)
-알고리즘 과정
>> 점p: 중심점, 임의가 아닌 모든 data 값에 의해 결정
>> eps(epsilon): p에서부터의 거리 (직접 설정값) // Elbow Method값
>> minPts: e의 반경 내의 점의 수 (직접 설정값)
장점
-기하학적으로 패턴이 있는 데이터 군집화에 유리 -군집 개수 정할 필요 없음 >> 군집 개수 예상 어려울 때 사용하기 좋음 -이상치 자동으로 구분 >> 이상치 자체가 하나의 군집이 됨
단점
-다양한 밀도를 가진 데이터 형태는 군집화 성능이 떨어짐 -하이퍼 파라미터 값에 따라 클러스터링 결과가 크게 달라지며, 적정 파라미터 값 지정 어려움 >> 하이퍼 파라미터 튜닝 필요
**하이퍼 파라미터 튜닝에 관하여
>> K-Means: 군집의 개수인 K와 초기 중심점(centroid)을 사용자가 임의로 정해야 함
>> DBSCAN의 하이퍼 파라미터: 탐색 반경인 epsilon(eps)과 군집을 형성하기 위한 최소 데이터 개수인 minPts를 사용자가 직접 정의 >> 설정의 중요성: 하이퍼 파라미터 값에 따라 클러스터링 결과가 크게 달라지므로, 적절한 값을 지정하는 '하이퍼 파라미터 튜닝' 과정이 필수적
>> 과적합과의 관계: 적절하지 않은 하이퍼 파라미터 설정은 과적합을 유발
3. 클러스터링 성능 평가 방법
(1) Elbow Method
-최적의 K 개수를 찾는 방법
-Cluster 간의 거리의 합을 나타내는 inertia가 급격히 떨어지는 구간의 K 값 = 군집의 개수
**inertia: 군집 내부의 응집도를 수치화한 값, SSE와 유사
(2) Silhouette Score
-군집타당성지표로, 클러스터링 이후의 성능 평가 방식 (얼마나 잘 됐는지 확인)
>> -1 ~ 1 사이의 값으로, 1에 가까울수록 적절한 군집화가 되었다고 판단
>> 개별 데이터가 할당된 군집 내 데이터와 얼마나 가깝게 군집화 되어있는지, 다른 군집에 있는 데이터와는 얼마나 멀리 분리되어 있는지를 수치로 표현