클러스터링과 분류의 차이
클러스터링 : 레이블 없음, 비지도 학습
분류 : 레이블 있음, 지도학습
클러스터링 응용 분야
고객분할
검색엔진
이미지 분할
차원 축소 : 인스턴스와 클러스터의 유사성 측정 → 인스턴스 피처 벡터를 → 유사성 벡터로 대체
클러스터의 정의
보편적인 정의는 없음 맥락 에 따라 결정
클러스터링 알고리즘에 따른 종류
- 특정 포인트 중심으로 유클리디안 거리 - Kmeans
- 밀집되어있는 인스턴스들의 연속된 영영 - DBSCAN
- 계층적인 클러스터 (HC)
KMeans
빠르고 효율적으로 클러스터링 가능한 알고리즘
Lloyd가 제안
각 덩이의 중심을 찾고 인스턴스를 가까운 덩이에 배정
- 클러스터의 개수를 지정해줘야 함
- 인스턴스의 레이블과 클러스터의 인덱스 혼동 주의!!! (비지도 학습)
- 하드클러스터링 : 인스턴스를 단 하나의 클러스터로 배정하는 방법
- 소프트 클러스터링 : 클러스터 마다 <점수>를 부여 ex) 거리 or 가우시안과 같은 유사도 점수
Kmeans 알고리즘
- 임의의 centroid를 가정
- 인스턴스 레이블 작업(centroid와의 거리)
- 레이블 된 인스턴스들의 평균 좌표를 계산하여 새로운 centroid 찾기
- 업데이트 된 centroid 이용하여 다시 레이블 작업
→ 중심점이 움직이지 않을 때까지 반복
Kmeans의 계산 복잡도
인스턴스 수, 클러스터 수, 차원수 에 선형관계
하지만, 클러스터링 구조의 데이터가 아니면 인스턴스 수의 지수적으로 복잡도 증가
Kmeans 알고리즘의 문제
- 지역 최저점(Local minimum)에 수렴할 수 있음
- Centroid Initialization에 영향을 많이 받음
중심점 초기화 방법 1
전제 : 이미 다른 클러스터링 알고리즘을 수행했다면
init을 중심값들을 포함하는 배열로 지정
n_init을 1로 설정
중심점 초기화 방법 2
전제 : 중심점 정보가 전혀 없을 떄
무작위 초기화 → 최적의 솔루션 선택 → <모델 관성> 이라는 성능지표 (낮을 수록 good)
init = ‘random’
n_init 를 파라미터 반복수로 지정
중심점 초기화 방법 3
Kmeans ++
중심점이 서로 멀리 떨어지도록 지정
- 균등한 무작위로 C1 하나 선택
- 특정 활률을 갖는 인스턴스 X(i)를 골라 C(i)로 선택
- 멀리 떨어진 인스턴스들이 높은 확률로 중심으로 선택됨
init = ‘k-means++’ ← default 파라미터
최적의 클러스터 수 찾기
가장 낮은 관성 모델이 항상 최선은 아님
클러스터 수가 늘어나면 당연히 관성이 줄어 듬 → 너무 클러스터 수가 많으면 오히려 안좋음
정확한 클러스터 수 결정하기
- 관성 - 클러스터 수 그래프 살펴보기
- 변곡점 찾기 (관성 감소가 느려지는 구간)
실루엣 점수
한 인스턴스의 실루엣 계수 = (b-a)/max(a,b)
a : 같은 클러스터 내 인스턴스들과의 평균 거리
b : 그 다음 가까운 클러스터 내 인스턴스들과의 평균 거리
실루엣 계수는 -1 ~1 사이
실루엣 계수 1 : good
실루엣 계수 0 : 경계
실루엣 계수 -1 : bad
실루엣 다이어그램
나이프 높이 : 클러스터에 속한 인스턴스 개수
나이프 너비 : 인스턴스의 실루엣 계수
중요
나이프 너비가 파선들을 다 넘어야 함
나이프 높이가 비슷해야함
Kmeans 한계점
여러번 실행해야한다 (local minimum 방지)
클러스터 수를 알려줘야 함
클러스터의 크기, 분포, 모양에 영향을 많이 받음 (타원형은 가우시안 혼합 모델로 해결 가능)
Kmeans은 입력 특성 스케일링이 중요하다!
'Deep Learning' 카테고리의 다른 글
윈도우10에 딥러닝 환경 구축의 모든 것.. 이고 싶어요(tensorflow, GPU, CUDA, cudnn) (1) | 2024.06.10 |
---|---|
확률적 경사하강법(SGD), 최적화 (0) | 2024.05.10 |
[cs231] SGD, SGD 모멘텀, AdaGrad, Adam 7강 (0) | 2024.04.29 |
[DL] L1, L2 규제와 차원 축소 (0) | 2024.04.17 |
Windows 10에 CUDA, Pytorch 설치하기 (0) | 2024.04.11 |