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 사용)
- 초기값 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를 골라야 하는지?
'Machine Learning' 카테고리의 다른 글
Chapter 9. Support Vector Machine (1) | 2023.08.31 |
---|---|
Chapter 7. Moving Beyond Linearity (1) | 2023.08.29 |
Chapter 6. Linear Model Selection and Regularization (0) | 2023.08.29 |
Chapter 5. Resampling Methods(재표본추출 방법) (0) | 2023.08.28 |
Chapter 4. Classification(분류) (1) | 2023.08.28 |