본문 바로가기
Machine Learning

Chapter 10. Unsupervised Learning

by Mi.Ro 2023. 8. 31.

 

 

Textbook : An Introduction to Statistical Learning

표, 그래프는 위 textbook 참조

Unsupervised Learning(비지도학습)

  • features $X_1, X_2, ..., X_p$에 대한 설명변수 $Y$가 없음 → supervised learning에 비해 주관적이다.
  • 장점 : data를 얻기가 쉽다  unlabled data가 labeled data에 비해 얻기 쉬움

 

Principal Components Analysis(PCA, 주성분분석)

  • first principal components(첫 번째 주성분) : $X_1, X_2, ..., X_p$에서 가장 큰 분산을 가지게 되는 이 변수들의 normalized linear combination

$$Z_1=\phi_{11}X_1+\phi_{21}X_2+...+\phi_{p1}X_p$$

$\sum_{j=1}^{p}\phi_{j1}^2=1$ : normalized

$\phi_{11},...,\phi_{p1}$은 첫번째 주성분의 loading → loading vector $\phi_1=(\phi_{11},\phi_{21}...,\phi_{p1})^T$

 

  • 첫 번째 주성분 계산하기 : 분산에만 관심이 있기 때문에 X의 각 변수를 평균이 0이 되게 중심화(평균 중심화) → 가장 큰 표본 분산을 가지는 표본 변수값들의 선형결합을 찾는다.
  • 주성분 loading vector의 최적화 문제

$$ \underset{\phi_{11},...,\phi_{p1}}{maximize}\left\{ \frac{1}{n}\sum_{i=1}^{n}\left ( \sum_{j=1}^{p}\phi_{j1}x_{ij} \right )^2\right\}\, subject\,  to\,  \sum_{j=1}^{p}\phi_{j1}^2=1$$

  • 첫 번째 주성분의 loading vector는 data가 가장 많이 변화되는 변수공간의 방향 → n개 data points를 이 방향 위로 projection하면 그 값은 $z_{11},...,z_{n1}$가 됨
  • 두 번째 주성분 : $Z_1$과 uncorrelate된 $X_1,...,X_p$의 모든 선형결합 중 분산을 최대로 하는 선형결합 → loading vector $\phi_2$의 방향이 $\phi_1$의 방향과 직교한다.
  • 자료의 첫 세 주성분은 n개 관측치에 가장 가까운 3차원 hyperplane을 생성한다.
  • 변수마다 측정 단위가 다를수 있어서 scaling이 필요하다.

 

Clustering

  • data set에서 subgroup 또는 cluster를 찾는 방법
  • data를 서로 다른 그룹으로 분리, 같은 그룹 내에서는 similar하게, 다른 그룹과는 different하게 나눔 → domain specific한 기준
  • Market segmentation에서 많이 사용

K-means Clustering

  • 자료를 K개의 서로 다른 겹치지 않는 cluster로 분할($C_1,...,C_K$)
  • cluster 수 K를 정함 → 각 관측치를 K cluster 중 하나에 할당함
  • Optimization problem

$$\underset{C_1,...,C_K}{minimize}\left\{ \sum_{k=1}^{K}WCV(C_k)\right\}$$

$$WCV(C_k)=\frac{1}{|C_k|}\sum_{i,i'\in C_k}\sum_{j=1}^{p}(x_{ij}-x_{i'j})^2$$

  • K-Means Clustering Algorithm

1. 각 관측치에 1~K까지 숫자를 랜덤하게 할당(초기 cluster 할당)

2. cluster 할당이 변하지 않을 때까지 다음을 반복

   2-1. K개 cluster 각각에 대해 centroid를 계산한다. k-th cluster의 centroid는 cluster 내 관측치들에 대한 p feature 평균 벡터이다.

   2-2. 각 관측치를 centroid가 가장 가까운 cluster에 할당한다.(가장 가까운 = Euclidean distance 사용)

 

K-means clustering 과정

  • 초기값 random assignment : K-means clustering은 global min이 아닌 local min을 찾으므로 초기값을 다르게 여러 번 실행하는 것이 중요

 

Hierarchical Clustering(계층적 clustering)

  • K-means clustering의 단점은 cluster의 수 K를 미리 지정해야 한다는 것 → 계층적 clustering은 K값 지정이 필요 없음
  • bottom-up 또는 agglomerative clustering : dendrogram(거꾸로 된 나무)이 잎에서 시작해서 줄기까지 cluster를 결합하여 만들어짐. → 가까운 것끼리 묶어서 전체를 합침
  • Hierarchical Clustering Algorithm(bottom-up)

1. 관측치 각각을 cluster로 취급

2. 가장 가까운(비유사성이 낮은) 2개 cluster를 찾아서 merge함

3. 모든 관측치가 하나의 cluster로 묶일때까지 2를 반복

 

  • Dendrogram의 해석 : 하나의 dendrogram은 임의의 수의 cluster를 얻는데 사용될 수 있다. → 높이와 원하는 cluster수를 기반으로 잘라서 얻음
  • Linkage(Cluster간 거리 비교방법) : 어떤 기준으로 cluster를 merge할 것인가?

1. Complete : 최대 cluster간 비유사성. 모든 쌍별 비유사성을 계산해서 비유사성이 가장 큰 것 기록

2. Single : 최소 cluster간 비유사성. 모든 쌍별 비유사성을 계산해서 비유사성이 가장 작은 것을 기록

3. Average : 평균 cluster간 비유사성. 모든 쌍별 비유사성을 계산해서 비유사성의 평균을 기록

4. Centroid : 두 cluster의 무게중심 사이의 비유사성.

  • Dissimilarity(비유사성) 측도 : Euclidean distance 외에 다른 비유사성 측도가 사용될 수 있음.(예 : 상관 기반의 거리(corrlation-based distance)는 두 관측치 변수의 상관성이 높으면 거리가 멀어도 유사하다고 간주) dendrogram에 큰 영향을 주기 때문에 중요함.

Clustering practical issues

  • 관측치 또는 변수들이 standardize되어야 하는가?
  • Hierarchical clustering : 어떤 비유사성 측도를 사용해야 하는지? 어떤 linkage를 사용해야 하는지?
  • K-means clustering : 몇 개의 cluster를 골라야 하는지?