이번 슬라이드는 Graph mining의 기초에 대한 것이다.
고전 문제인 Graph cut에 대한 개념과 수학적인 배경을 설명하고, 이 개념이 clustering (클러스터링)에서 어떻게 사용되는지를 설명한다.
Graph mining, cut, clustring의 기초를 알기에 매우 적합한 자료이다.
2. K-means clustering을 이용하여, (또는, 유클리디안 공간 위의 데이터의
집합을 나눌 때 사용하는 clustering 알고리즘을 이용하여) 위의 objects을
𝐾개의 집단으로 나누어 보자.
각각의 objects은 유클리디안 공간의 데이터로 mapping 된다.
3. 그리고 각각의 데이터는 20차원의 실수로 된 특성 벡터(feature vector)라고
가정해 보자.
K-means 알고리즘을 돌릴 때 마다, 모든 데이터와 centroids의 거리(similarity)가
계산된다.
(1, 2, 3, 10, 8, -3, -8, 9, 10, 5, 0, 12, -9, 8, 1, 1000, 3, 987, 38, 10)
(-80, 32, 13, 1, 0, 0, -8, 91, 1, 15, 20, 32, 1, -98, 3, 1, 3000, 1876, 3, -11)
.............................
.............................
.............................
4. 이처럼, 각각의 데이터가 20차원의 특성 벡터라면, 데이터를 다루거나 저장하기가
간편하지 않다.
즉, objects을 특성벡터를 가진 데이터로 변환하게 되면, 데이터를 다루기가 쉽지
않은 상황이 발생 할 가능성이 있다.
Clustering에서 중요한 것은, 데이터간의 similarity이다.
데이터 개개인의 물리량보다 데이터간의 similarity에 집중할 수 있는 방법이
없을까?
1
2
8
7
7
1.6
0.5
4
2
2.5
5. 데이터 자체 보다, 데이터 사이의 관계(similarity)에 더 집중하는 방법은 Graph를
통해서 달성 될 수 있다.
1
2
8
7
7
1.6
0.5
4
2
2.5
1
2
8
7
7
1.6
0.5
4
2
2.5
V1
V2
V3
V4
V3
graph networks 위에서
clustering을 수행하자.
6. 여기서 주의할 것은, graph를 이용한 clustering이, 유클리디안 공간 위의 데이터에
대한 clustering의 대안으로 발견된 것이 아니라는 것이다.
graph를 이용한 clustering과 유클리디안 공간 위의 데이터에 대한 clustering은
각각 장단점이 있다.
graph를 이용한 clustering이, 후자에 대한 단점을 극복할 수 있는 장점이
있을 수 있으나, 후자를 대체하는 기법이라고 생각해서는 안 된다.
grpah를 이용한 clustering은 데이터 개개인 자체의 물리량 보다는 데이터간의
관계(similarity)에 집중 할 수 있다는 장점이 있다.
또한, 수학의 역사에서 오랜 부분 발전해 온 다양한 graph theory의 도움을 받아서,
objects을 graph 구조로 변환 시킨다면, 다양한 이슈(clustering, web mining, community
detection 등)를 비교적 손쉽게 해결 할 수 있다는 장점이 있다.
8. Step 1 : Data를 Graph 구조로 변형(transformation)
Step 2 : Graph Partitioning 또는 Graph Clustering 수행
9. 𝑛개의 data 𝑋1, … , 𝑋 𝑛과 data사이의 similarity(유사도) 𝑊 𝑋𝑖, 𝑋𝑗 , 𝑖, 𝑗 ∈ {1, … , 𝑛} 가
주어졌을 때, data를 그룹(clusters)로 나누어라(partition). 단, 같은 그룹 안의 data
사이는 유사함이 높고(similar / higher similarity), 서로 다른 그룹의 data 사이는
유사함이 낮다(dissimilar / lower similarity).
𝑛개의 node(vertex)와 edge weight 𝑊𝑖𝑗 , 𝑖, 𝑗 ∈ {1, … , 𝑛}를 가진 Graph를 그룹
(clusters)로 나누어라(partition). 이 때, 같은 그룹 안에 존재하는 node(vertex) 사
이의 edge weight는 높아야 하며, 다른 그룹의 node(vertex) 사이의 edge weight
는 낮아야 한다.
10. Graph
○ Graph는 vertex(node)와 edge의 집합이다. 2개의 vertex는 edge로 연결 될 수 있다.
○ 𝑉를 vertex의 집합이라 하고, 𝐸를 edge의 집합이라고 할 때, graph 𝐺 = (𝑉, 𝐸)이다.
○ degree of node
① 특정 node에 연결 된 edge의 수
ex) node 1의 degree : 3, node 6의 degree : 1
vertex
edge
11. Undirected graph
○ Edge의 방향이 존재하지 않는다.
Directed graph
○ Edge이 방향이 존재한다.
degree : 2
in degree : 2
out degree : 1
13. Step 1 : Data를 Graph 구조로 변형(transformation)
𝑑1, 𝑑2는 similarity(유사도)가 높다. similarity가 높으면,
graph에서 높은 edge weight를 가지게 된다. 예를 들어 𝑊 𝑣1, 𝑣2 = 5
𝑑2
𝑑1
𝑑3
𝑑2 𝑑3는 similarity(유사도)가 낮다. similarity가 낮으면,
graph에서 낮은 edge weight를 가지게 된다. 예를 들어 𝑊 𝑣2, 𝑣3 = 1
𝑣3
𝑣2
data set
similarity graph
𝑣1
15. Similarity graph construction
○ data point를 graph의 node로 대응시키고, data point 사이의 similarity를 가지고
node 사이의 edge를 생성(construction)할 때, edge가 존재하는지 안 하는지, 더 나아
가 edge의 weight가 얼마인지를 결정하는 방법은 다양하다.
① 𝜖-Nearest Neighbor
– 𝑊𝑖𝑗 = 1 if 𝕩𝑖 − 𝕩𝑗 ≤ 𝜖
– 𝑊𝑖𝑗 = 0 if otherwise
② 𝐾-Nearest Neighbor
– 𝑊𝑖𝑗 = 1 if 𝕩𝑖 or 𝕩𝑗 is 𝑘 nearest of the other.
– 𝑊𝑖𝑗 = 0 if otherwise
③Gaussian kernel similarity function
– 𝑊𝑖𝑗 = 𝑒
𝕩 𝑖−𝕩 𝑗
2𝜎2
𝕩𝑖
𝕩𝑗
ex) 3-NN
16. Step 2 : Graph Partitioning 또는 Graph Clustering 수행
17. How to partition a graph into 𝟐 clusters?
(먼저, graph를 두 개의 cluster로 나누는 graph cut을 생각해 보자.)
18. Graph cut
○ graph를 두 개의 vertices의 set 𝐴, 𝐵로 나눈다고 할 때, 각각의 set 𝐴와 set 𝐵를 cut이라
고 한다.
○ graph를 두 개의 vertices의 set 𝐴, 𝐵로 나눈다고 할 때, set 𝐴안에 있는 vertices에서 set
𝐵안에 있는 vertices로 연결된 edge의 weight들의 합을 cut의 size라고 한다.
𝑐𝑢𝑡 𝐴, 𝐵 =
𝑖∈𝐴,𝑗∈𝐵
𝑤𝑖𝑗
Min-cut problem
○ graph를 두 개의 set 𝐴, 𝐵로 나누어라. 단, set 𝐴안에 있는 vertices에서 set 𝐵안에 있는
vertices로 연결된 edge의 weight들의 합이 최소가 되게 하라.
min 𝑐𝑢𝑡 𝐴, 𝐵 =
𝑖∈𝐴,𝑗∈𝐵
𝑤𝑖𝑗
빨간색 edges의 weight의 합을
최소로 만들자!
19. ○ Min-cut problem을 풀 때의 문제점
①때때로 고립 된 vertex를 선택한다.
②따라서, cut에 의하여 나눠 지는 set 𝐴, 𝐵에 대한 제약 조건이 필요하다.
이상적인 cut
그러나, 이상적인 cut
보다 낮은 weight를
가지고 있는 cut을
선택하게 된다.
20. Min-cut problem
○ graph를 두 개의 set 𝐴, 𝐵로 나누어라. 단, set 𝐴안에 있는 vertices에서 set 𝐵안에 있는
vertices로 연결된 edge의 weight들의 합이 최소가 되게 하라. 그리고 set 𝐴와 set 𝐵의
크기(size)를 매우 비슷하게 하라.
min 𝑐𝑢𝑡 𝐴, 𝐵 =
𝑖∈𝐴,𝑗∈𝐵
𝑤𝑖𝑗 & 𝑠𝑖𝑧𝑒 𝑜𝑓 𝐴 𝑎𝑛𝑑 𝐵 𝑎𝑟𝑒 𝑣𝑒𝑟𝑦 𝑠𝑖𝑚𝑖𝑙𝑎𝑟.
○ set 𝐴와 set 𝐵의 크기(size)를 측정하는 서로 다른 두 가지 방법이 있다.
①|𝐴| := set 𝐴 에 속하는 vertices의 개수
② 𝑣𝑜𝑙(𝐴) := σ𝑖∈𝐴 𝑑𝑖 where 𝑑𝑖 = σ 𝑗=1
𝑛
𝑤𝑖𝑗
(𝑑𝑖가 의미하는 것은 vertex 𝑖에서 뻗어 나간 edges의 weight의 합)
21. 𝒄𝒖𝒕 𝑨, 𝑩 가 작은 값을 갖기를 원한다.
+
𝑨의 size와 B의 size가 비슷하기를 원한다.
How?
예를 들어,
𝑐𝑢𝑡(𝐴,𝐵)
|𝐴|
를 생각해 보자.
𝑐𝑢𝑡(𝐴, 𝐵)
|𝐴|
분모가 작아 지고, 동시에 분자도 작아 지기 때문에
전체의 값은 빠르게 감소하지 않는다.
𝑐𝑢𝑡(𝐴, 𝐵)
|𝐴|
하지만 이 경우, 분모가 작아지고, 동시에 분자가 커지기 때문에
전체의 값은 빠르게 감소한다.
앞으로 cut의 크기를 정의 그대로의 𝒄𝒖𝒕(𝑨, 𝑩) 대신에 살짝 변형된
𝒄𝒖𝒕(𝑨,𝑩)
|𝒔𝒊𝒛𝒆 𝒐𝒇 𝒄𝒖𝒕|
의 합으로 정의하여 구하자.
22. ○ Balanced Min-Cut
𝐦𝐢𝐧
𝑨,𝑩
𝒄𝒖𝒕(𝑨, 𝑩) 𝒔. 𝒕. 𝑨 = 𝑩
○ Ratio Cut
𝑹𝒂𝒕𝒊𝒐𝑪𝒖𝒕 𝑨, 𝑩 ≔ 𝒄𝒖𝒕 𝑨, 𝑩
𝟏
𝑨
+
𝟏
𝑩
①Ratio Cut의 크기는
𝑐𝑢𝑡(𝐴,𝐵)
|𝐴|
+
𝑐𝑢𝑡(𝐴,𝐵)
|𝐵|
이다.
②주어진 목적 함수(object function)의 최소값은 𝐴 = |𝐵| 일 때 성립한다.
왜냐하면
1
𝐴
+
1
𝐵
의 최소값은 𝐴 = |𝐵| 일 때 성립하기 때문이다.
○ Normalized Cut
𝑵𝑪𝒖𝒕 𝑨, 𝑩 ≔ 𝒄𝒖𝒕(𝑨, 𝑩)
𝟏
𝒗𝒐𝒍(𝑨)
+
𝟏
𝒗𝒐𝒍(𝑩)
①Normalized Cut의 크기는
𝑐𝑢𝑡(𝐴,𝐵)
𝑣𝑜𝑙(𝐴)
+
𝑐𝑢𝑡(𝐴,𝐵)
𝑣𝑜𝑙(𝐵)
이다.
②주어진 목적 함수(object function)의 최소값은 𝑣𝑜𝑙(𝐴) = 𝑣𝑜𝑙(𝐵) 일 때 성립한다.
왜냐하면
1
𝑣𝑜𝑙(𝐴)
+
1
𝑣𝑜𝑙(𝐵)
의 최소값은 𝑣𝑜𝑙(𝐴) = 𝑣𝑜𝑙(𝐵)일 때 성립하기 때문이다.
23. Ratio Cut과 Normalized Cut을 계산하는 문제는 NP-Hard 문제이다. 즉
polynomial time안에 계산 할 수 없다.
우리는 이것을 풀기 위해 relaxation(완화)를 사용할 것이다. 다음 페이지에서 살펴
보자.
24. In mathematical optimization, a relaxation is an approximation of a difficult
problem by a nearby problem that is easier to solve. A solution of the relaxed
problem provides information about the original problem.
Definition (minimization problem)
○ an minimization problem A, 𝑧 = min{𝑐 𝑥 : 𝑥 ∈ 𝑋 ⊆ ℝ 𝑛
}
○ another minimization problem B, 𝑧 𝑅 = min{𝑐 𝑅 𝑥 : 𝑥 ∈ 𝑋 𝑅 ⊆ ℝ 𝑛
}
○ B is a relaxation of A with two properties
① X ⊆ 𝑋 𝑅
② 𝑐 𝑅(𝑥) ≤ 𝑐(𝑥) for all 𝑥 ∈ 𝑋
Properties (minimization problem)
○ 𝑥∗
가 original problem의 optimal solution이면, 𝑥∗
∈ 𝑋 ⊆ 𝑋 𝑅이고, 𝑧 𝑅 ≤ 𝑐 𝑅 𝑥∗
≤
𝑐 𝑥∗
= 𝑧
○ 1, 2의 가정에, 𝑐 𝑅 𝑥 = 𝑐 𝑥 , ∀𝑥 ∈ 𝑋의 가정이 더해지면, relaxed problem의 optimal
solution은 original problem에서 실현 가능한 해(feasible solution)이며, original
problem의 optimal solution이다.
25. Graph Cut을 수학적으로 표현해 보자!!
Some graph notation
○ 𝑊 = (𝑤𝑖𝑗) adjacency matrix of the graph
①Graph의 vertex 𝑖, 𝑗 사이의 edge가 존재하면 matrix의 𝑖행 𝑗열에, 그 edge의
weight를 입력한다.
𝑊 =
26. ○ 𝑑𝑖 = σ 𝑗 𝑤𝑖𝑗
①Vertex 𝑖의 degree를 의미한다. 즉, vertex 𝑖에 연결 된 edges의 weight의 합을 의
미한다.
○ Degree Matrix 𝐷 = 𝑑𝑖𝑎𝑔(𝑑1, … , 𝑑 𝑛)
𝐷 =
27. ○ Laplacian Matrix
① graph를 표현하는 matrix
② 𝐿 = 𝐷 − 𝑊
③ 𝐿의 각 row의 합은 0이다.
– 𝐷의 𝑖 열의 𝑑𝑖 는 vertex 𝑖 의 degree
– 𝑊의 𝑖 열의 원소들은 vertex 𝑖에서 각각의 vertex와 연결 된 edge의 weight
𝐿 =
29. 더 나아가기에 앞서, 선형대수의
1. Eigenvector와 Eigenvalue
2. Positive-semidefinite
에 대해서 알아보자.
Go to appendix 1
Go to appendix 2
30. Recall, clustering!
우리는 data를 2개의 cluster로 나누려고(partitioning) 한다.
Step 1 : Data를 Graph 구조로 변형(transformation)
Step 2 : Graph Partitioning 또는 Graph Clustering 수행
especially, using graph cut!
31. Balanced min-cut 문제
○ 𝑐𝑢𝑡 𝐴, 𝐵 의 정의
① 𝑓 = 𝑓1, … , 𝑓𝑛
𝑇
라고 하자. 그리고 각 𝑓𝑖는 다음의 조건을 만족한다고 하자.
– 𝑓𝑖 = 1 if 𝑉𝑖 ∈ 𝐴
– 𝑓𝑖 = −1 if 𝑉𝑖 ∈ 𝐵
𝑐𝑢𝑡 𝐴, 𝐵 ≔
𝑖∈𝐴,𝑗∈𝐵
𝑤𝑖𝑗 =
1
4
𝑖
𝑗
𝑤𝑖𝑗 𝑓𝑖 − 𝑓𝑗
2
=
1
2
𝑓 𝑇
𝐷 − 𝑊 𝑓 =
𝟏
𝟐
𝒇 𝑻
𝑳𝒇
Go to appendix 3
solution
32. 𝐦𝐢𝐧
𝒇∈𝑹 𝒏
𝒇 𝑻
𝑳𝒇 s.t. 𝒇 𝑻
𝟙 = 𝟎, 𝒇 𝑻
𝒇 = 𝟏
𝐦𝐢𝐧
𝒇∈𝑹 𝒏
𝒇 𝑻 𝑳𝒇
𝒇 𝑻 𝒇
s.t. 𝒇 𝑻
𝟙 = 𝟎
min
𝐴,𝐵
𝑐𝑢𝑡(𝐴, 𝐵) s.t. 𝐴 = |𝐵|
min
𝑓∈{−1,1} 𝑛
𝑓 𝑇 𝐿𝑓 s.t. 𝑓 𝑇 𝟙 = 0
● Balanced min-cut 문제의 솔루션
why? normalization & 영 벡터 방지
Relaxation
따라서, 우리가 구하고자 하는 solution 𝒇는 𝐿의 두 번째로 작은 고유 값에
대응하는 고유 벡터, 즉 두 번째 고유 벡터(second eigenvector)이다.
Go to appendix 4
33. Balanced min-cut problem의 solution 𝑓는 (unnormalized) graph laplacian 𝐿의
두 번째 고유 벡터(second eigenvector)였다.
그러면 두 번째 고유 벡터로 어떻게 cut을 생성할까?
○ vertex 𝑖 ∈ 𝐴, if 𝑓𝑖 ≥ 0
○ vertex 𝑖 ∈ 𝐵, if 𝑓𝑖 < 0
예를 들어, 𝐿의 두 번째 고유 벡터가 (1, -1, 0, -3, 4, 6, -5)
𝑣2 𝑣4
𝑣7
𝑣5
𝑣1
𝑣3
𝑣6
𝑓 : binary 𝑓 : eigenvector
Round
34. 𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴, 𝐵 문제
○ 𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴, 𝐵 의 정의
① 𝑓 = 𝑓1, … , 𝑓𝑛
𝑇
라고 하자. 그리고 각 𝑓𝑖는 다음의 조건을 만족한다고 하자.
– 𝑓𝑖 =
𝐵
𝐴
if 𝑉𝑖 ∈ 𝐴
– 𝑓𝑖 = −
𝐴
𝐵
if 𝑉𝑖 ∈ 𝐵
𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴, 𝐵 ≔
𝑐𝑢𝑡 𝐴, 𝐵
𝐴
+
𝑐𝑢𝑡 𝐴, 𝐵
|𝐵|
=
1
2 𝑉
𝑖
𝑗
𝑤𝑖𝑗 𝑓𝑖 − 𝑓𝑗
2
=
𝟏
𝒏
𝒇 𝑻 𝑳𝒇
𝐦𝐢𝐧
𝒇∈𝑹 𝒏
𝒇 𝑻 𝑳𝒇 s.t. 𝒇 𝑻 𝟙 = 𝟎, 𝒇 𝑻 𝒇 = 𝒏
35. 𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴1, 𝐴2, … , 𝐴 𝑘 문제
○ Given a partition of 𝑉 into 𝑘 sets, we define 𝑘 indicator vectors ℎ𝑗 = (ℎ1,𝑗, … , ℎ 𝑛,𝑗) by
① ℎ𝑖,𝑗 =
1
|𝐴 𝑗|
if 𝑣𝑖 ∈ 𝐴𝑗
② ℎ𝑖,𝑗 = 0 otherwise
for all (𝑖 = 1, … , 𝑛; 𝑗 = 1, … , 𝑘)
𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴1, … , 𝐴 𝑘 ≔
𝑖=1
𝑘
ℎ𝑖
𝑇
𝐿ℎ𝑖 =
𝑖=1
𝑘
𝐻 𝑇
𝐿𝐻 𝑖𝑖 = 𝑇𝑟(𝐻 𝑇
𝐿𝐻)
𝐦𝐢𝐧
𝑯∈ℝ 𝒏×𝒌
𝑻𝒓(𝑯 𝑻 𝑳𝑯) s.t. 𝑯 𝑻 𝑯 = 𝑰
36. Balanced min-cut problem의 relaxed solution은 unnormalized graph laplacian 𝐿
의 두 번째 고유 벡터(second eigenvector) 이다.
RatioCut problem의 relaxed solution은 unnormalized graph laplacian 𝐿의 두 번
째 고유 벡터(second eigenvector) 이다.
NormalizedCut problem의 relaxed solution은 normalized graph laplacian 𝐿′
=
𝐼 − 𝐷−1 𝑊의 두 번째 고유 벡터(second eigenvector) 이다.
38. Linear Transformation
○ 2개의 vector space 𝑉, 𝑊에 대하여,
○ 𝑉와 𝑊사이의 map 𝑇: 𝑉 ⟶ 𝑊
○ such that
① T 𝑉1 + 𝑉2 = 𝑇 𝑉1 + 𝑇(𝑉2)
② T 𝛼𝑉 = 𝛼𝑇(𝑉)
𝑉1𝑉2
𝑇(𝑉1)
𝑇(𝑉2)
𝑉1 + 𝑉2
𝑉 𝑊
𝑇(𝑉1 + 𝑉2)
𝑻
40. ○ 𝕪1의 경우를 살펴보자. 𝕪1의 선형변환은 자기자신의 scala 배에 해당하는 벡터가(2𝕪1)
된다.
○ 선형변환 𝐴𝕪1은 스칼라값 2와 벡터 𝕪1으로 설명가능하다.
○ 여기서 2는 𝐴의 고유값(eigenvalue), 벡터 𝕪1은 고유벡터(eigenvector)라고 한다.
ℝ2
𝐴𝕪1 = 𝕪2 = 2𝕪1
`
𝕪1
41. Eigenvector?
𝐴𝕩 = 𝜆𝕩
를 만족하는 𝜆를 행렬 𝐴의 고유 값(eigenvalue)이라 하고, 𝕩를 𝜆에 대응하는
𝐴의 고유 벡터(eigenvector)라고 한다.
고유 값을 구하기 위해서는 아래의 특성 방정식을 풀면 된다.
eigenvalues의 집합(multi set)을 spectrum, spectra라고 부른다.
det 𝐴 − 𝜆𝐼 = 0
𝐴 =
𝑎 𝑏
𝑐 𝑑
→ det 𝐴 = 𝑎𝑑 − 𝑏𝑐
42. non zero 𝑓 = 𝑓1, … , 𝑓𝑛
𝑇, 𝐿 𝑛×𝑛에 대하여,
𝒇 𝑻
𝑳𝒇 ≥ 𝟎
이면, 𝐿을 positive-semidefinite라고 한다.
Theorem : The following statement are equivalent.
○ The symmetric matrix 𝐿 is positive semidefinite.
○ All eigenvalues 𝜆1, 𝜆2, … , 𝜆 𝑛 of 𝐿 are nonnegative.
○ 0 is the smallest eigenvalues of 𝐿 which is correspond to eigenvector 𝟙.
① Eigenvalues 𝜆1 = 0, 𝜆2, … , 𝜆 𝑛 are ordered by ascending order.
② Eigenvector 𝕧1 = 𝟙, 𝕧2, … , 𝕧 𝑛 are correspond to above eigenvalues.
○ There exists 𝐵 such that 𝐴 = 𝐵 𝑇
𝐵.
43. 𝐿은 (Un-normalized) Graph Laplacian 이다.
𝐿의 각 row의 합은 0이다.
○ 𝐷의 𝑖 열의 𝑑𝑖 는 vertex 𝑖 의 degree
○ 𝑊의 𝑖 열의 원소들은 vertex 𝑖에서 각각의 vertex와 연결 된 edge의 weight
Spectral property of 𝐿
○ 𝐿의 가장 작은 고유 값(eigenvalue)은 0이고, 0에 대응되는 고유 벡터(eigenvector)는
𝟙 = 1, … . , 1 𝑇
이다.
𝐿𝟙 = 𝐷𝟙 − 𝑊𝟙 =
𝑑1
𝑑2
⋮
𝑑 𝑛
−
Σ𝑗 𝑤1𝑗
Σ𝑗 𝑤2𝑗
⋮
Σ𝑗 𝑤 𝑛𝑗
=
0
0
⋮
0
48. ○ 위 식은, 아직도 NP-hard이다. 따라서 우리는 𝑓를 더 쉽게(relax) 만들 것이다.
즉, 𝑓를 binary가 아닌 실수의 집합으로 확장할 것이다.
𝐦𝐢𝐧
𝒇∈𝑹 𝒏
𝒇 𝑻 𝑳𝒇 s.t. 𝒇 𝑻 𝟙 = 𝟎, 𝒇 𝑻 𝒇 = 𝟏
𝐦𝐢𝐧
𝒇∈𝑹 𝒏
𝒇 𝑻 𝑳𝒇
𝒇 𝑻 𝒇
s.t. 𝒇 𝑻 𝟙 = 𝟎
min
𝐴,𝐵
𝑐𝑢𝑡(𝐴, 𝐵) s.t. 𝐴 = |𝐵|
min
𝑓∈{−1,1} 𝑛
𝑓 𝑇 𝐿𝑓 s.t. 𝑓 𝑇 𝟙 = 0
● Balanced min-cut 문제를 풀어 보자.
why? normalization & 영 벡터 방지
49. 주어진 목적 함수의 해는, graph laplacian 𝐿의 고유 값(eigenvalue) 중에서 가장
작은 값이다. (Rayleigh-Ritz theorem)
만약, 𝑓가 𝐿의 고유 벡터(eigenvector) 라고 생각하자. 그러면,
즉, L의 가장 작은 고유 값은 0이므로, 0에 대응하는 고유 벡터 𝟙을 최적 해로 생각할
수 있다. 하지만, 주어진 조건에, 𝑓 𝑇
𝟙 = 0, 의하여 𝟙은 해가 될 수 없다.
따라서, 우리가 구하고자 하는 solution 𝒇는 𝐿의 두 번째로 작은 고유 값에 대응하는
고유 벡터, 즉 두 번째 고유 벡터(second eigenvector)이다.
𝐦𝐢𝐧
𝒇∈𝑹 𝒏
𝒇 𝑻 𝑳𝒇
𝒇 𝑻 𝒇
s.t. 𝒇 𝑻 𝟙 = 𝟎
𝑓 𝑇
𝐿𝑓
𝑓 𝑇 𝑓
=
𝑓 𝑇
𝜆𝑓
𝑓 𝑇 𝑓
= λ
back