본문 바로가기

Study/Hands-On Machine Learning

[Book] 9. 비지도 학습(군집)

Book Title : Hands-On Machine Learning with Scikit-Learn, Keras & TF

지은이 : 오렐리아 제롱

옮긴이 : 박해선 

출판사 : 한빛미디어

코드 출처

https://github.com/rickiepark/handson-ml2

 

GitHub - rickiepark/handson-ml2: 핸즈온 머신러닝 2/E의 주피터 노트북

핸즈온 머신러닝 2/E의 주피터 노트북. Contribute to rickiepark/handson-ml2 development by creating an account on GitHub.

github.com

9. 비지도 학습(군집)

  • 지도 학습과는 달리 학습 데이터에 대한 목푯값(라벨 값)이 없음

군집(Clustering)

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

군집이 사용되는 경우들

고객 분류
  • 고객을 구매 이력이나 웹사이트 내 행동 등을 기반으로 클러스터로 모을 수 있음
  • 고객이 누구인지, 고객이 무엇을 원하는지 이해하는데 도움이 되며, 고객 그룹에 맞는 맞춤 전략을 세울 수 있음
  • 예를 들면, 군집을 사용한 추천 시스템을 만들 수 있음
데이터 분석
  • 각 클러스터 끼리 데이터를 분석하면 도움이 되는 경우가 있음
차원 축소 기법
  • 한 데이터셋에 군집 알고리즘을 적용하면 각 클러스터에 대한 샘플의 친화성(affinity)을 측정할 수 있음
친화성은 샘플이 클러스터에 얼마나 잘 맞는지를 측정함

용어 정리

이상치 탐지
  • 모든 클러스터에 친화성이 낮은 샘플은 이상치일 가능성이 높음.
  • 예를 들면 웹사이트 내 행동을 기반으로 클러스터를 만들었다면, 초당 웹서버 요청을 비정상적으로 많이 요청하는 사용자를 감지할 수 있음
  • 특히 제조 분야 결함 감지와 부정 거래 감지에 사용됨
준지도 학습
  • 레이블된 샘플이 적다면 군집을 수행하고 동일한 클러스터에 있는 모든 샘플에 레이블을 전파할 수 있음
이미지 분할
  • 색을 기반으로 픽셀을 클러스터로 모으고 각 픽셀의 색을 해당 클러스터의 평균 색으로 바꿈. 이는 이미지에 있는 색상의 종류를 크게 줄입니다.
색상의 종류를 왜 줄여?
물체의 윤곽을 감지하기 쉬워져 물체 탐지 및 추적 시스템에서 이미지 분할을 많이 활용할 수 있음
실루엣 점수(최적의 클러스터 개수를 선택하는 방법) 
  • 실루엣 계수(silhouette)의 평균
  • 실루엣 계수 계산식 : (b-a) / max(a, b)
  • a : 동일한 클러스터에 있는 다른 샘플까지 거리(즉, 클러스터 내부의 평균 거리)
  • b : 가장 가까운 클러스터까지 평균 거리(즉, 가장 가까운 클러스터의 샘플까지 평균 거리
능동 학습
  • 모델과 훈련 세트를 지속적으로 향상하기 위해 '능동 학습(active learning)'을 몇 번 반복할 수 있음
  • 이 방법은 전문가가 학습 알고리즘과 상호작용하여 알고리즘이 요청할 때 특정 샘플의 레이블을 제공함.
  • 능동 학습에는 여러 전략이 있는데 가장 널리 사용되는 것 중 하나는 불확실성 샘플링(uncertainty sampling) 임

불확실성 샘플링 작동 방식

  1. 지금까지 수집한 레이블된 샘플에서 모델을 훈련하며 이 모델을 사용해 레이블 되지 않은 모든 샘플에 대한 예측을 만듦
  2. 모델이 가장 불확실하게 예측한 샘플(추정 확률이 낮은 샘플)을 전문 가게 보내 레이블을 붙임
  3. 레이블을 부여하는 노력만큼의 성능이 향상되지 않을 때까지 이를 반복

처음 듣는 군집 알고리즘들

BIRCH(balanced iterative reducing and clustering using hierarhies)

  • 대규모 데이터셋을 위해 고안됨
  • 특성 개수가 너무 많지 않다면(20개 이하) 배치 k-평균 보다 빠르고 비슷한 결과를 만듦

평균 이동

  • 이 알고리즘은 먼저 각 샘플을 중심으로 하는 원을 그리며 원마다 단에 포함된 모든 샘플의 평균을 구함
  • 그리고 원의 중심을 평균점으로 이동시키는데, 모든 원이 움직이지 않을 때까지 평균-이동을 계속함(즉, 원의 중심이 포함된 샘플의 평균점일 때까지)
  • 평균-이동은 지역의 최대 밀도를 찾을 때까지 높은 쪽으로 원을 이동시킴

스펙트럼 군집

  • 샘플 사이의 유사도 행렬을 받아 저 차원 임베딩을 만듬(즉, 차원을 축소함)
  • 그다음 이 저차원 공간에서 또 다른 군집 알고리즘을 사용함
  • 스펙트럼 군집은 복잡한 클러스터 구조를 감지하고 그래프 컷을 찾는 데 사용할 수 있음

Q. 레이블 전파란?

데이터셋에 레이블을 부여하는데 많은 시간과 비용이 듭니다. 따라서 보통 레이블이 없는 샘플은 많고 레이블이 있는 샘플은 적기 때문에 레이블이 있는 샘플의 일부를 레이블이 없는 비슷한 샘플에 복사하는 기법입니다.