Nearest Neighbor Classification
- ์ด๋ค training example์ด target์ ๊ฐ์ฅ ๊ฐ๊น์ด์ง ํ์ธํด์ class label์ ๋ถ์ด๋ ๊ฒ
- distance function์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ํ๋ ๊ฒ์ด ์ค์
- ์ฅ์ : simplicity, interpretability, non-linearity
- k-nearest neighbor
Distance Metrics
๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ
- d(x, y) >= 0 for all x, y (positivity)
- d(x, y) = 0 iff x = y (identity)
- d(x, y) = d(y, x) (symmetry)
- d(x, y) <= d(x, z) + d(z, y) (triangle inequality)
Not a Metric
๋ค์๊ณผ ๊ฐ์ ์์ฐ ์ ์ฌ์ฑ ์ธก์ ๊ฐ๋ค์ distance metric์ด ์๋๋ค.
- correlation coefficient (-1~1)
- cosine similarity, dot product
- mutual information measures
- cheapest airfare
Euclidean Distance Metric
c_i : weighted sum
- ์ต์ํ ์ ๊ทํ๋ฅผ ํตํด ์ฐจ์์ ๋น๊ต๊ฐ๋ฅํ๊ฒ ํด์ผ ํจ
L_k Distance Norms
- ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ผ๋ฐํํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์ฌ์ฉ
- k=1 ์ผ ๋, Manhattan distance metric
- k=∞ ์ผ ๋, maximum component
- k๋ largest and total dimensional difference ์ฌ์ด์ tradeoff๋ฅผ ์กฐ์
p1(2, 0), p2(1.5, 1.5) ์ค (0, 0)์์ ๋ ๋จผ ์ ์?
- k=1์ผ ๋, k=2์ผ ๋, k=∞์ผ ๋ ๋จผ ์ ์ด ๋ค๋ฅด๋ค.
- distance metric์ ์ด๋ค ์ ์ด ๋ ๊ฐ๊น์ด์ง ์ค์
Circles for different k
- L_k circle์ ๋ชจ์์ ์์ ์ ๋ํด ์ด๋ ํ ์ ์ด ๋๋ฑํ ๊ฒ๋ค์ธ์ง ๋ํ๋ธ ๊ฒ
Projections from higher dimensions
- Projection method (ex.SVD): ํํ ๋ณต์ก๋๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฐจ์์ ์ถ์
- nearest neighbor๋ ์๋ ๊ณต๊ฐ์ ๋นํด ํ๊ณ ํด์ง ๊ฒ
Regression / Interpolation by NN
- NN์ด๋ผ๋ ์ปจ์
์ function interpolation์ ์ด์ฉํ ์ ์๋ค.
- k๊ฐ์ ๊ทผ์ ์ ์ ๊ฐ์ ํ๊ท ์ ๋ด๋ ๋ฐฉ์
- weighted average scheme๋ (1) distance rank, (2) actual distances์ ์ํด ๋ฐ๋ผ ์ ๋ค์ ๋ค๋ฅด๊ฒ ๊ฐ์ ๋งค๊ธธ ์ ์๋ค.
- ๋ถ๋ฅ์๋ ๋น์ทํ ๋ฐฉ์์ ์ด์ฉํ ์ ์๋ค.
Gender Classification by Height/Weight
- k๊ฐ ์ปค์ง๋ฉด ๋ ๋งค๋๋ฌ์ด ๊ตฌ๋ถ์ ์ ๋ง๋ค ์ ์์
Seeking good analogies
- ๋ง์ ์ง์์ ๋ถ์ผ๋ analogy(๋น์ )์ ๊ธฐ์ดํด ์๋ค.
* Law: ์ด๋ค ๋ฒ์ ํ๋ก๊ฐ ์ด ์ฌ๋ก์ ๋น์ทํ๊ฐ?
* Medicine: ๋น์ทํ ์ฆ์์ ๊ฐ์ก๋ ํ์๋ฅผ ๊ณผ๊ฑฐ์ ์ด๋ป๊ฒ ์น๋ฃํ๊ณ , ๊ทธ ํ์๊ฐ ์ด์๋จ์๋๊ฐ?
* Real Estate: ์ด์ ์ง์ญ์ ๋น๊ต ๊ฐ๋ฅํ ์์ฐ์ด ์ด๋์ ๋ ๊ฐ๊ฒฉ์ ํ๋ ธ๋๊ฐ?
Finding Nearest Neighbors
- n๊ฐ์ ์ ์ด ์ฃผ์ด์ง d์ฐจ์์์ NN์ ๊ตฌํ๋ ๊ฒ์ O(nd)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
- training set์ด ์ปค์ง๊ฑฐ๋ ์ฐจ์์ด ์ปค์ง๋ฉด ์๊ฐ์ด ๊ต์ฅํ ๋ง์ด ๋ ๋ค.
-> grid indices, kd-trees, Voronoi diagrams, locality sensitive hashing ๋ฑ์ ์ด์ฉ
Voronoi Diagrams / Kd-trees
- Voronoi Diagrams: ๊ฐ์ฅ ๊ทผ์ ํ ์ด์์ ๊ณต์ ํ๋ ์ง์ญ์ผ๋ก ๊ณต๊ฐ์ ๋ถํ
- kd-tree ๋ฑ์ ์ ์ฐจ์์์ ๊ฐ์ฅ ๊ทผ์ ํ ์ด์์ ์ฐพ๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- ์ ํํ NN search๋ ์ถฉ๋ถํ ๊ณ ์ฐจ์์ ๋ฐ์ดํฐ์ ๋ํด์๋ linear research๋ก ์ถ์๋์ด์ผ ํ๋ค.
Grid files
- ์ผ์ ํ ๊ฐ๊ฒฉ์ผ๋ก ๋๋์ด์ง ๊ฒฉ์์ ์ฐํ ์ ์ ๋ฒ์ผํ
(Bucketting) ํ๋ ๊ฒ์ ์ ์ฌ์ฑ์ผ๋ก ์ ๋ค์ ๊ทธ๋ฃนํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์
- ์ฐจ์์ด ์ฆ๊ฐํ๋ฉด index๋ expensiveํด์ง๋ค. -> ์ฃผ๋ณ ๊ฒฉ์๋ค๋ ๋ชจ๋ ํ์ํด์ผ ํ๋ฏ๋ก, exponentialํ๊ฒ ์ฆ๊ฐํ ์๋ฐ์ ์์
์ผ: Voronoi Diagram / ์ค: Grid file
Locality Sensitive Hashing
- Hashing์ ์ด์ํ๋ ์ ์ด ๊ฐ์ bucket์ผ๋ก hash ๋์์ ๋ NN search๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์งํ๋ ์ ์๋๋ก ํจ
* hashing: ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด hash key ๊ฐ์ ๊ฐ์ ธ์์ ๋น ๋ฅด๊ฒ ์ฐพ๋๋ก ํจ
- normal hashing์ distance bucket์ผ๋ก ์ ์ฌํ ์ ๋ค์ ํผ๋จ๋ฆผ
- Locality Sensitive Hashing (LSH): ์ ์ด๋ ๋ฒกํฐ a, b๋ฅผ ๊ฐ์ ธ์์ a๊ฐ b์ ์ธ์ ํ๋ฉด h(a)=h(b)์ผ ๊ฒ์ด๋ผ๊ณ ์๊ฐํจ.
LSH for points on a sphere
1) ์์ ์ ๊ฐ๋ก์ง๋ฅด๋ ๋๋ค ๋ฉด์ ์ ํ
2) ์๋ก ์ด์ํด ์๋ค๋ฉด ๋ ์ ์ ๊ทธ ๋ฉด์ ๊ฐ์ ๋ฉด์ ์กด์ฌํ ๊ฒ์. (์ผ์ชฝ ๋๋ ์ค๋ฅธ์ชฝ)
3) d๊ฐ์ ๋๋ค ๋ฉด์ ๋ํ L/R ํจํด์ d-bit LSH hash code๋ฅผ ์์ฑ
์์๋ฅผ ์ดํด๋ณด์! ํ๋ ์ ์ ์ ๋ํด์ ์ฝ๋๋ฅผ ์ดํด๋ณผ ๊ฒ.
1๋ฒ ์ ์ ๊ทธ์์ ๋, ํด๋น ์ ์ ์ค๋ฅธ์ชฝ์ ์์ด์ 0
2๋ฒ ์ ์ ๊ทธ์์ ๋ ํด๋น ์ ์ ์ผ์ชฝ์ ์์ด์ 1
3๋ฒ ์ ์ ์ค๋ฅธ์ชฝ์ด๋ฏ๋ก 0
4๋ฒ ์ ์ ์ผ์ชฝ์ด๋ฏ๋ก 1 --> ์ต์ข
LSH ์ฝ๋๋ 0101
Network data
vertices
edges
social network
people
friendships
WWW
pages
hyperlinks
Product/customer networks
product, customer - bipartite graph
sales
genetic networks
genes
interactions
Point Sets and Graphs
- Point set: graph๋ฅผ ์ ์ํจ -> x, y ์ ์ด ์๋ก ์ด์ํ๋ฉด (x, y) edge๋ฅผ ์ถ๊ฐ / threshold ๊ธฐ์ค์ผ๋ก ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ฐ๋ฉด ๊ธ๊ธฐ
- graph: point set์ ์ ์ํจ -> ์ธ์ ํ๋ ฌ์ SVD๋ฅผ ์ํ
ex) 2์ฐจ์ SVD๋ฅผ ์งํํ์ฌ, ์ฃผ์ฑ๋ถ 1/2๊น์ง ๋ฝ์๋ด๊ธฐ
Classical Graph Algorithms
- ๋ vertices ์ฌ์ด์ ์ต์ ๊ฑฐ๋ฆฌ๋ ๊ณง ๊ทธ๋ํ์์์ ๊ฑฐ๋ฆฌ๊ฐ ๋๋ค.
- ์ต์ ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋ ํด๋์ํ ์๊ณ ๋ฆฌ์ฆ, connected components, spanning trees, cuts, flows, matchings, topological sorting ๋ฑ์ด ์ ์ฉ๋ ์ ์์
PageRank
- PageRank(v, G): G์์์ random walk๊ฐ vertex v์ ๋ฉ์ถ๋ค๋ ๋ป
- ๋ฐ๋ณต์ ์ผ๋ก ์ ์๋จ
- ์ค์ ์ํฉ์์๋ ๋น ๋ฅด๊ฒ ์๋ ดํจ.
- ์) ์ค์ํ ์น๊ตฌ๊ฐ ํ๋ฅผ ํฌ์ํ๊ฒ ๋๋ ์ค ๋ -> ๊ณ์ ์
๋ฐ์ดํธ๊ฐ ๋์ด ๋ณํ์ง ์๊ฒ ๋จ (์๋ ด)
- centrality, importance ๋ฑ์ ์ธก์ ํ๋ ๋ฐ ์ค์ํ ์งํ๋ก ์ฌ์ฉ๋จ
- ์) ์ํคํผ๋์ ํ์ด์ง
- PageRank์์ ์ฌ์ฉํ ์ ์๋ ์์ฌ ๊ฒฐ์
* ๊ด๋ จ์ฑ์ด ๋จ์ด์ ธ๋ณด์ด๋ vertices/edges ํธ์ง
* outdegree๊ฐ 0์ธ vertices ๋ค๋ฃจ๊ธฐ
* random jump์ ํ๊ฐํ๋ ๋ฌธ์ : damping factor
Clustering
- ์ ์: ์ ์ฌ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์ ๊ทธ๋ฃนํํ๋ ๋ฌธ์
- ์์๋ค์ด ์ ์ ์์ source๋ก๋ถํฐ ์ ๋ํ ์ํฉ์ ์ด๋ฌํ origin์ ๋ํ๋ด๊ธฐ ์ํด ํด๋ฌ์คํฐ๋ง์ ์ด์ฉํ ์ ์๋ค.
- ill-defined problem: ๋ณด๋ ์ฌ๋์ ๋ฐ๋ผ ํด๋ฌ์คํฐ๋ฅผ ๋๋๋ ๊ธฐ์ค์ด ๋ฌ๋ผ์ง ์ ์์. ์ฃผ๊ด์ ์ธ ๋ถ๋ถ
- ์์: ์ ์ ์ ๋ฐ์ดํฐ ๊ทธ๋ฃนํ
- ํด๋ฌ์คํฐ๋ง์ ์ฌ์ฉํ๋ ์ด์
* hypothesis development: ๋ด ๋ฐ์ดํฐ์ ๊ตฌ๋ณ๋๋ ๋ฐ์ดํฐ๊ฐ ์ผ๋ง๋ ์๋๊ฐ?
* Modeling over smaller groups: ๊ฐ๊ฐ์ ํด๋ฌ์คํฐ์ ๋ํด ๊ตฌ๋ถ๋๋ ์์ธก ๋ชจ๋ธ์ ์์ฑํ ์ ์์
* Data reduction: ๊ฐ ํด๋ฌ์คํฐ์ centroid๋ฅผ ์ด์ฉํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ๋์ฒด/๋ํ
* Outlier detection: ์ด๋ค ํญ๋ชฉ์ด ํด๋ฌ์คํฐ์ ์ค์ฌ์ผ๋ก๋ถํฐ ๋ฉ๋ฆฌ ๋จ์ด์ ธ์๊ฑฐ๋ ์์ฃผ ์์ ํด๋ฌ์คํฐ์ ๊ฐํ์๋๊ฐ?
K-means Clustering
- ์ ์: k๊ฐ์ ์ ์ ์ค์ฌ์ผ๋ก ์ ์ -> ๋ชจ๋ ํญ๋ชฉ๋ค์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ค์ฌ์ ํ ๋น -> ์ค์ฌ์ ๋ค์ ๊ณ์ฐ -> ์ด ๊ณผ์ ์ ๊ณ์ ๋ฐ๋ณตํ์ฌ ์ถฉ๋ถํ ์์ ๋๋๋ก ํจ
- ๋ฌธ์ ์ : local optima์ ๊ฐํ ์ํ์ด ์์
Centroids or Center Points?
- Centroid: color, gender ๋ฑ ์ซ์๋ก ์ ์๋์ง ์์ ํน์ฑ์ ๋ํด ๊ทธ๋ฃนํ๋ฅผ ์งํํ ๋๋ ๋ช
ํํ์ง ์๋ค.
* ๋ณดํต ์ด๋ฌํ ๋ฐ์ดํฐ์์๋ one-hot encoding์ผ๋ก ์ธ์ฝ๋ฉ ์งํ
- center๋ก input example ์ค ๊ฐ์ฅ ๊ฐ์ด๋ฐ์ ๊ฐ๊น์ด ์ ์ ์ด์ฉํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์๋ฏธ์๋ ๊ฑฐ๋ฆฌ ํจ์๋ฅผ ์ด์ฉํ๊ธฐ๋ง ํ๋ค๋ฉด k-means๋ฅผ ์ด์ฉํ ์ ์๋ค๋ ๋ป์ด๋ค.
How Many Clusters?
- ์ฌ๋ฐ๋ฅธ ํด๋ฌ์คํฐ์ ๊ฐ์๋ ํด๋ฌ์คํฐ๋ง์ ์งํํ๊ธฐ ์ ์๋ ์ ์ ์๋ค.
- ํด๋ฌ์คํฐ๋ฅผ ๋ํด๊ฐ ๋, ์ ๊ณผ ์ค์ฌ ์ฌ์ด์ MSE ๊ฐ์ ์ ์ง์ ์ผ๋ก ๊ฐ์ํด์ผ ํ๋ค.
- ์ฌ๋ฐ๋ฅธ ํด๋ฌ์คํฐ์ ๊ฐ์๋ฅผ ์ด๊ณผํ๊ฒ ๋๋ฉด MSE ๊ฐ์ด ๊ฐ์ํ๋ ์๋๊ฐ ๋๋ ค์ง๋ค.
elbow method๋ก ์ต์ ํด๋ฌ์คํฐ ๊ฐ์ ๊ตฌํ๊ธฐ
K-means์ ํ๊ณ
- nested cluster, long thin cluster์ ๋ํด์ ์ข์ง ์์ ์ฑ๋ฅ์ ๋ณด์
- ๋ฐ๋ณต์ ์ผ๋ก ํด๋ฌ์คํฐ๋ง์ ์งํํ๋ ๊ฒ์ local optima๋ฅผ ํผํ ์ ์๊ฒ ํจ (random seed ๊ฐ์ ๋ฌ๋ฆฌ ํจ)
Expectation Maximization (EM)
- EM ์๊ณ ๋ฆฌ์ฆ์ ๋ํ์ ์ธ ์์๊ฐ K-means
- E-step: ์ถ์ ๋๋ ํด๋ฌ์คํฐ์ ์ ์ ํ ๋น
- M-step: ํ ๋น์ ์ด์ฉํ์ฌ parameter ์ถ์ ์ ํฅ์์ํด
Agglomerative Clustering
- ์ด๋ฐ bottom up ๋ฐฉ์์ ๋ฐ๋ณต์ ์ผ๋ก 2๊ฐ์ ๊ทผ์ ํ ํด๋ฌ์คํฐ๋ฅผ ๋ณํฉ์ํด
๊ฐ์ฅ ๊ฐ๊น์ด ํด๋ฌ์คํฐ๊ฐ ์๋ฏธํ๋ ๊ฒ
- ๋ณดํต Average, Centroid ๋ฐฉ์์ ์ฑํ
Linkage Criteria
Advantages of Cluster Hierachies
- ํด๋ฌ์คํฐ ๋ฐ ์๋ธํด๋ฌ์คํฐ์ ์กฐ์งํ
- ํด๋ฌ์คํฐ๋ง ๊ณผ์ ์๊ฐํ
- ์๋ก์ด ํญ๋ชฉ์ ํด๋ฌ์คํฐ๋ง์ ํจ์จ์ ์ผ๋ก ํ ์ ์์
์ด๋ค ํด๋ฌ์คํฐ๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ๊น?
- ์ฌ๋ฐ๋ฅธ ๊ฑฐ๋ฆฌ ํจ์ ์ฌ์ฉ
- ์ฌ๋ฐ๋ฅด๊ฒ ๋ณ์๋ฅผ ์ ๊ทํ
- ์ต์ข
ํด๋ฌ์คํฐ๋ฅผ ์๊ฐํํด์ ์ ๋๋ก ๋์๋์ง ํ์ธํ๊ธฐ