비지도 학습은 사람이 레이블을 붙일 필요 없이 알고리즘이 스스로 학습하는것을 말한다.
군집
정의
비슷한 샘플을 구별해 하나의 클러스터 또는 비슷한 샘플의 그룹으로 할당하는 작업.
사용 예
- 차원 축소 기법 : 각 클러스터에 대한 샘플의 친화성을 측정할 수 있다. k 개의 클러스터가 있어서 어느 클러스터와 가장 가까운지를 기준으로 분류를 할 수 있다면 이를 "k 차원으로 축소 했다"고 볼 수 있다.
- 이상치 탐지 : 모든 클러스터에 대하여 친화성이 낮은 경우, 이상치로 판단할 수 있다.
- 이미지 분할 : 이미지의 색상을 클러스터링 하여, 대표 색상으로 색상을 치환하는 기법. 이미지 탐지, 추적 시스템에 유용함.
- 이미지 전처리 : 이미지 데이터를 모두 쓰는 대신, 이미지를 클러스터링하여 활용할 수 있다. 이는 차원 감소와 같은 효과를 가지고 온다.
- 준지도 학습 : 클러스터링은 레이블이 없지만 클러스터의 대표 샘플에 레이블을 부여하고, 새 데이터가 특정 클러스터에 포함하는 경우 해당 레이블을 부여하는 레이블 전파를 통해 지도학습의 효과를 낼 수 있다.
k-평균
순서
- k 개의 센트로이드를 무작위로 선정한다.
- 샘플마다 가장 가까운 센트로이드를 레이블링한다.
- 클러스터의 평균점 (mean) 으로 센트로이드를 이동한다.
- 2번으로 돌아간다. 계속해서 반복한다.
한계
- k-평균 알고리즘은 반드시 수렴하지만, 전역 최적점으로 수렴함을 보장하지 못한다. 초기 센트로이드 위치에따라 결과가 달라질 수 있다.
- 클러스터의 크기나 밀집도가 다른 경우, 분포가 원형이 아닌 경우 잘 동작하지 않는다.
- 최적의 결과를 위해 스케일링을 하거나, 분포에 알맞은 모델을 선택해야 한다.
개선된 알고리즘
- 이미 선택한 센트로이드와 먼 곳에 있는 센트로이드에 가중치를 주고 무작위로 선택 (k-means++)
- 랜덤 초기화를 하되 여러번 클러스터링을 하여 가장 좋은 솔루션 선택. 이때 이너셔 (샘플과 자신이 속한 클러스터의 센트로이드의 거리 합)를 지표로 사용한다.
- 미니배치 : 센트로이드를 조금씩만 이동하기.
최적 클러스터 개수 찾기
k-평균의 클러스터 개수를 "직관적"으로 추정할 수는 있지만 산술적으로 추정하는것은 어렵다.
- k 를 바뀌가며 이너셔를 비교한다. 이너셔의 추세가 갑자기 바뀌는 개수 (=엘보) 를 최적으로 선택한다.
- 모든 샘플의 실루엣 계수의 평균인 실루엣 점수를 이용한다.
실루엣 계수 = $\frac{b-a}{max(a,b)$ 이때...
$a = 샘플이 속한 클러스터의 다른 샘플까지의 평균 거리$
$b = 샘플이 속한 클러스터를 제외한, 가장 가까운 클러스터까지의 평균 거리$
따라서 결과는...
- 분류가 잘 될수록 1점에 접근 (a가 b보다 작아지므로)
- 경계에 있을 수록 0점에 접근 (a와 b가 비슷해지므로)
- 잘못 분류하면 -1 점에 접근 (b가 a보다 커지므로)
과 같아진다. 모든 클러스터에 대하여 실루엣 점수를 나열한 실루엣 다이어그램을 분석하여...
- 클러스터의 두께 (클러스터에 속한 샘플의 갯수) 가 고르고
- 실루엣 점수보다 개별 실루엣 점수가 높을수록
잘 분류 된것으로 볼 수 있다.
DBSCAN
지정한 거리내의 샘플과 이웃 관계를 맺으며 이를 확장해 나가는 알고리즘이다.
순서
- 한 샘플에 대하여 지정한 거리 내에 위치한 경우 이를 이웃으로 정의한다.
- 이웃이 지정한 개수 이상 모이면 핵심 샘플로 정의한다.
- 핵심 샘플의 이웃을 구성하는 샘플은 모두 동일한 클러스터로 정의한다.
- 이 과정을 반복하여 클러스터를 확장한다.
- 핵심샘플도 아니고, 이웃도 아닌 샘플은 이상치로 판단한다.
특징
- 클러스터의 모양, 개수에 무관하다. 이상치에 안정적이다.
- 하이퍼 파라미터가 두개 뿐이다 : 이웃 거리, 핵심 샘플이 되기 위한 최소 샘플 개수.
- 샘플의 밀집도가 높아지면 구분하기 힘들다.
가우시안 혼합
샘플이 알려지지 않은 여러개의 가우시안 분포의 혼합이란 가정하에 가우시안 분포 형태로 클러스터링을 수행한다.
가우시안 혼합모델
- k 개의 클러스터가 있다고 가정한다.
- 각 샘플을 랜덤하게 k 개의 클러스터에 맵핑한다.
- 각 클러스터의 평균과 공분산을 업데이트 한다.
- 클러스터의 가중치를 업데이트 한다.
- (클러스터의 가중치를 고려하며) 2번으로 돌아간다
가우시안 혼합모델은 반드시 전역 최저점에 도달한다는 보장이 없다. 따라서 여러개의 랜덤 시작 포인트를 기준으로 클러스터링을 수행하되 그 중 가장 최적 모델을 선택한다.
베이즈 가우시안 혼합모델
기본 가우시안 혼합모델은 클러스터가 k 개라 가정한다. 베이즈 모델에서는 가중치를 부여하고 가중치를 또 하나의 확률 변수로 간주한다. 베이즈 정리를 바탕으로 최종적으로 유의미한 클러스터만 0이 아닌 가중치를 갖게 되고 나머지 는 가중치가 0 이 되어 샘플을 할당하지 않게된다. 이를 바탕으로 가정 없이, k 개의 클러스터로 분류할 수 있음을 안다.
'개발 > 머신러닝' 카테고리의 다른 글
[요약] 핸즈온 머신러닝 - 10. 케라스를 사용한 인공 신경망 소개 (0) | 2022.06.09 |
---|---|
[요약] 핸즈온 머신러닝 - 08. 차원 축소 (0) | 2022.05.30 |
[요약] 핸즈온 머신러닝 - 07. 앙상블 학습과 랜덤 포레스트 (0) | 2022.05.29 |
[요약] 핸즈온 머신러닝 - 06. 결정 트리 (0) | 2022.05.27 |
[요약] 핸즈온 머신러닝 - 05. SVM (0) | 2022.05.24 |