Clustering
2021-1ํ๊ธฐ, ๋ํ์์ โํต๊ณ์ ๋ฐ์ดํฐ๋ง์ด๋โ ์์ ์ ๋ฃ๊ณ ๊ณต๋ถํ ๋ฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ง์ ์ ์ธ์ ๋ ํ์์ ๋๋ค :)
โClustering refers to a braod set of techniques for partitioning a dataset into homogeneous subgroups called clusters.โ
โจ How can we define the โhomogeneityโ?
์ด๋ฒ ํฌ์คํธ์์ ์ฐ๋ฆฌ๋ โclusteringโ์ ์ํํ๋ 3๊ฐ์ง ๋ฐฉ์์ ๋ํด ์ดํด๋ณผ ๊ฒ์ด๋ค.
- Distance-based clustering
- Hierarchical clustering
- Model-based clustering
K-means clustering
Algorithm for partitiong a dataset into $k$ subgroups.
์ด๋, number of cluster $K$๋ ๋ฏธ๋ฆฌ ์ ํด์ ธ์ผ ํจ! (HOW?)
<K-means>์์ ์ฐ๋ฆฌ๋ <within-cluster variation measure>๋ฅผ ์ ์ํด ์ฌ์ฉํ๋ค!!
For a set $C \subset \{ 1, 2, \dots, n\}$, the within-cluster variation measure $W(C)$ is
\[W(C) = \frac{1}{\left| C \right|} \sum_{\begin{aligned} i, j &\in C \\ i &< j \end{aligned}} \left\| x_i - x_j \right\|_2^2\]โป small value of $W(C)$ may represent a good cluster.
์ฆ, <within-cluster variation>์ cluster ๋ด์์์ variance๋ฅผ ์ธก์ ํ๋ ์งํ์ธ ๊ฒ์ด๋ค!
์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ $C_1, \dots, C_K$์ ์งํฉ์ผ๋ก ๋ถํ ํ๋ค๋ฉด, ์ด๊ฒ์ ์๋์ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
\[\underset{C_1, \dots, C_K}{\text{minimize}} \left\{ \sum_{k=1}^K W(C_k) \right\}\]Algorithm. Brute Force
๋์ด๋ธํ๊ฒ ์ ๊ทผํด๋ณด์๋ฉด, $n$๊ฐ ๋ฐ์ดํฐ๋ฅผ $K$๊ฐ ๋ถ๋ถ์งํฉ์ผ๋ก ๋ถํ ํ๋ ๊ฐ์ง์๋ $K^n$์ด๋ค. ์ฆ, ๋์ด๋ธํ ์ ๊ทผ์ exponential complexity๊ฐ ๊ฑธ๋ฆฌ๋ ์์ฃผ ์ด๋ ค์ด ๋ฌธ์ ๋ค ใ ใ
๊ทธ๋์ Brute Force์ ๊ฐ์ ๋ฐฉ์์ด ์๋๋ผ, ์ ๋ฌธ์ ์ sub-optimal solution์ ์ฐพ๋ ๋ฐฉ์์ผ๋ก <K-means clustering>์ ์ํํ๋ค!
Algorithm. K-means Algorithm
1. Randomly partition $\{1, \dots, n \}$ into $K$ clusters.
2. Repeat the following until converges.
โโ - For each cluster, compute the cluster centroid.
โโ - Assign each obs to the cluster whose centroid is the closest.
figure from ISLR
๊ทธ๋ฆผ์ ๋ณด๋ฉด, 2๋ฒ๋ง์ ์๋ ดํ ๊ฒ์ ๋ณผ ์ ์๋ค!!
โจ NOTE: <K-means algorithm> is guaranteed to decrease $W(C)$ because
\[W(C_k) = \frac{1}{\left| C \right|} \sum_{\begin{aligned} i, j &\in C \\ i &< j \end{aligned}} \left\| x_i - x_j \right\|_2^2 = \sum_{i \in C_k} \left\| x_i - \bar{x}_k \right\|_2^2\]where $\bar{x}_k$ is mean of cluster $C_k$.
์ ์ ๋
์ถํ์ ์ ๋ฐ์ดํธ!
<K-means algorithm>์ global optimum์ด ์๋๋ผ local optimum์ ์ฐพ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์๋ค.
<K-means algorithm>์ ๊ฒฐ๊ณผ๋ initial cluster์ ๋ฐ๋ผ ๋ฐ๋๊ธฐ ๋๋ฌธ์, ์๋ก ๋ค๋ฅธ ๋ช๊ฐ์ง initial cluster๋ก ์ฌ๋ ค๋ฒ ๋๋ ค๋ณด๋ ๊ฒ์ด ๊ถ์ฅ๋๋ค.
figure from ISLR
๊ทธ๋ฆผ์ ๋ณด๋ฉด, ํ๋์ ํํ๋ก cluster๊ฐ ๊ฒฐ์ ๋๋ ๊ฒ์ด ์๋๋ค.
์ ๊ทธ๋ฆผ์์๋ 2, 3, 4, 5๋ฒ์งธ์ ๊ฒฝ์ฐ๋ก clustering ๋๋ ๊ฒ์ด ์ฐ์ธํ๋ค.
Hierarchical Clustering
<Hierarchical Clustering>์์๋ โdendrogramโ์ด๋ผ๋ ๊ฒ์ ํตํด cluster๋ฅผ ๋๋๊ณ , ๋ ๊ทธ ๊ณ์ธต์ ๋ถ์ํ๋ค.
figure from ISLR
์ ๊ทธ๋ฆผ์ ๋ฐํ์ผ๋ก ์ด๋ป๊ฒ <Hierarchical Clustering>์ ์ํํ๊ณ , โdendrogramโ์ ๋ง๋๋์ง ์ดํด๋ณด์.
๋จผ์ , ์์ 2์ฐจ์ ๋ฐ์ดํฐ ๋ถํฌ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ์ ์ ์ฐพ๋๋ค. ์ฌ๊ธฐ์๋ (5, 7)์ด๋ค. ๋ ์ ์ ์ผ์ชฝ์ dendrogram์ ํ์ํ๊ณ , ๋ ์ ์ ํ๋์ cluster๋ก ๋ฌถ๋๋ค. cluster ํ๋๊ฐ ์ถ๊ฐ๋ ๋ฐ์ดํฐ ๋ถํฌ์์ ๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ์ ์ ์ฐพ๋๋ค. ์ฌ๊ธฐ์๋ (1, 6)์ด๋ค. ์ด ๋ ์ ์ ์ผ์ชฝ์ dendrogram์ ํ์ํ๊ณ , ๋ ํ๋์ cluster๋ก ๋ฌถ๋๋ค. ๋ ์งํํ๋ฉด, ์ด๋ฒ์๋ ((5, 7), 8)์ด ๊ฐ์ฅ ๊ฐ๊น์ด ์์ด๋ค. ์ด๊ฒ์ ์ผ์ชฝ์ dendrogram์ ํ์ํ๋ค. โฆ (continue) โฆ
๋ฐฉ๋ฒ์ ์ ๋ง ๊ฐ๋จํ๋ค!! ํ์ง๋ง, ์ฌ๊ธฐ์๋ ๋ช๊ฐ์ง ์ด์๊ฐ ์๋ค. ๊ทธ๊ฒ์ ๋ฐ๋ก โcluster-point ๊ฑฐ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ์ธก์ ํ ๊ฒ์ธ๊ฐโ๋ค!
๋ โ์ โ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํ๋ ๊ฒ์ ๊ฐ๋จํ๊ฒ ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ๋ก ์ธก์ ํ ์ ์๋ค.
๊ทธ๋ฌ๋ cluster-point, cluster-cluster์ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํ๋ ๊ฒ์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ๊ฐ๋ฅํ๋ค.
- Complete linkage: maximal intercluster dissimilarity
- Single linkage: minimal intercluster dissimilarity
- Average linkage: mean intercluster dissimilarity
- Centroid linkage: dissimilarity between the centroids
๋ณดํต โcomplete linkageโ์ โaverage linkageโ๋ฅผ ์ฌ์ฉํ๋ค. โcentroid linkageโ์ ๊ฒฝ์ฐ, ์์๊ฐ ์ญ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์, ๊ถ์ฅํ์ง ์๋๋ค.
Cluster ์ฌ์ด ๊ฑฐ๋ฆฌ๋ non-decreasing ํด์ผ ํ๋๋ฐ, ์ด ๊ฒฝ์ฐ๋ 8L ๋ค์์ 7L์ด ๋์ด inversion์ด ์๊ฒผ๋ค.
Spectral Clustering
๐ฅ ์ ๋ง ํน์ดํ Clustering ๋ฐฉ์์ด๋ค. ๋ด์ฉ์ด ์กฐ๊ธ ์ด๋ ค์ฐ๋ ์ง์คํ์!
Traditional clustering (ex. K-means) does not work well when clusters are non-convex. <Spectral Clustering> is designed for these situations.
์ผ๋จ ๋ฐ๋น ์ ํจ-์ค
์ด๋ฒ ํฌ์คํธ์์ ์ดํด๋ณธ ๋ฐฉ์์ ๋ชจ๋ ํด๋ฆฌ์คํฑ ๋ฐฉ๋ฒ๋ค์ด๋ค. ์ด์ด์ง๋ ํฌ์คํธ์์๋ ๋ชจ๋ธ(model)์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ <Model-based clustering>์ ์ดํด๋ณธ๋ค. <Mixture Model>, <EM-Algorithm> ๋ฑ ๋ฌด์๋ฌด์ํ ๊ฒ๋ค์ด ์์ฐฝ ๋์จ๋ค;;