06. graph mining

49
Jeonghun Yoon

Transcript of 06. graph mining

Page 1: 06. graph mining

Jeonghun Yoon

Page 2: 06. graph mining

K-means clustering을 이용하여, (또는, 유클리디안 공간 위의 데이터의

집합을 나눌 때 사용하는 clustering 알고리즘을 이용하여) 위의 objects을

𝐾개의 집단으로 나누어 보자.

각각의 objects은 유클리디안 공간의 데이터로 mapping 된다.

Page 3: 06. graph mining

그리고 각각의 데이터는 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)

.............................

.............................

.............................

Page 4: 06. graph mining

이처럼, 각각의 데이터가 20차원의 특성 벡터라면, 데이터를 다루거나 저장하기가간편하지 않다.

즉, objects을 특성벡터를 가진 데이터로 변환하게 되면, 데이터를 다루기가 쉽지않은 상황이 발생 할 가능성이 있다.

Clustering에서 중요한 것은, 데이터간의 similarity이다.

데이터 개개인의 물리량보다 데이터간의 similarity에 집중할 수 있는 방법이없을까?

1

28

7

7

1.6

0.5

42

2.5

Page 5: 06. graph mining

데이터 자체 보다, 데이터 사이의 관계(similarity)에 더 집중하는 방법은 Graph를통해서 달성 될 수 있다.

1

28

7

7

1.6

0.5

42

2.5

1

2

87

7

1.6

0.5

42

2.5

V1

V2

V3

V4

V3

graph networks 위에서clustering을 수행하자.

Page 6: 06. graph mining

여기서 주의할 것은, graph를 이용한 clustering이, 유클리디안 공간 위의 데이터에

대한 clustering의 대안으로 발견된 것이 아니라는 것이다.

graph를 이용한 clustering과 유클리디안 공간 위의 데이터에 대한 clustering은

각각 장단점이 있다.

graph를 이용한 clustering이, 후자에 대한 단점을 극복할 수 있는 장점이

있을 수 있으나, 후자를 대체하는 기법이라고 생각해서는 안 된다.

grpah를 이용한 clustering은 데이터 개개인 자체의 물리량 보다는 데이터간의

관계(similarity)에 집중 할 수 있다는 장점이 있다.

또한, 수학의 역사에서 오랜 부분 발전해 온 다양한 graph theory의 도움을 받아서,

objects을 graph 구조로 변환 시킨다면, 다양한 이슈(clustering, web mining, community

detection 등)를 비교적 손쉽게 해결 할 수 있다는 장점이 있다.

Page 7: 06. graph mining

문제 : 위의 objects을 graph를 이용하여 clusters로 나누어라!

Page 8: 06. graph mining

Step 1 : Data를 Graph 구조로 변형(transformation)

Step 2 : Graph Partitioning 또는 Graph Clustering 수행

Page 9: 06. graph mining

𝑛개의 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

는 낮아야 한다.

Page 10: 06. graph mining

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

Page 11: 06. graph mining

Undirected graph

○ Edge의 방향이 존재하지 않는다.

Directed graph

○ Edge이 방향이 존재한다.

degree : 2

in degree : 2out degree : 1

Page 12: 06. graph mining

Step 1 : Data를 Graph 구조로 변형(transformation)

Page 13: 06. graph mining

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 setsimilarity graph

𝑣1

Page 14: 06. graph mining

Similarity Graph 𝐺(𝑉, 𝐸,𝑊)

○ 𝑉 - vertices or nodes (data points)

○ 𝐸 - edge if similarity > thresholds(경계 값)

○ 𝑊 - edge weights (similarities)

data set

similarity graph

𝑑2

𝑑3

𝑑1

𝑑5

𝑑6

𝑑4

𝑑8 𝑑9

𝑑7

𝑣2

𝑣3

𝑣1

𝑣5

𝑣6

𝑣4

𝑣8𝑣9

𝑣7

𝑣1𝑣2𝑣3𝑣4𝑣5𝑣6𝑣7𝑣8𝑣9

𝑣1 𝑣2 𝑣3𝑣4𝑣5𝑣6𝑣7 𝑣8 𝑣9

similarity matrix

Page 15: 06. graph mining

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

Page 16: 06. graph mining

Step 2 : Graph Partitioning 또는 Graph Clustering 수행

Page 17: 06. graph mining

How to partition a graph into 𝟐 clusters?(먼저, graph를 두 개의 cluster로 나누는 graph cut을 생각해 보자.)

Page 18: 06. graph mining

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의 합을최소로 만들자!

Page 19: 06. graph mining

○ Min-cut problem을 풀 때의 문제점

①때때로 고립 된 vertex를 선택한다.

②따라서, cut에 의하여 나눠 지는 set 𝐴, 𝐵에 대한 제약 조건이 필요하다.

이상적인 cut

그러나, 이상적인 cut보다 낮은 weight를가지고 있는 cut을선택하게 된다.

Page 20: 06. graph mining

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의 합)

Page 21: 06. graph mining

𝒄𝒖𝒕 𝑨, 𝑩 가 작은 값을 갖기를 원한다. +

𝑨의 size와 B의 size가 비슷하기를 원한다.

How?

예를 들어, 𝑐𝑢𝑡(𝐴,𝐵)

|𝐴|를 생각해 보자.

𝑐𝑢𝑡(𝐴, 𝐵)

|𝐴|분모가 작아 지고, 동시에 분자도 작아 지기 때문에전체의 값은 빠르게 감소하지 않는다.

𝑐𝑢𝑡(𝐴, 𝐵)

|𝐴|하지만 이 경우, 분모가 작아지고, 동시에 분자가 커지기 때문에전체의 값은 빠르게 감소한다.

앞으로 cut의 크기를 정의 그대로의 𝒄𝒖𝒕(𝑨, 𝑩) 대신에 살짝 변형된𝒄𝒖𝒕(𝑨,𝑩)

|𝒔𝒊𝒛𝒆 𝒐𝒇 𝒄𝒖𝒕|의 합으로 정의하여 구하자.

Page 22: 06. graph mining

○ Balanced Min-Cut

𝐦𝐢𝐧𝑨,𝑩

𝒄𝒖𝒕(𝑨, 𝑩) 𝒔. 𝒕. 𝑨 = 𝑩

○ Ratio Cut

𝑹𝒂𝒕𝒊𝒐𝑪𝒖𝒕 𝑨,𝑩 ≔ 𝒄𝒖𝒕 𝑨,𝑩𝟏

𝑨+

𝟏

𝑩

①Ratio Cut의 크기는𝑐𝑢𝑡(𝐴,𝐵)

|𝐴|+

𝑐𝑢𝑡(𝐴,𝐵)

|𝐵|이다.

②주어진 목적 함수(object function)의 최소값은 𝐴 = |𝐵| 일 때 성립한다.

왜냐하면1

𝐴+

1

𝐵의 최소값은 𝐴 = |𝐵| 일 때 성립하기 때문이다.

○ Normalized Cut

𝑵𝑪𝒖𝒕 𝑨,𝑩 ≔ 𝒄𝒖𝒕(𝑨,𝑩)𝟏

𝒗𝒐𝒍(𝑨)+

𝟏

𝒗𝒐𝒍(𝑩)

①Normalized Cut의 크기는𝑐𝑢𝑡(𝐴,𝐵)

𝑣𝑜𝑙(𝐴)+

𝑐𝑢𝑡(𝐴,𝐵)

𝑣𝑜𝑙(𝐵)이다.

②주어진 목적 함수(object function)의 최소값은 𝑣𝑜𝑙(𝐴) = 𝑣𝑜𝑙(𝐵) 일 때 성립한다.

왜냐하면1

𝑣𝑜𝑙(𝐴)+

1

𝑣𝑜𝑙(𝐵)의 최소값은 𝑣𝑜𝑙(𝐴) = 𝑣𝑜𝑙(𝐵)일 때 성립하기 때문이다.

Page 23: 06. graph mining

Ratio Cut과 Normalized Cut을 계산하는 문제는 NP-Hard 문제이다. 즉

polynomial time안에 계산 할 수 없다.

우리는 이것을 풀기 위해 relaxation(완화)를 사용할 것이다. 다음 페이지에서 살펴

보자.

Page 24: 06. graph mining

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이다.

Page 25: 06. graph mining

Graph Cut을 수학적으로 표현해 보자!!

Some graph notation

○ 𝑊 = (𝑤𝑖𝑗) adjacency matrix of the graph

①Graph의 vertex 𝑖, 𝑗 사이의 edge가 존재하면 matrix의 𝑖행 𝑗열에, 그 edge의

weight를 입력한다.

𝑊 =

Page 26: 06. graph mining

○ 𝑑𝑖 = σ𝑗𝑤𝑖𝑗

①Vertex 𝑖의 degree를 의미한다. 즉, vertex 𝑖에 연결 된 edges의 weight의 합을 의

미한다.

○ Degree Matrix 𝐷 = 𝑑𝑖𝑎𝑔(𝑑1, … , 𝑑𝑛)

𝐷 =

Page 27: 06. graph mining

○ Laplacian Matrix

① graph를 표현하는 matrix

② 𝐿 = 𝐷 −𝑊

③ 𝐿의 각 row의 합은 0이다.

– 𝐷의 𝑖 열의 𝑑𝑖 는 vertex 𝑖 의 degree

– 𝑊의 𝑖 열의 원소들은 vertex 𝑖에서 각각의 vertex와 연결 된 edge의 weight

𝐿 =

Page 28: 06. graph mining

𝐷 𝑊 𝐿 = 𝐷 −𝑊

Page 29: 06. graph mining

더 나아가기에 앞서, 선형대수의

1. Eigenvector와 Eigenvalue

2. Positive-semidefinite

에 대해서 알아보자.

Go to appendix 1

Go to appendix 2

Page 30: 06. graph mining

Recall, clustering!

우리는 data를 2개의 cluster로 나누려고(partitioning) 한다.

Step 1 : Data를 Graph 구조로 변형(transformation)

Step 2 : Graph Partitioning 또는 Graph Clustering 수행

especially, using graph cut!

Page 31: 06. graph mining

Balanced min-cut 문제

○ 𝑐𝑢𝑡 𝐴, 𝐵 의 정의

① 𝑓 = 𝑓1, … , 𝑓𝑛𝑇 라고 하자. 그리고 각 𝑓𝑖는 다음의 조건을 만족한다고 하자.

– 𝑓𝑖 = 1 if 𝑉𝑖 ∈ 𝐴

– 𝑓𝑖 = −1 if 𝑉𝑖 ∈ 𝐵

𝑐𝑢𝑡 𝐴, 𝐵 ≔

𝑖∈𝐴,𝑗∈𝐵

𝑤𝑖𝑗 =1

4

𝑖

𝑗

𝑤𝑖𝑗 𝑓𝑖 − 𝑓𝑗2=1

2𝑓𝑇 𝐷 −𝑊 𝑓 =

𝟏

𝟐𝒇𝑻𝑳𝒇

Go to appendix 3

solution

Page 32: 06. graph mining

𝐦𝐢𝐧𝒇∈𝑹𝒏

𝒇𝑻𝑳𝒇 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

Page 33: 06. graph mining

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

Page 34: 06. graph mining

𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴, 𝐵 문제

○ 𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴, 𝐵 의 정의

① 𝑓 = 𝑓1, … , 𝑓𝑛𝑇 라고 하자. 그리고 각 𝑓𝑖는 다음의 조건을 만족한다고 하자.

– 𝑓𝑖 =𝐵

𝐴if 𝑉𝑖 ∈ 𝐴

– 𝑓𝑖 = −𝐴

𝐵if 𝑉𝑖 ∈ 𝐵

𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴, 𝐵 ≔𝑐𝑢𝑡 𝐴, 𝐵

𝐴+𝑐𝑢𝑡 𝐴, 𝐵

|𝐵|=

1

2 𝑉

𝑖

𝑗

𝑤𝑖𝑗 𝑓𝑖 − 𝑓𝑗2=𝟏

𝒏𝒇𝑻𝑳𝒇

𝐦𝐢𝐧𝒇∈𝑹𝒏

𝒇𝑻𝑳𝒇 s.t. 𝒇𝑻𝟙 = 𝟎, 𝒇𝑻𝒇 = 𝒏

Page 35: 06. graph mining

𝑅𝑎𝑡𝑖𝑜𝐶𝑢𝑡 𝐴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. 𝑯𝑻𝑯 = 𝑰

Page 36: 06. graph mining

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) 이다.

Page 37: 06. graph mining

http://www.cs.cmu.edu/~aarti/Class/10701/readings/Luxburg06_TR.pdf

http://ai.stanford.edu/~ang/papers/nips01-spectral.pdf

http://www.math.ucsd.edu/~njw/Teaching/Math271C/Lecture_03.pdf

Duality in Nonlinear Programming: A Simplified Applications-Oriented Development, A. M. Geoffrion

http://theory.stanford.edu/~trevisan/cs261/lecture07.pdf

Page 38: 06. graph mining

Linear Transformation

○ 2개의 vector space 𝑉, 𝑊에 대하여,

○ 𝑉와 𝑊사이의 map 𝑇: 𝑉 ⟶ 𝑊

○ such that

① T 𝑉1 + 𝑉2 = 𝑇 𝑉1 + 𝑇(𝑉2)

② T 𝛼𝑉 = 𝛼𝑇(𝑉)

𝑉1𝑉2

𝑇(𝑉1)

𝑇(𝑉2)

𝑉1 + 𝑉2

𝑉 𝑊𝑇(𝑉1 + 𝑉2)

𝑻

Page 39: 06. graph mining

𝐴 : 𝑛 × 𝑛 matrix , 𝕩 : 𝑛 × 1 vector , 𝑇:ℝ𝑛 → ℝ𝑛 linear transformation

𝑻 𝕩 = 𝑨𝕩

○ 𝑇 𝕩1 + 𝕩2 = A 𝕩1 + 𝕩2 = A𝕩1 + 𝐴𝕩2 = 𝑇 𝕩1 + 𝑇(𝕩2)

○ 𝑇 𝛼𝕩 = 𝐴 𝛼𝕩 = 𝛼𝐴 𝕩 = 𝛼𝑇(𝕩)

○ Hence, 𝐴𝕩는 ℝ𝑛에서의 선형변환을 나타낸다.

𝕩1𝐴𝕩1 = 𝕩2

ℝ2

𝐴𝕪1 = 𝕪2 = 2𝕪1`

𝕪1

𝕫1

𝐴𝕫1 = 𝕫2

Page 40: 06. graph mining

○ 𝕪1의 경우를 살펴보자. 𝕪1의 선형변환은 자기자신의 scala 배에 해당하는 벡터가(2𝕪1)된다.

○ 선형변환 𝐴𝕪1은 스칼라값 2와 벡터 𝕪1으로 설명가능하다.

○ 여기서 2는 𝐴의 고유값(eigenvalue), 벡터 𝕪1은 고유벡터(eigenvector)라고 한다.

ℝ2

𝐴𝕪1 = 𝕪2 = 2𝕪1`

𝕪1

Page 41: 06. graph mining

Eigenvector?

𝐴𝕩 = 𝜆𝕩

를 만족하는 𝜆를 행렬 𝐴의 고유 값(eigenvalue)이라 하고, 𝕩를 𝜆에 대응하는

𝐴의 고유 벡터(eigenvector)라고 한다.

고유 값을 구하기 위해서는 아래의 특성 방정식을 풀면 된다.

eigenvalues의 집합(multi set)을 spectrum, spectra라고 부른다.

det 𝐴 − 𝜆𝐼 = 0

𝐴 =𝑎 𝑏𝑐 𝑑

→ det 𝐴 = 𝑎𝑑 − 𝑏𝑐

Page 42: 06. graph mining

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 𝐴 = 𝐵𝑇𝐵.

Page 43: 06. graph mining

𝐿은 (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𝑗

⋮Σ𝑗𝑤𝑛𝑗

=

00⋮0

Page 44: 06. graph mining

Unnormalized Graph Laplacian

𝑳 = 𝑫 −𝑾

Normalized Graph Laplacian

𝑳𝒔𝒚𝒎 = 𝑫−𝟏𝟐𝑳𝑫−

𝟏𝟐 = 𝑰 − 𝑫−

𝟏𝟐𝑾𝑫−

𝟏𝟐

𝑳𝒓𝒘 = 𝑫−𝟏𝑳 = 𝑰 − 𝑫−𝟏𝑾

Back

Page 45: 06. graph mining

𝑐𝑢𝑡 𝐴, 𝐵 ≔ σ𝑖∈𝐴,𝑗∈𝐵𝑤𝑖𝑗

○ 𝑓 = 𝑓1, … , 𝑓𝑛𝑇 라고 하자. 그리고 각 𝑓𝑖는 다음의 조건을 만족한다고 하자.

① 𝑓𝑖 = 1 if 𝑋𝑖 ∈ 𝐴

② 𝑓𝑖 = −1 if 𝑋𝑖 ∈ 𝐵

𝒄𝒖𝒕 𝑨, 𝑩 ≔

𝑖∈𝐴,𝑗∈𝐵

𝑤𝑖𝑗 =1

4

𝑖

𝑗

𝑤𝑖𝑗 𝑓𝑖 − 𝑓𝑗2

=1

2

1

2

𝑖

𝑗

𝑤𝑖𝑗 𝑓𝑖 − 𝑓𝑗2

=1

2

1

2

𝑖

𝑗

𝑤𝑖𝑗(𝑓𝑖2 − 2𝑓𝑖𝑓𝑗 + 𝑓𝑗

2)

=1

2

1

2(

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖2 − 2

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖𝑓𝑗 +

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑗2)

Page 46: 06. graph mining

=1

2

1

2(

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖2 − 2

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖𝑓𝑗 +

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑗2)

앞의 식에 이어서,

=1

2

1

2(

𝑖

(

𝑗

𝑤𝑖𝑗)𝑓𝑖2 − 2

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖𝑓𝑗 +

𝑗

(

𝑖

𝑤𝑖𝑗)𝑓𝑗2)

𝑑𝑖 =

𝑗

𝑤𝑖𝑗

𝑑𝑗 =

𝑖

𝑤𝑖𝑗

=1

2

1

2(

𝑖

𝑑𝑖𝑓𝑖2 − 2

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖𝑓𝑗 +

𝑗

𝑑𝑗𝑓𝑗2)

=1

2

1

2(2

𝑖

𝑑𝑖𝑓𝑖2 − 2

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖𝑓𝑗)

=1

2

𝑖

𝑑𝑖𝑓𝑖2 −

𝑖

𝑗

𝑤𝑖𝑗𝑓𝑖𝑓𝑗)

=1

2𝑓𝑇𝐷𝑓 − 𝑓𝑇𝑊𝑓 =

1

2𝑓𝑇 𝐷 −𝑊 𝑓 =

𝟏

𝟐𝒇𝑻𝑳𝒇

이 과정은 뒷페이지 참조

Page 47: 06. graph mining

𝑓 = 𝑓1, 𝑓2, … , 𝑓𝑛𝑇 𝐷 =

𝑑1 0 00 ⋱ 00 0 𝑑𝑛

𝑊 =

𝑤11 ⋯ 𝑤1𝑛

⋮ ⋱ ⋮𝑤𝑛1 ⋯ 𝑤𝑛𝑛

𝑓𝑇𝐷 = (𝑓1𝑑1, 𝑓2𝑑2, … , 𝑓𝑛𝑑𝑛)

𝑓𝑇𝐷𝑓 =

𝑖

𝑓𝑖𝑑𝑖𝑓𝑖 =

𝑖

𝑓𝑖2𝑑𝑖

𝑓𝑇𝑊 =

𝑖

𝑓𝑖𝑤𝑖1 ,

𝑖

𝑓𝑖𝑤𝑖2, … ,

𝑖

𝑓𝑖𝑤𝑖𝑛

𝑓𝑇𝑊𝑓 =

𝑗

𝑓𝑗

𝑖

𝑓𝑖𝑤𝑖𝑗 =

𝑖

𝑗

𝑓𝑖𝑓𝑗𝑤𝑖𝑗

Back

Page 48: 06. graph mining

○ 위 식은, 아직도 NP-hard이다. 따라서 우리는 𝑓를 더 쉽게(relax) 만들 것이다.즉, 𝑓를 binary가 아닌 실수의 집합으로 확장할 것이다.

𝐦𝐢𝐧𝒇∈𝑹𝒏

𝒇𝑻𝑳𝒇 s.t. 𝒇𝑻𝟙 = 𝟎, 𝒇𝑻𝒇 = 𝟏

𝐦𝐢𝐧𝒇∈𝑹𝒏

𝒇𝑻𝑳𝒇

𝒇𝑻𝒇s.t. 𝒇𝑻𝟙 = 𝟎

min𝐴,𝐵

𝑐𝑢𝑡(𝐴, 𝐵) s.t. 𝐴 = |𝐵|

min𝑓∈{−1,1}𝑛

𝑓𝑇𝐿𝑓 s.t. 𝑓𝑇𝟙 = 0

● Balanced min-cut 문제를 풀어 보자.

why? normalization & 영 벡터 방지

Page 49: 06. graph mining

주어진 목적 함수의 해는, graph laplacian 𝐿의 고유 값(eigenvalue) 중에서 가장작은 값이다. (Rayleigh-Ritz theorem)

만약, 𝑓가 𝐿의 고유 벡터(eigenvector) 라고 생각하자. 그러면,

즉, L의 가장 작은 고유 값은 0이므로, 0에 대응하는 고유 벡터 𝟙을 최적 해로 생각할수 있다. 하지만, 주어진 조건에, 𝑓𝑇𝟙 = 0, 의하여 𝟙은 해가 될 수 없다.

따라서, 우리가 구하고자 하는 solution 𝒇는 𝐿의 두 번째로 작은 고유 값에 대응하는고유 벡터, 즉 두 번째 고유 벡터(second eigenvector)이다.

𝐦𝐢𝐧𝒇∈𝑹𝒏

𝒇𝑻𝑳𝒇

𝒇𝑻𝒇s.t. 𝒇𝑻𝟙 = 𝟎

𝑓𝑇𝐿𝑓

𝑓𝑇𝑓=𝑓𝑇𝜆𝑓

𝑓𝑇𝑓= λ

back