FUNDAMENTAL | 17. 비지도 학습

yeonk·2021년 10월 17일
0

aiffel-ai-bootcamp

목록 보기
30/38
post-thumbnail

20211015



1. 비지도 학습(Unsupervised Learning)


training data로 정답(label)이 없는 데이터로 학습.
데이터셋의 특징(feature) 및 패턴 기반으로 결론 도출

  • 비지도 학습의 예시

    • 군집화(클러스터링, clustering)

      • 명확한 분류 기준이 없는 상황에서 데이터를 분석하여 유사한 데이터끼리 묶는 작업

      • K-means, DBSCAN 알고리즘이 대표적

    • 차원 축소(dimensionality reduction)

      • PCA(Principal Component Analysis), T-SNE이 대표적






2. 클러스터링 - K-means


k 값이 주어지면 데이터들을 k 개의 클러스터로 묶는 알고리즘

  • 임의로 지정한 k개의 중심점이 새로운 label 역할

  • 유클리드 거리(Eucledian distance)

    • L2 Distance
    • 피타고라스 정리를 응용하여 계산한 좌표축 사이의 두 점 사이의 직선거리






K-mean 알고리즘의 순서

  • 클러스터의 수(K) 결정

  • K개의 중심점(centroid)을 선정

  • 각 점들과 모든 중심점 간의 유클리드 거리 계산 → 가장 가까운 거리를 가지는 중심점의 클러스터에 포함시킴

  • K개의 클러스터의 중심점 재조정

  • 각 클러스터에 속하는 모든 점들의 평균값 → 해당 클러스터 다음 iteration 중심점

  • 재조정된 중심점 기반 각 점과의 유클리드 거리 재계산 → 클러스터 재배정

  • 직전 2개의 과정을 반복 (반복 횟수는 사용자가 설정)








K-means 알고리즘이 부적합한 군집화 (예시 有)

  1. 군집의 개수(K 값)를 예측하기 어려운 경우(K 값를 미리 지정해야 하기 때문에)
  2. 데이터의 분포에 따라 유클리드 거리가 멀면서 밀접하게 연관되어 있는 데이터들의 군집화
    (유클리드 거리가 가까운 데이터끼리 군집이 형성되기 때문에 )
  • 원형으로 분포되어 있는 데이터: 각 원으로 분류하지 않고 중심점을 기준으로 군집화 함



  • 초승달 모양의 데이터: 두 개의 달 형태로 군집화 하지 않음



  • 3개의 대각선으로 나열된 데이터






3. 클러스터링 - DBSCAN


DBSCAN(Density Based Spatial Clustering of Applications with Noise) 알고리즘: 밀도(density) 기반의 군집 알고리즘

  • 군집의 개수를 미리 지정할 필요 없음

  • 몰려 있는 그룹을 군집화하는 방식을 사용 → 불특정한 형태의 군집을 찾는 것이 가능함

  • 클러스터가 최초의 임의의 점 하나로부터 점점 퍼져나감

    • 기준: 데이터의 밀도 (일정 반경 안의 데이터의 개수)
  • epsilon: 클러스터 반경 → 미리 지정해야 함

  • minPts: 클러스터 내 개체의 최솟값 → 미리 지정해야 함

  • core point: epsilon 내에 minPts 개 이상의 점이 존재하는 중심점

  • border point: 군집에 속하는 점

  • noise point: 군집에 속하지 않는 점

  • 데이터의 양이 많아질수록 수행 시간이 급격히 증가 (적은 데이터에서는 K-mean이 더 길다)






DBSCAN 순서

  • 임의의 점 p 설정 후 클러스터의 반경(elipson) 안에 포함되어 있는 점들의 개수 세기

  • 만약 그 원에 minPts 이상의 점이 포함되어 있으면, 해당 점 p를 core point로 하고 포함된 점들로 하나의 클러스터로 정함

  • 반대로 그 원에 minPts 개 미만의 점이 포함되어 있으면 그냥 넘어감

  • 모든 점에 대해 위 과정 반복

  • 점 p가 core point가 되고 이 점이 기존의 클러스터(p를 core point로 하는)에 속한다면, 두 개의 클러스터는 연결되어 있다고 판단 → 하나의 클러스터로 합침

  • 클러스팅 과정 후 core point지만 클러스터에 속하지 못하는 점이 있으면 noise point로 간주.

  • 특정 군집에는 속하지만 core point가 아닌 점 → border point






4. 차원 축소 - PCA


주성분분석(PCA): 데이터 분포의 주성분을 찾아주는 방법.
데이터의 고유한 물리적 정보량을 보존.
주성분: 데이터의 분산이 가장 큰 방향벡터

  • 차원 축소의 역할: 많은 정보 속에서 더 중요한 요소가 무엇인지를 구분

  • 데이터의 분산을 최대로 보존

  • 서로 직교하는 기저들을 찾아 고차원 공간을 저차원 공간으로 사영

    • 직교(orthogonal)
    • 기저(basis): 새로운 좌표계 역할을 할 수 있는 벡터의 모음
    • 사영(projection): 데이터를 X-Y, Y-Z 좌표축에 사영했다 → Z, X 좌표축을 무시했다는 뜻
    • 선형결합(linear combination)
  • 기존의 feature를 선형 결합(linear combination)하는 방식

  • 가장 중요한 기저 → 주성분(Principal Component) 방향 or pc축

  • 가장 분산이 길게 나오는 기저 방향을 찾아 그 방향의 기저만 남기고, 덜 중요한 기저 방향을 삭제하는 방식의 차원축소

  • feature 간 상관관계가 있고 이를 추릴 필요가 있을 때 유용






5. 차원축소 - T-SNE


T-SNE(T-Stochastic Neighbor Embedding): 기존 차원과 차원 축소된 공간에서도 변치않고 가깝게 거리가 유지되는 것을 목표로 함.
데이터들 간의 상대적 거리를 보존.
시각화에 많이 쓰임.

  • 분류기의 Feature Extractor 모델이 카테고리 간 분류 경계선을 잘 유지하고 있는지를 확인하는 용도로도 사용

  • T-SNE는 정보 손실량에 주목하지 않음

  • 저차원 축이 아무런 물리적 의미 X

  • 시각화에 유리






6. 요약


	출처: AIFFEL Fundamentals_ssac2 17. 비지도 학습






참고 자료


데이터 분석에서 나오는 수학 - 유클리디안 거리

DBSCAN - primo.ai

서포트 벡터 머신

0개의 댓글