개발/머신러닝

[요약] 핸즈온 머신러닝 - 09. 비지도 학습

소년택이 2022. 5. 31. 22:59

비지도 학습은 사람이 레이블을 붙일 필요 없이 알고리즘이 스스로 학습하는것을 말한다.

군집

정의

비슷한 샘플을 구별해 하나의 클러스터 또는 비슷한 샘플의 그룹으로 할당하는 작업.

 

사용 예

  • 차원 축소 기법 : 각 클러스터에 대한 샘플의 친화성을 측정할 수 있다. k 개의 클러스터가 있어서 어느 클러스터와 가장 가까운지를 기준으로 분류를 할 수 있다면 이를 "k 차원으로 축소 했다"고 볼 수 있다.
  • 이상치 탐지 : 모든 클러스터에 대하여 친화성이 낮은 경우, 이상치로 판단할 수 있다.
  • 이미지 분할 : 이미지의 색상을 클러스터링 하여, 대표 색상으로 색상을 치환하는 기법. 이미지 탐지, 추적 시스템에 유용함.
  • 이미지 전처리 : 이미지 데이터를 모두 쓰는 대신, 이미지를 클러스터링하여 활용할 수 있다. 이는 차원 감소와 같은 효과를 가지고 온다.
  • 준지도 학습 : 클러스터링은 레이블이 없지만 클러스터의 대표 샘플에 레이블을 부여하고, 새 데이터가 특정 클러스터에 포함하는 경우 해당 레이블을 부여하는 레이블 전파를 통해 지도학습의 효과를 낼 수 있다.

 

k-평균

순서

  1. k 개의 센트로이드를 무작위로 선정한다.
  2. 샘플마다 가장 가까운 센트로이드를 레이블링한다.
  3. 클러스터의 평균점 (mean) 으로 센트로이드를 이동한다.
  4. 2번으로 돌아간다. 계속해서 반복한다.

 

한계

  • k-평균 알고리즘은 반드시 수렴하지만, 전역 최적점으로 수렴함을 보장하지 못한다. 초기 센트로이드 위치에따라 결과가 달라질 수 있다.
  • 클러스터의 크기나 밀집도가 다른 경우, 분포가 원형이 아닌 경우 잘 동작하지 않는다.
  • 최적의 결과를 위해 스케일링을 하거나, 분포에 알맞은 모델을 선택해야 한다.

 

개선된 알고리즘

  • 이미 선택한 센트로이드와 먼 곳에 있는 센트로이드에 가중치를 주고 무작위로 선택 (k-means++)
  • 랜덤 초기화를 하되 여러번 클러스터링을 하여 가장 좋은 솔루션 선택. 이때 이너셔 (샘플과 자신이 속한 클러스터의 센트로이드의 거리 합)를 지표로 사용한다.
  • 미니배치 : 센트로이드를 조금씩만 이동하기.

 

최적 클러스터 개수 찾기

k-평균의 클러스터 개수를 "직관적"으로 추정할 수는 있지만 산술적으로 추정하는것은 어렵다. 

  • k 를 바뀌가며 이너셔를 비교한다. 이너셔의 추세가 갑자기 바뀌는 개수 (=엘보) 를 최적으로 선택한다.
  • 모든 샘플의 실루엣 계수의 평균인 실루엣 점수를 이용한다.
    실루엣 계수 = $\frac{b-a}{max(a,b)$ 이때...
    $a = 샘플이 속한 클러스터의 다른 샘플까지의 평균 거리$
    $b = 샘플이 속한 클러스터를 제외한, 가장 가까운 클러스터까지의 평균 거리$
    따라서 결과는...
    - 분류가 잘 될수록 1점에 접근 (a가 b보다 작아지므로)
    - 경계에 있을 수록 0점에 접근 (a와 b가 비슷해지므로)
    - 잘못 분류하면 -1 점에 접근 (b가 a보다 커지므로)
    과 같아진다. 모든 클러스터에 대하여 실루엣 점수를 나열한 실루엣 다이어그램을 분석하여...
    - 클러스터의 두께 (클러스터에 속한 샘플의 갯수) 가 고르고
    - 실루엣 점수보다 개별 실루엣 점수가 높을수록
    잘 분류 된것으로 볼 수 있다.

 

DBSCAN

지정한 거리내의 샘플과 이웃 관계를 맺으며 이를 확장해 나가는 알고리즘이다.

순서

  1. 한 샘플에 대하여 지정한 거리 내에 위치한 경우 이를 이웃으로 정의한다.
  2. 이웃이 지정한 개수 이상 모이면 핵심 샘플로 정의한다.
  3. 핵심 샘플의 이웃을 구성하는 샘플은 모두 동일한 클러스터로 정의한다.
  4. 이 과정을 반복하여 클러스터를 확장한다.
  5. 핵심샘플도 아니고, 이웃도 아닌 샘플은 이상치로 판단한다.

 

특징

  • 클러스터의 모양, 개수에 무관하다. 이상치에 안정적이다.
  • 하이퍼 파라미터가 두개 뿐이다 : 이웃 거리, 핵심 샘플이 되기 위한 최소 샘플 개수.
  • 샘플의 밀집도가 높아지면 구분하기 힘들다.

 

가우시안 혼합

샘플이 알려지지 않은 여러개의 가우시안 분포의 혼합이란 가정하에 가우시안 분포 형태로 클러스터링을 수행한다.

가우시안 혼합모델

  1. k 개의 클러스터가 있다고 가정한다.
  2. 각 샘플을 랜덤하게 k 개의 클러스터에 맵핑한다.
  3. 각 클러스터의 평균과 공분산을 업데이트 한다.
  4. 클러스터의 가중치를 업데이트 한다.
  5. (클러스터의 가중치를 고려하며) 2번으로 돌아간다

가우시안 혼합모델은 반드시 전역 최저점에 도달한다는 보장이 없다. 따라서 여러개의 랜덤 시작 포인트를 기준으로 클러스터링을 수행하되 그 중 가장 최적 모델을 선택한다.

베이즈 가우시안 혼합모델

기본 가우시안 혼합모델은 클러스터가 k 개라 가정한다. 베이즈 모델에서는 가중치를 부여하고 가중치를 또 하나의 확률 변수로 간주한다. 베이즈 정리를 바탕으로 최종적으로 유의미한 클러스터만 0이 아닌 가중치를 갖게 되고 나머지 는 가중치가 0 이 되어 샘플을 할당하지 않게된다. 이를 바탕으로 가정 없이, k 개의 클러스터로 분류할 수 있음을 안다.