ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [IMLP] Chapter 3. 비지도 학습과 데이터 전처리 (3)
    Machine Learning 2022. 5. 23. 12:02

    ** 본 챕터는 탐색적 데이터 분석과 데이터 전처리에 사용할 수 있는 비지도 학습 알고리즘!

    ** 이미지를 이용한 예제가 많았는데 사실 내 개인연구에는 많이 쓰이지는 않아서 이전처럼 꼼꼼히 공부하진 않았음

     

    [군집]

    - 데이터셋을 클러스터라는 그룹으로 나누는 작업

     

    #. k-평균 군집

    - k-평균 군집은 데이터의 어떤 영역을 대표하는 클러스터 중심을 찾음: 먼저 데이터 포인트를 가장 가까운 클러스터 중심에 할당하고, 클러스터에 할당된 데이터 포인트의 평균으로 클러스터 중심을 다시 지정하여 데이터 포인트에 변화가 없을 때 알고리즘이 종료됨

    - 대각선으로 늘어서 있는 특성을 가진 데이터 그룹을 잘 처리하지 못함

    - 벡터 양자화 또는 분해 메서드로서의 k-평균: k-평균을 각 포인트가 하나의 성분으로 분해되는 관점으로 보는 것을 벡터 양자화라 함

    - k-평균의 단점은 1) 무작위 초기화를 사용하여 알고리즘의 출력이 난수 초깃값에 따라 달라지고, 2) 찾으려 하는 클러스터의 개수 지정해야 하고, 3) 클러스터 모양을 가정하고 있어 활용 범위가 제한적

     

    #. 병합 군집

    - 시작할 때 각 포인트를 하나의 클러스터로 지정하고 어떤 종료 조건 만족할 때까지 가장 비슷한 두 클러스터를 합쳐나감

    - scikit-learn의 옵션: ward(모든 클러스터 내의 분산을 가장 작게 증가시키는 두 클러스터를 합침), average (클러스터 포인트 사이의 평균 거리가 가장 짧은 두 클러스터를 합침), complete (최대 연결이라고도 하며 포인트 사이의 최대 거리가 가장 짧은 두 클러스터를 합침)

    - ward가 대부분의 데이터셋에 알맞음

    - 새로운 데이터 포인트에 대한 예측은 할 수 없으므로 predict 메서드가 없음

    - 훈련 세트로 모델 만들고 클러스터 소속 정보 얻기 위해 fit_predict 메서드 사용

    - 계층적 군집과 덴드로그램: 병합 군집은 계층적 군집을 만들며 이러한 계층 군집을 시각화하는 덴드로그램 (scikit-learn으로 그릴 수 없지만 SciPy 사용 가능)

     

    #. DBSCAN

    - density-based spatial clustering of applications with noise

    - 클러스터 개수 미리 지정할 필요 없고 어떤 클래스에도 속하지 않는 포인트 구분 가능

    - 가까이 있는 데이터가 많아 붐비는 지역의 포인트(밀집 지역) 찾고 밀집 지역에 있는 포인트를 핵심 샘플이라고 함

    - 매개변수: min_samples .. eps 거리 안에 min_samples 개수만큼 들어 있으면 핵심 샘플로 분류함

    - eps 안에 있는 포인트 수가 min_samples보다 적다면 어떤 클래스에도 속하지 않는 잡음(noise)으로 레이블함

     

    #. 군집 알고리즘의 비교와 평가

    - 알고리즘이 잘 작동하는지 평가하거나 여러 알고리즘의 출력을 비교하기가 매우 어려움

    - 타깃값으로 군집 평가하기 : 1(최적일 때)과 0 (무작위로 분류됨) 사이의 값을 제공하는 ARI (adjusted rand index)와 NMI (normalized mutual information)

    - 타깃값 없이 군집 평가하기: 실루엣 계수(밀집 정도를 계산하여 높을수록 좋은데 최대 점수는 1)

Designed by Tistory.