【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现 / n; |5 k3 w0 |# p: P5 n , J$ ^# H0 P: F$ P本文部分内容源自刘建平博客,在此基础上进行总结拓展 & f! |, l6 g4 ]- ~4 v* V9 Y 0 V" x h$ D; z原文链接 - q3 K. q# f& v文章目录1 v5 z9 o& {/ r4 X# [* f9 L' T
一:谱聚类与图划分8 T) K! x* Y9 n% l
(1)比例割 & r6 S/ I8 e& {# P8 A(2)规范割(常用)8 N0 M3 y# {8 G3 M
二:谱聚类算法流程/ |: q* n$ ~$ C7 U, j. X
三:Python实现5 f- d) g# m9 w# W* Q
四:谱聚类算法优缺点 / j/ V) D X( L4 k4 m1 k(1)优点 6 [% W0 T6 Z9 Q0 r) ?(2)缺点7 U8 d; h# c- I
一:谱聚类与图划分 - j8 N( j [; F6 e9 x' a" i无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中 7 T6 d/ ~/ a! N; w! S" h) w 4 Y4 e( o# H5 {/ G! D. I每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A * ~8 e, ?( M" C" H; O4 q# j' d1 & h& g+ r3 e4 a' _2 {. b . Y v0 |9 G# n0 l0 R& T ,A ! Z7 T* ?( _6 \: q9 t
2/ R) t0 j/ C1 c! F; \0 M
- R: a) h! G }! U3 S7 v h% g ,...,A 9 _% T( ]" j4 |9 t5 x
k# L" g) I4 k( n/ V) i
+ J, M2 j! c# }: _% z( z },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA 7 |. f7 I- O x# }2 N
i 5 b3 ` Q$ } C # _2 \) [) f0 `+ h: Z ∩A : O6 C# g% w, g" B
j # I5 m0 R9 ~, J, m2 u/ z' x0 e2 e! ?1 s4 m3 c4 R
=∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA 3 U' H- J i+ a" z" z
1 Z" E4 X3 I4 t+ ^; n
' q) l- \6 t. Z( ]: E H1 A: X
∪A / X1 |& q* `- l4 N, w! M27 u! _7 K3 x4 h
4 B- L* k; k/ b8 C' h' x4 F
∪...∪A % a2 I4 F0 {! r; n7 P0 g' M* |
k% t( E7 E2 J& J, a7 b
3 F1 g# g+ j$ g' I k
=V 7 M& c6 X) U; |7 D# C对于任意两个子图点的集合A AA、B BB,我们定义A AA和B BB之间的切图权重为W ( A , B ) = ∑ i ∈ A , j ∈ B w i j W(A,B)=\sum\limits_{i\in A,j \in B} w_{ij}W(A,B)= 2 l. t) |* X" S! V* f8 L d! M9 Ui∈A,j∈B" J- T9 a5 G* ^3 a5 p# F
∑, R C( k' R+ E- V
4 L! [7 `! V& U; B2 F! v w + P/ M# M, Y5 F6 _" Y+ jij 8 x$ q. ]/ @( @; R) `3 I; R 3 z, `9 q1 L# \) R' _5 Q2 |( `$ G- A- [( s! N' F! y* s9 f5 n
对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A : m7 j% e& d1 w+ i9 }' A
11 I: W3 f6 g7 E# [
" x2 \$ L! z3 W# g1 j3 N
,A , A5 ?6 H* |) [) b( P; C
2 + `0 E1 E( u( r ~8 P+ k) m2 J/ ~ ( O1 r2 K; X, n, ]$ G ,...,A ' W, u- l" ?" m# `1 N
k6 {( |0 ~5 g& {$ F( G6 i
1 r. ~- T1 h9 @7 s& Q },定义切图c u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) cut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}W(A_{i},\bar A_{i})cut(A # N8 _0 K1 V6 L; n0 T6 V7 M8 N1 7 t; u+ g2 Q T2 _" Q , E9 q. f( n* ^9 A3 i ,A ; w" }- }. ]& a: q0 U
2 * y" X5 x7 a6 r: y& S- `* D5 f& k* m- T% Q+ Z: y4 U* A
,...,A * l4 e9 o, w* k* n; B: Rk 6 q9 s0 Q# A) M4 p 5 N. {0 ~" M x. \( N! u )= 7 E1 O, U9 z9 N) |* A2( X" p3 i$ `% k3 _. w$ r5 h
1' h% @& h8 x2 c- m2 x7 |8 z
& P/ T, M4 u* Q- D
c- f% \ w W! w' c
i=15 [, K- [- ]" q5 T* |
∑# S: {6 }7 O: g, @) m
k 2 u/ K9 D& o& _' T2 V+ D3 h" M$ D7 S9 F7 T, m
W(A + d9 ]8 k% N' F3 Z4 s3 [8 u' di 8 {3 [' x) _/ Y+ R& d/ T- V* P' I/ P! d2 m: Z( s/ z3 J
, 9 W' W3 o. ~" O! X: x8 N4 TA9 n: ?. ^' b# D5 S) d* {
ˉ9 F* V# y2 S! `" |4 z9 q
4 q- e7 o0 U, E; }i * R( X9 j- z' ?. A& X ^6 c D# }/ j$ Z7 L, M! j6 P) R
) (其中A ˉ i \bar A_{i} : X T) w2 L. g+ P! U1 ^* `) a
A* S e' C+ x ~, s9 b6 F s
ˉ) s9 G+ [8 X( s) i, t3 O
% _6 x- O' b; X, {
i 6 r6 t* x/ p$ W- G " N( t+ R0 h6 l4 @0 A 为A i A_{i}A 4 [+ x- T! a% d \i 3 z8 a6 i% [* Q8 V& W% m. p; C" g' i * r; H* K' }+ d% o' j( v 的补集)) b/ N& Z: F: G; T) l. N3 h3 I
可以看出,c u t cutcut描述了子图之间的相似性,c u t cutcut越小那么子图的差异性就越大。但是c u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) cut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}W(A_{i},\bar A_{i})cut(A N3 D O/ O* l3 B1 1 E$ {1 Y- ^8 R+ R. \ , ?+ ~. P* ~0 k" I" L% c* d ,A 2 d' c r6 Q7 }& B! o* q, D
21 d2 K6 e( e, K
. _ v5 P5 l3 F/ p( t ,...,A 9 y, W3 T5 n0 v# o1 E7 ~+ M
k 8 K3 G6 C" F0 N# [5 L1 [- D ( v8 p2 U' _) o )= ) U. v4 {, v R2 l/ h6 B1 `& r
2, K3 j+ J$ Q4 @/ t2 G/ x* O& \
1 , N( n9 z+ e# S: P0 U( N' r7 P& y7 N; R- M
7 k6 X! @3 e0 @7 Hi=13 m8 v( O0 o; p* y) J* G; b
∑ 2 f1 n C/ y2 g3 ]/ hk4 L' H p, K8 V3 r
. i0 Y. Z! h) |6 h) ]" F W(A . J& u3 ~3 Q8 U4 B4 g4 h+ Wi# h1 `+ U9 F" m- H
8 f, z3 B" Q% Q% F& i" g
, 0 x, v) k6 }, M8 n( Z$ UA ( m" p: p- H" L+ oˉ & y: X) u3 k8 z4 H3 j, b9 ]6 [ & m: ^7 ?: n" H( v7 fi 6 x x8 G" M+ B- F0 M: Z! n9 S" R7 D& \3 O
)在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A - o/ W, ?& C" d$ U* h8 z
1 5 u9 _+ q& p5 A0 Z) y# W" t! u; [' m( y% e; D7 F7 k8 L
,A 9 q6 H# I- r9 x' ?7 j- l7 f$ Q1 e2 ! N& z. F% M5 d( _! R8 d8 q$ P4 l5 Z0 a0 U
,...,A d: _) [1 a/ l4 tk/ x4 _0 \0 L8 @, D- M% V: R a3 M
* O r+ u, d0 S0 B6 R9 e# ~) h l% j# I )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡 ' y7 S9 m& X+ d7 `6 |/ ]2 Q$ p! v9 N! A( k/ M
例如下图,选择一个权重最小的边缘的点,比如C CC和H HH之间进行c u t cutcut,这样可以最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A & g5 p; Q5 B' V" L
1! B& i4 |' n* K& M. A( f
% Q' T. \; r& t3 K/ b0 G ,A 2 r, Q( C0 m h& r2 % R5 P" s* y2 w% Z( w6 K# K& s $ a! _! ]- D& J5 P: P ,...,A 9 q7 }4 @% O2 }k . X% l- E& x( z. ~% ?4 C4 i7 I: z) ]0 x' ?2 P) y
)但是却不是最优的切图9 G4 x3 p$ ?# R5 M* P4 I. ~
. U2 B5 b: A2 S; Z为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割% r) M- t$ _1 d8 ]1 R
" c3 ~- Y+ [$ J- G9 ^6 r比例割:R a t i o c u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) ∣ A i ∣ Ratiocut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}\frac{W(A_{i},\bar A_{i})}{|A_{i}|}Ratiocut(A - U. O1 b$ u5 {4 \13 V' n( {" @) X% X/ H$ ]$ \& Y' m7 j2 w7 {
5 y* C: F9 i2 V- C+ l ,A " G, q4 }% I" }22 t3 @+ Q% |9 `% E% t" ?1 Y
8 q, A0 y/ G9 R# Q, e# M0 w ,...,A - P# W+ y" t) z, b& k1 Q% e( e
k! @. f$ i2 W; F5 L! l; Q
, s( u' E- C8 J3 ~, r* S8 f )= ' ]6 h4 r7 X' m" F3 j2 h) K
2& w; v8 |0 z5 c1 K3 L7 o4 Q' W
1) X( y# I/ E8 G: X+ @+ |
; M% H- v7 ]* J0 w A1 D 4 m) V0 R; ]# }3 L9 pi=1! P2 z% h- F: Y l! n' O/ ?' b/ f$ V
∑ 7 h6 ^3 p4 ~$ ]/ bk * X' Q) I2 t4 p ]7 {8 \! D# L8 T9 i; s: S# G
7 T4 z \/ a8 K* r4 K. n∣A / R) h- g& ?- Y z
i 7 F% ~0 V4 F% e- j& K0 ^ 2 u9 W# l3 k$ v& ^: f/ @. A m4 `# o- ] ∣" P7 y) h( W' Z. G: v
W(A # @$ ?- ~: P9 I/ y$ si " W% L8 G8 t( P5 H, D% }! n0 s / [/ D' M& g: z( z: `" }7 d , ) K, k9 }" C+ G! W$ C3 M
A `! T. s* P3 ]+ d
ˉ- p s. |7 k* e+ W/ d% q- {9 b4 h
2 J2 Y: @3 Q7 E$ Ki) _, D( j4 i7 }
: S, ^. T6 @3 y" L )- Y3 E0 u# P: U, p2 t
/ \4 W% @) ]/ @" q( u
/ D7 {0 _$ w1 v0 L; ]
规范割:N C u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) v o l ( A i ) NCut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}\frac{W(A_{i},\bar A_{i})}{vol(A _{i})}NCut(A % h3 ]. T6 D( E, X1 , U2 m# c$ }% p' M : |9 E0 u3 b9 C2 f ,A 0 B& p. i2 R3 v: i* n; G- ]" A2 , w1 u, _1 X" z& L7 ~" v9 ] ) j# U- X. X, u2 P% f! O# _$ O) C! H ,...,A 6 ?! }0 ?9 `. G" \( v
k ) b. t7 J; ~& }- S9 c: T: L - m k. {; r0 _( ?; i( p )= + f# p' E+ }. _0 f
2 ) z2 ~* S) p; }3 ?1$ C/ q4 ^9 `" u0 }6 y
+ f' @& i7 ~; Q
" U5 @7 [2 P9 j a7 S, fvol(A 6 h8 S' N, Z9 X% ^i $ d: a2 D& y- E2 X0 X* W0 ?2 G3 T! W
) # M3 ]* i( F. y. x6 Y) W1 CW(A v p H8 G4 i% K0 ^1 E1 Y
i ( H0 N4 n2 ?& W; b/ M. l4 Q' e4 Z! |4 l% B2 ]1 T' w" [6 z& J$ [
, - i3 }, h8 P! t+ Z6 L; ?A 8 z; \: E- b: m+ N- `: b; ]ˉ! e: U: r# B0 b/ ]
- @7 G; h2 W+ \0 C! y3 g, w4 o6 b
i( O4 U; q% J( V+ N0 ^9 Q
% c6 p7 ?* J1 ]/ @: O d# B* M
) 8 V' k3 S9 Q$ [! b( z* L7 J" ]: ~& g- O; E' l7 j( S4 A
/ t9 B* n3 ~ [/ I+ W$ p(1)比例割: S5 H. E, P# ?9 P4 C3 D6 {
引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h # K5 \0 c1 w. f+ R5 Sj ; Q7 Y: Z) ^0 d+ V0 N! J% k7 `, N- |: X , A; @7 h( ?$ a8 G3 n1 m: u ∈{h 4 O1 i3 _* ~0 o1 x9 E6 Y# u0 u
1 ; B+ T F5 ] @/ t0 b& f3 E) j. f/ v: k: L b* u3 w+ l
,h 7 [$ y, ]: V+ i
2 8 J7 j$ f! C3 D$ i( f 5 F0 c! G% h. i$ K! ?: v! K ,...,h 9 A5 R+ n5 i" g! y8 c! \; b. ?k' n& V" X, V k
' W i1 w! B5 y9 o: }. \7 h# p6 @ },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h 4 A; S9 T, s* w+ O: `j 0 P* k6 ^" }8 d6 \ k0 D# O 6 \4 }: N- p' m: Z ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h % d9 m) r( z: N7 e* K6 S6 iij7 }" i0 k' Q6 \! k9 O& ^0 Q4 j8 {
2 ^, k+ F9 [8 z% k
如下 ( D2 H9 j! n, A( A1 ?* S 8 f e4 h, s0 d' i: ?& U) K. K' ph i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}= 2 `1 Z/ f7 p3 V7 E) C5 y{0,vi∉Aj|Aj|−−−√,vi∈Aj5 @/ P! X7 b8 Z X
{0,vi∉Aj|Aj|,vi∈Aj / t* t0 e H- F( u+ S9 zh ' V% Q) t b( E, qij) _! U/ V4 }1 ?( B0 h3 B [. k
5 Q7 t0 S8 w0 i2 \4 d. I {
={ ) r7 A' F6 q1 D0,v : q9 Y4 d8 S2 G: I3 q
i 5 Q: |1 ^% P4 F% J2 `( H, O! k Q1 a ]" A7 X& g
∈& W/ q4 U/ V4 M R# E- D
/ / H% V1 K! Y$ S6 wA T" U) J2 d0 l G5 ?* o5 e7 Vj* q5 s0 s' G; K# @
3 Y8 ]0 ^6 }6 f6 e* { 5 M4 {4 H( S% w6 q8 Z8 J' h∣A 9 N/ L5 Y4 S cj7 v0 i# J/ X* s5 B
9 o! X: M. j5 Q) [. D8 g
∣- S& S4 u5 T7 Q( K$ }
% s- p, Z/ I) K. T& } ,v 2 g( S7 ]+ ~8 `8 N
i ' i5 P3 A% Q, s. c) x 1 R5 ?3 [+ w6 o ∈A * V+ G9 ~$ `" V7 C+ [
j 9 n( r2 {8 i3 g6 L+ r, P. l% m) T! p
3 e, e. K4 a0 s; n: k' m2 ]
0 k% i" j; s9 q9 `
0 N: n7 f1 [/ d. h1 ]
, Z% U& M+ k, e' e+ Q1 Q( m
于是,对于h i T L h i h_{i}^{T}Lh_{i}h 7 T4 }/ L- V8 m- e ?! L7 ^i; F/ ~" v' O5 @
T0 R! W5 M3 h, c6 J( k
# b4 t( J) R4 \% v' t" E2 ~2 z
Lh n' A) A7 Q) s
i% x& x0 g4 Y# b8 G7 I% D5 e% w
, V+ d2 ]! U* _! F
,根据拉普拉斯矩阵性质可知 ; }$ K6 I5 I3 c' W% B; I! n1 c# d / b- u: R/ y( M7 `; F3 W对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f 8 p# g4 F0 x O7 l5 H+ s3 V
14 q0 d ?* F6 J4 n
* N5 @ b9 K1 h2 u
,...,f ( ?; H ^" `4 ?- p& L( u. P8 en / z, h) q+ ]. O$ {. @: K. C, a+ N* y1 ~# H! F$ E
) 4 D' ]' B- y K9 f# MT5 ~2 ^! ~! U% n4 O
∈R $ q* E: E# C: l% J; b0 A
n& |4 D7 m: `- p( o' b+ m
,有f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T}Lf=\frac{1}{2}\sum\limits_{i,j=1}^{n}w_{ij}(f_{i}-f_{j})^{2}f 0 W5 R [5 k; G" a6 d* L u* m) X4 Y
T7 D m+ ^4 z- Q6 l$ Z0 n
Lf= 7 v& b. Y$ Z) J% S/ y4 p! Q9 L2 ; a- z; M0 ^ K5 y- T1 0 Y8 v% y: H% ~5 `# t' P3 w0 d8 G" N4 p3 t8 C" ?% w: r' H
6 H4 U# E: T# ~. L
i,j=14 S& _( t" f7 u% V& @4 x
∑ f! X$ K, M, x& j
n$ P9 G$ S4 V! ^+ L6 B i
+ R' z' S# r* `" B* v w c# v- [. A3 e1 y
ij) F& v& q( I! B/ E5 A- v! G% K
) B% \6 J" c! N
(f ' g, L: t# `/ [; Ui * M: b" q" [9 \* W7 J, ]* n9 u/ @; f- R6 J& N; r
−f + |2 h! X5 O' R9 O% J0 `% E! K3 j' u
j : l0 Q" B8 J E4 I( y" F* R4 ]& ?4 U- ^4 x7 y; A4 u, F" x. V2 J4 ]
) x8 a4 s: [: c, f
26 f8 p4 r2 G/ j+ W6 N
9 S6 ]' I1 D _3 T+ w" ~. y qh i T L h i = 1 2 ∑ m = 1 ∑ n = 1 w m n ( h i m − h i n ) 2 = c u t ( A i , A ˉ i ) ∣ A i ∣ h_{i}^{T}Lh_{i}=\frac{1}{2}\sum\limits_{m=1}\sum\limits_{n=1}w_{mn}(h_{im}-h_{in})^{2}=\frac{cut(A_{i},\bar A_{i})}{|A_{i}|} 6 i2 q( \! ?5 d1 k" {% Ah ( N5 `" x7 g$ }. q3 d C! ^i : O0 x5 `3 w/ R& q' zT 4 n6 |) {9 E* f/ h8 I 5 j* x; P1 ~1 y- A$ X Lh + h2 b H$ Y3 e7 o0 x$ U& o
i 1 p P! }) s5 [& ?) N: Q2 q# J, ?* w& {! X! M
= : c/ n% r9 _: Q21 Q6 Z2 K& F1 O& P0 S2 g
1 n/ K$ @# B2 g9 s7 R0 o) r
+ j0 {# d' t: L A% h; v& s4 D' t6 g% ~9 h8 j
m=1% ]) ?& U, E! j- }2 h) G, s
∑+ j7 s8 E$ {" w' y R+ X) {3 r
. y2 |% |& E* L/ L" z/ ? 9 q( a- L+ s( I+ G; d& o. o, Q& wn=1' ?2 E; b+ _* y7 Q
∑ % H; F4 t3 @4 Z5 d4 v" d. }, ^/ L1 m4 g) N9 H
w 1 Z9 R5 U. h Q8 A' @
mn $ n' @% k. i2 ?& u : L4 @* _3 ~8 X9 p2 x1 q. ? (h " ?( A% h Q& W* X+ x' g, ^2 z7 X% _im# O: d, c6 P B* Z( ^$ g
5 v4 o4 L. {- f( o$ l/ y −h 7 y7 \$ s- w s/ Lin 4 A# H; u n% E' T9 D! j! ?1 W$ R5 ` e/ M; e
) ! w4 O0 F3 q5 E; K0 e/ D! Y
23 k! @: D2 g! Y5 ~% Z
= / ^' m4 _3 f- k7 ]5 D0 |% e; S9 m) [
∣A / o- \9 x w' P4 }, C1 @i* M, ~2 e5 N3 G$ ^2 ^- k* x
$ B$ }# v) ^# T# l1 a' c ∣ : W4 Y# D6 V* ~, N+ Hcut(A B2 z. \6 r) i
i , V' @/ z+ K& \: d% ?5 c# s, m: G6 `. [0 b
, 3 l; i/ T6 @1 L* XA. R$ Y0 C# i8 x$ Y0 c9 v
ˉ$ [+ ^/ r" Y( h
i# @7 s0 g: }) m6 g% oi 0 b7 l K# ~4 V9 Q1 h; _: a) j$ V# V
): d& f \5 m4 Y$ P- j% n* K
; F% S. ^5 N: K9 @; e: C$ G1 g$ n6 h" w0 T
0 R/ ^6 e3 \4 u! [4 b' F& {
严格证明过程请看刘建平博客:链接 $ k9 ` L! e- a0 U- O6 }可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h 1 V! a' w- c; f: k8 u1 x$ C2 x2 Li , C* [. p8 W' l! T. \9 LT 4 C5 M# A2 ?' Q' ]' g+ B. y2 t4 m3 S
Lh 9 ^ F8 x) Z' E, W# `6 @4 R5 K0 D3 @3 Gi + {$ M$ A- J8 T* z% r3 e( Z4 g; ]# _1 X+ A7 f
,那么对于k kk个子图9 r, y2 q7 l; V5 H2 c3 s0 n% E) p
/ C3 [; X U4 V) E" PR a t i o C u t ( A 1 , A 2 , . . . , A k ) = ∑ i = 1 k h i T L h i = ∑ i = 1 k ( H T L H ) i i = t r ( H T L H ) RatioCut(A_{1},A_{2},...,A_{k})=\sum\limits_{i=1}^{k}h_{i}^{T}Lh_{i}=\sum\limits_{i=1}^{k}(H^{T}LH)_{ii}=tr(H^{T}LH) % `( h! ~+ j/ E# Q/ A! ~RatioCut(A ) `5 b# M* L& |& a6 g9 \
18 I5 D2 C5 c) M
/ o$ o" a: X" I" i ,A 4 S9 T* B+ d* I% Q9 f2 Q2 N: h; C8 F/ l& n8 K! M# R % M" w, o2 W; y" l) }# `$ m3 x6 P ,...,A 4 g \% _( _# S0 j
k$ [7 `" r$ u% E8 @$ m# E2 y
' f$ q# y( C; k$ k) K/ s$ c3 E )= ) \: Z* f o& S6 ^7 n
i=1 ! H& a9 c( }8 ^- o∑) o4 q5 y; d: y! J
k5 |+ _, m; a* y+ b. c
9 }; C9 O/ R$ u: U# f1 r
h . B* ]! c; X# ^4 e" z! si 1 V. P5 f4 C" QT$ m; h0 _" l# Q+ Q+ L2 K3 N
9 ~) p7 o9 h* x Lh , I! P$ R( D9 d5 mi ( s' `/ f( w6 r0 v4 ~ 9 m: O% A+ }# t$ x = " \" i# J! ]* C- i6 C$ Si=1 , |& L9 s2 m4 H8 x* Z∑8 @) P* W( l; \# v* ]9 W5 T
k4 v7 K0 O- A3 G$ h0 M! B
3 f2 K7 Z) P/ I1 T4 y& z4 B (H e3 O( b: e- {9 R8 R3 g, m
T1 E+ v+ I2 c- ?# I: S5 \
LH) 5 J3 h% w( r/ |) Y4 q- f. H* h1 C
ii # s; e, S+ v4 J2 Q0 s" u: k# J7 e& w4 p8 O
=tr(H % k/ D* v4 V! X& T0 H% r
T 7 r( W' |7 x) W8 \$ G LH) # }) H, o% K& z3 Y0 b# F6 @9 E9 G# q0 P J
因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H - R, Q: S3 n$ v6 Y: MT 1 s7 m$ f9 N: J. O/ C LH)。又因为H T H = I H^{T}H=IH + O# f' l0 T* d+ b* N# t+ J# z
T 4 o0 z N) M9 y8 W J; R+ L5 p, U H=I(单位矩阵),则切图优化目标为/ d1 I& Y. t! ]( C4 B) h$ o
' J/ L7 X" J0 }$ e2 Sa r g m i n ⏟ H t r ( H T L H ) s . t . H T H = I \underbrace{argmin}_{H} tr(H^{T}LH) s.t.H^{T}H=I2 } L0 Y0 a( G1 i+ a4 @% _
H + b' Q! r, N" b! u( k* h. \argmin1 X2 ?0 ~0 J6 p r1 _' a/ e$ K
# w: T" p6 Y0 l# ^1 H2 K/ D % ]9 l: L N* b# T5 g # W/ w! h8 v0 }" l5 c7 B# H' C tr(H . y$ Z4 y2 R7 r ^4 e! y& KT2 N, ^- r4 D- s
LH)s.t.H 1 X; v9 E t9 H' i3 A7 F
T 9 L1 Y' g, Y9 u# N+ G! L H=I 2 l: l5 A5 E3 |! m9 s5 F5 `! m( \; z6 M+ ~- k# L( H2 R+ Y' N
对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H 3 i j2 }& ] S ht " S: T; C+ v7 t0 V" h3 n J9 A4 |: a LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h 4 i$ f/ B9 ~, k; f8 ni0 C" ^3 S, B; r& O/ E. G# J1 @
T % e' D6 \1 [+ q- c8 w. N0 X6 `$ h) {8 K" i: m8 K$ |3 d5 y6 m
Lh % X- T N0 z) q- j) [
i G! }& O3 R; m H3 s( F) b: J
5 N' k& l/ z( A, W ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h 6 i+ j' H$ P6 ei; d8 r1 g H7 b. ]" f
T( Y" v- Q9 `% f( p
6 V+ p( ^; z* ~9 c
Lh 3 `2 @7 T7 B! d' u4 w3 Ai J( `3 B3 e6 | j1 l; m, h
/ A$ A# f$ A% Y, c# h! G 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h - c& p' A2 N8 ]7 a- t
i. { Z4 H- r" ?4 W8 |# x: D
T8 k5 x( {% ^% M6 q, [+ s9 |1 X
6 v- u/ M* ~. U$ J5 a Lh 2 M+ K1 R. y% c$ L7 a
i# r3 a8 y% c& x" t
5 d$ t* S4 M/ |* s2 d% Q: |5 p ,目标就是找到L LL的最小特征值,而对于t r ( H t L H ) = ∑ i = 1 k h i T L h i tr(H^{t}LH)=\sum\limits_{i=1}^{k}h_{i}^{T}Lh_{i}tr(H 8 H# h) |( s) L% u/ P4 ]
t . ] [2 d( P+ C$ w1 s$ x+ K LH)= - s$ a7 I2 Q$ ~' x! l, P
i=1 , J& S7 m" \- L! |∑ O& n' o7 \/ e6 T1 q) `& [
k/ O0 y6 O# i C2 `2 \( h
1 ^$ j: ?, U" S0 t. O. y7 ?
h 2 X! y+ B& ]% H) j" I- d6 f
i! W( s% E- a4 p
T , ]" ]1 ^5 A/ m& B& X+ C j3 p2 J. D7 E7 Y5 A1 c) E* D% |
Lh - x$ R! L( B9 `/ C- u+ Ki 6 m9 x+ _, n5 L4 X + S ^9 k) [- T ,则目标就是要找到k kk个最小的特征值 % v/ b8 f! r1 G 2 O% C# N. r1 T' e" Q因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下 , W( V; ?* F# P7 V5 h2 j; x2 ~$ I# p" ^6 R! C; h
一般来说,k kk远小于n nn,也就说进行了降维# N% i, L m7 ~9 c1 b9 J4 ?
h i j ∗ = h i j ( ∑ t = 1 k h i t 2 ) 1 2 h_{ij}^{*}=\frac{h_{ij}}{(\sum\limits_{t=1}^{k}h_{it}^2)^{\frac{1}{2}}}5 p: W$ U9 t8 ~2 h
h 9 ]7 a) a1 u/ A2 J! d2 Bij# ?8 g/ Q- b. ~ T
∗ 9 U F5 B/ I% r; j3 j $ s* w- ?0 M" U = @3 ]% N& ~5 Y+ `0 ^) g" v0 s5 S( v( u8 P8 R$ d! s9 ?) rt=1 8 d) J/ v4 d0 ~9 w9 ~$ D' S4 t' n$ Z∑( j ?7 P* i7 }; g: u+ T5 W
k ' ?. p! S4 n7 S4 o, K2 B+ l 8 c; B% u( [* i# U( @6 b h : V3 ]7 P6 S! ?5 I8 dit + e) O- O& @- o C& ]% m2# P# n, X# ?) N$ x
3 m' }! V. G) o% h ) ) ~5 R0 k6 s, E5 {9 c) f% X1 H
2, u# }" S9 F4 l x y. U
19 W% W8 v d2 F+ f3 U# c; c
3 l% } |1 Z5 n7 Z # w7 q& v; e! F! f! z2 [) O5 K ! ?( y' ~5 x% Uh 3 ]3 X/ o5 t! U# l2 R# h; g
ij0 \8 q. A; M: V: _* E8 J
! v+ P O4 q, b$ D5 f ' W" `; N; l6 Q( {- m$ j* _; l5 M& e- G
: e" ?7 g; Q( Z5 T5 ]' _' ~: s/ M5 X9 t& V
这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类 " X! w3 \# q# V : X7 C6 m5 G/ W' ^0 q. w% v(2)规范割(常用), B' N' U& F6 J! W% X M: y2 U
规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A 9 _8 M- Q4 R) `- ^3 m% q
i% s' E% Y9 X3 w5 P6 }0 f/ R
2 {4 H# ~' O7 `, E
∣换成了v o l ( A i ) vol(A_{i})vol(A + l% V; |( j; ?, `) x
i8 I, A& f# ~0 W) w7 ~. @2 z
* N) W6 X6 o2 C
),定义指示向量h i j h_{ij}h 0 }' l" O$ }3 Q
ij 9 l/ F" n: N/ y! o) {: L$ s3 ~' I8 n' A8 E2 o! e; B" Q
如下 \* X9 F% u3 u4 | 3 n0 j' `* f$ Oh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=; i' z" ^8 s# l/ T+ o
{0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj5 z) X: g: _! x e0 |- `
{0,vi∉Ajvol(Ai),vi∈Aj 6 f7 @" G: c" Z( S0 E" r1 Th . G3 J0 J4 q. _3 o- t3 o. f$ Cij ; F: n ^# E6 s" U/ `% x' E9 q* j' ?
={ ' O$ Q7 K& g* q: H, B0,v / Y% w& a1 A7 ], W C5 ~2 G9 P
i! m5 g# I9 K" a/ E- Q" `1 L- z( ]. H: E
/ k6 ~9 a, w: ?/ Q% @
∈ $ q$ b Q$ V: _9 n5 s/# ` |# j! y: o3 }: c
A & ^3 V) `7 M+ [5 }6 }1 pj , |) j. I/ C" n# J0 O$ m & S+ X0 h$ q$ I% W$ ^+ U1 W+ ]: R+ R# S4 b/ Q( i& x2 m
vol(A ' x: _( s% B9 n" D
i7 s- Z+ n G3 S1 X7 m* I
( n9 b5 |; j# U7 j3 v
)5 c5 F, y ]1 d) o: O. o1 y x) A4 j& o
# m3 [8 s- S# w _; E5 L# F& k
,v 0 _- F- t7 c- W. B
i 6 K2 R) ^, ?3 G7 G6 F; _# \/ S' ~
∈A ' i" Q* l% {/ x7 X* ]" P
j! m' X% o* i1 f! z2 t
4 k+ F% q# c! \- n# r" j3 |( h8 w! r
% I. Q, q8 Q5 h8 O6 p
" ~1 S! h% I1 U& T5 _
+ K8 Z% ?/ j2 b0 |8 r6 J' b于是,对于h i T L h i h_{i}^{T}Lh_{i}h ! Y5 Q. Y& f: U) U/ `! pi; m. d9 u4 w" l6 {, Z. [. _
T' ]3 _5 b' T# `/ [* Q
4 f6 F1 `# L6 c5 m0 o4 S2 v
Lh 2 B0 ^( W6 O4 e' }$ H& ]" E0 Ri% E8 V& c5 a/ W+ K, t5 G2 y4 f
( u6 Z, O K0 {% n ,根据拉普拉斯矩阵性质可知2 o0 D* h/ Q7 q" i( I0 X0 L2 A
0 o! \) Y! C8 [/ m# W0 e0 r. J
对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f 3 t1 T& p$ T* N: y$ d' S( Z2 @1 * E' S7 X+ d0 k1 X1 r# S( c/ Q7 g, }. S; R$ \: X0 ~! n
,...,f 4 K3 v6 v2 P: g& in + Y& b1 e% h3 M2 g# @: S' A0 {' V/ B! B. g$ ]
) ; x7 g+ Z( F3 C6 {% \: D7 XT% @# k; Y9 ~4 B
∈R 8 d% [5 X9 Q1 q- N2 J4 d" P
n3 o% K3 w1 X: t4 T2 I9 _1 t; Y
,有f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T}Lf=\frac{1}{2}\sum\limits_{i,j=1}^{n}w_{ij}(f_{i}-f_{j})^{2}f ( I( n: [, T* B# z2 d# e/ a% ST" K5 K" V2 S' ~/ X
Lf= + }8 t6 R: J: D* y8 h
2 % S4 }" J$ s" v8 H$ t1+ G( N( y4 s- T; ]7 x
- F' u2 L1 O- v7 L' a5 G* E, p) L r8 Q# a9 J
i,j=16 V0 e* p4 A# o/ g
∑. j# N: J0 ?, [ J
n. t" V) `# c; E, [, u% \: H Z8 o/ q
3 u$ h; r' t) j, v5 }# x' ]' b$ } w ' q p" K" l) u6 g% T
ij % u; ^7 @' H' V3 G* H# L5 t3 ^1 k 1 u' l2 {7 B# d* y8 T (f 3 a+ z* p; L! `4 Z* ]$ Qi 5 W& H9 E% j: m4 c* y6 f : v4 f" F5 }! Z r6 | −f 8 k3 p3 s! o8 u, _ h! l( A
j0 F: l, g7 Y% s" n( f' t
' A1 w5 R+ r* z2 r/ D
) 7 n" A2 F; q7 U: y5 O3 l) Z
2 * ~3 Z9 ^' g: X ?) `6 e) q6 F7 G8 I0 {* Z2 } d
h i T L h i = 1 2 ∑ m = 1 ∑ n = 1 w m n ( h i m − h i n ) 2 = c u t ( A i , A ˉ i ) v o l ( A i ) h_{i}^{T}Lh_{i}=\frac{1}{2}\sum\limits_{m=1}\sum\limits_{n=1}w_{mn}(h_{im}-h_{in})^{2}=\frac{cut(A_{i},\bar A_{i})}{vol(A_{i})}/ E$ s+ W; k* |4 A
h * a3 ]5 N v4 ?" K- l# M9 M+ Oi. {$ S; [$ k+ g+ j
T ( u7 Y# x5 _% {6 r+ { ]" F3 {/ G5 b0 e; D
Lh h; [1 S. f; J5 r3 }+ d0 P) y
i/ s3 C" g# A/ m' k2 C
! D: K( |. X+ ^8 E! H# v = % t. I, d) s! c u2 # {: z! \) a/ C: d# V1 K1+ j! ^, A Q0 j
/ s5 m( k7 T1 ~% a7 B5 Y: D
" s; Z6 w& z6 s L
m=1 ( I1 i/ o0 J3 @( C, N∑) B' y# R% u3 N7 G }/ w
) x/ z7 W! b6 ^/ _0 g; |" f2 I1 A1 C" x) A1 M$ f4 Z" k
n=1 R1 Y3 R8 [3 ]2 e5 Q
∑5 b% n6 A# l8 [1 H3 k
$ h" w+ }" F# C2 t. J4 i w # E+ w N" q2 [7 umn& L7 h8 ^* S7 Z# M2 W; a- @
- ]) L7 }, ?2 j- x (h " K; v. G1 r1 D* \6 S, ^9 y; f7 wim ]( Y8 V" Z! a- k+ t% N 6 v3 M* z7 F9 r! n* B −h + \1 o! N$ W5 {1 E6 x; F
in! H1 v: \ `7 w1 O" L& o( U/ n' r. D
) b" ?% A0 W9 g' T ) 3 Z0 n& C/ {' F/ O# n% ~2 , M3 t/ w5 J$ Q `1 ~ = , C5 P- y s- Z- f. j0 v
vol(A - x/ i; S3 M1 _$ S% H) S
i # l6 v; s! p o; N " H7 Z3 M. L1 M/ W9 { )$ T j1 f8 s' k. A/ N+ a
cut(A 9 X5 u% N& q& C+ }' C3 [i! a5 i& |3 w. d: |( J; E3 Y
, A' M5 ~( y: R , 3 w* J$ P9 k9 C# qA% I8 j9 E, k; f3 l% {6 p+ X3 J1 b
ˉ : a5 w; ]2 ~+ N8 P! J % i* Q+ Y# c0 I2 t. U. W2 Li: s R# i1 t4 H
- S* W0 u: E7 P( P
). O; P7 W! P" H$ }" O
7 P3 n& H: |2 ]& c. Y: ], e
0 [1 @0 a/ C$ Z5 O# j% n" E2 ~3 P1 t" H
严格证明过程请看刘建平博客:链接+ X& Z8 L& a* U& i+ X2 \
可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h : v5 e3 ]& P3 K+ @2 P# ^1 c
i 3 e. s: d& w3 h2 q% Y6 ^: j ZT ; v% n, `6 i: L0 h / Z/ x/ c ^+ k7 Z- s Lh / Q" ~% w' }0 n) v6 f: B5 B# o4 Fi 7 U" _/ G V$ [& k4 r$ | / Q5 z- D( _$ L( V ,那么对于k kk个子图 + i( y. }, l* w. R5 w$ A$ H 5 E' z( p/ ]) o7 s% ZN C u t ( A 1 , A 2 , . . . , A k ) = ∑ i = 1 k h i T L h i = ∑ i = 1 k ( H T L H ) i i = t r ( H T L H ) NCut(A_{1},A_{2},...,A_{k})=\sum\limits_{i=1}^{k}h_{i}^{T}Lh_{i}=\sum\limits_{i=1}^{k}(H^{T}LH)_{ii}=tr(H^{T}LH) 3 L$ J7 E; l# }NCut(A % K m) a. u2 }" y% q, }
16 A2 H+ T2 N" c( N! g
0 a' P' L! f2 T4 ^ ,A + l& L. R/ e" J8 D2$ j8 t: e B N7 c; y# r
2 z; b5 E. G4 u) t& o) o2 Z8 V ,...,A 3 O' e' t6 ?3 h+ |6 J
k % A4 L8 C* u& Q, H' W# j$ a2 Z1 {" [0 z0 b. U! i3 y1 P# w
)= 1 a- s8 w: A( x2 w! ]7 V' Y: xi=1+ b4 z/ a( q- E. B1 u" M0 ]
∑0 f2 s i0 X- v; K
k- j) S* {6 M K# v' h
: D' B% z: n1 z2 v: J- r
h 8 X3 i) q, x. i% g3 i
i $ m& Z, y/ B4 r" ^9 l2 j$ B }7 o: TT $ D/ ~6 @5 u% |- D8 e- }( d4 J3 F+ A+ q$ Z$ w F" C# C) Q: z
Lh * {7 c" h8 @: K+ D9 n
i1 e# y) L% Z; H5 w: o4 O+ X
4 Q: [4 R+ L# S, \0 A# q' t
= : T; p4 X! u2 k, g8 Qi=1, v$ }8 t$ P V- H/ z0 [) b
∑ 3 }% Y# _; i3 Uk m- g' r5 B: R5 H3 Q
6 v# U) H. _# }. @/ j3 J$ L (H / b% l5 I" X/ @T" m+ d& O" N* y, u
LH) # {0 p' Z- J( y& N& @$ ?
ii& e" S+ a0 q! i
8 g% e. U) l5 E1 b8 n k: I3 j =tr(H + E7 ?; K( w- }
T) G M& W) j L. u9 E6 z
LH)' P: ?9 D: ]( |/ v5 J
. _0 Q6 i. _2 W: K5 j( q7 ]但此时H T H ≠ I H^{T}H \not=IH # z1 u/ G/ x1 a& a/ [
T 0 S. }: V5 K) a H - T- p: k1 z# g/ \' q# q ' E9 H9 |3 }: g1 o2 p=I,而是H T D H = I H^{T}DH =IH / Z9 \7 Q3 J1 N! ]4 w
T / }: T0 T" _: ^) ~ DH=I0 f( E( E8 C3 r3 Q- D% B2 I
# k9 S3 y3 p1 s, k3 T0 e0 |
这是因为h i T D h i = ∑ j = 1 n h i j 2 d j = 1 v o l ( A i ) ∑ j ∈ A i d j = 1 v o l ( A i ) v o l ( A i ) = 1 h_{i}^{T}Dh_{i}=\sum\limits_{j=1}^{n}h_{ij}^{2}d_{j}=\frac{1}{vol(A_{i})}\sum\limits_{j\in A_{i}}d_{j}=\frac{1}{vol(A_{i})}vol(A_{i})=1h 7 B1 d* O" `" y* gi ) F4 A* V# K$ C+ OT ' `& Z \7 j. Z2 Q/ A' h/ f% J( n. @/ N& v, h& L
Dh }3 e- F* x' X% @& v* }( Ui z& q2 q- A$ N0 G0 Q: A3 C, `4 s% t' |0 d3 s! T! u
= . m$ E- f( Z* l$ d$ _ Nj=1% O6 ]( U2 o' e
∑ + c3 E7 N' j! Y) K. T2 hn & A. |) B: f4 J' u# m " w5 s9 F2 m0 ] h & B: p4 r; J9 O4 i7 N
ij+ M' U# a+ x9 J" f
2 % L8 e& l& U4 w: J ]" R+ p3 t5 q) J5 O
d 1 ^/ z- w2 p Z/ q# F
j - g: H& c6 K8 k0 c4 y2 r% t+ [5 }" D4 P7 f1 p4 _ P
= ! l, q- }& S/ E5 A
vol(A 4 V3 P X, Z3 Qi4 V: g, N o$ D
* ?9 i% Z& |# { )& F4 j- _; u, [8 T+ _! d( n& @
18 d3 ]* h$ _4 s0 ^
' } z1 A7 `: M8 \( Y1 M 7 V, ~4 P1 k4 [j∈A $ T* v% \) }+ ~& }0 }
i . [* I6 N: [. l5 f$ ~ K& B8 N6 c4 H1 V6 f1 i7 D
8 j6 T% H+ q5 t
∑ $ O+ G2 q! J! J2 q" Q$ k ' z- n# W" ?+ F d ' h3 d' V) z. e, @. N+ N# _j; t# n# o7 G3 P3 ?
0 w" ~' [9 c6 B% d7 D
= * Z( W5 P1 l8 l8 Z6 x* R, ~
vol(A & P" h1 K6 q/ |* ?* m
i f( L/ s' e* M- k% P7 P: o# u4 Q% ]8 X' P3 u8 ?/ H
) " Q5 _: X- n/ b# b/ J- I1 ' T% l8 U( N0 h/ a9 H 7 Q1 s7 |+ E' |: K0 P- n& ]" ? vol(A 4 j0 ~+ ~* @/ i- Yi9 t+ P0 C2 K) q t
9 R m; S; E2 g1 y: D/ |- G# p
)=1! B2 H6 Y' _! t9 Y1 F( r3 r
因此,此时切图优化目标为 4 } E9 X+ F" J4 r- t0 g$ u3 H0 D, d" X( B( ~
a r g m i n ⏟ H t r ( H T L H ) s . t . H T D H = I \underbrace{argmin}_{H} tr(H^{T}LH) s.t.H^{T}DH=I, ]- M( H& w) z
H . p) A, y8 n- R! o9 T0 \0 L8 ?& Iargmin6 o6 y6 ~) A! B( `! x, n
- S8 f. V+ |7 u8 a" m 0 H8 p9 W: c- b 6 z! p4 u; s; a tr(H 3 v& |8 z1 o. D, u1 X0 [* tT " M/ w& \: E. [' M3 w# b7 k! J LH)s.t.H 7 m0 F; Y" g+ i4 G1 T% A0 y- S& f6 _" p! AT& L4 D E' d6 g+ H8 ~
DH=I : X2 G' j; i0 H4 r E3 v. ^4 J, |- g" ~但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D # s9 {) P3 X. Z3 y% F
− 5 r- [( @; A h# ^; u
2" X: m. u" K( h/ D
1/ p3 D* S9 V, q# e
$ p+ Y& t: J$ n1 _9 s# f8 m$ M+ l. |0 _9 x5 A
F,则H T L H = F T D − 1 2 L D − 1 2 F H^{T}LH=F^{T}D^{-\frac{1}{2}}LD^{-\frac{1}{2}}FH ' _8 V. X- a7 {7 J' W1 \7 UT' G9 ^4 J5 g1 g ]1 E7 C. o
LH=F / n+ y& p8 g% {. rT 7 z% m; r7 T, }/ Z+ `/ G8 z D ! [% t+ M% y- z8 W4 e4 D: G− 5 Y- L+ B7 q# x \6 d
20 I+ }# N) T6 a3 L' [5 E4 Y
1" M. `5 B- i* z& r; z9 v
, c8 K0 p$ P }8 ?% ~7 {+ h& y - t* S; c% V6 o0 _. o+ M0 b LD 1 F+ X8 J' X& n- \− + @# t5 w! ?. H) M5 P( @
2 ! a2 t/ C" ^! }" q6 g1( |3 {+ D2 a6 W6 i5 ~! P
( z- R/ E: p4 W# g * C; Y9 o5 I2 c# h3 p9 O F、H T D H = F T F = I H^{T}DH=F^{T}F=IH ) l* E* G; [* `+ zT/ I* c! r" G% w' k( T% B
DH=F " V4 u' U0 m r: z
T+ Y3 ]% K( y" A6 o' M3 e
F=I,于是优化目标变更为" Q# s0 O6 C; Y
a r g m i n ⏟ F t r ( F T D − 1 2 L D − 1 2 F ) s . t . F T F = I \underbrace{argmin}_{F} tr(F^{T}D^{-\frac{1}{2}}LD^{-\frac{1}{2}}F) s.t.F^{T}F=I 5 P& F4 r/ ^2 i9 C- @! \* }F # h7 X/ x# Y0 f$ @& R: kargmin |+ w5 w# d) k) i # e, a& A# r# I# Z, c9 y. V; Y ! [- B2 |' }; Y2 J3 h0 m# W$ T3 G; B n1 O$ a' x$ b( V8 O
tr(F 9 e2 Z: H, ^- E5 z0 AT1 T; a" p! M! Y
D 6 T3 Q4 J1 {" ]% w
− + q, J& w, ~# z6 R2 D9 R26 u( A8 A# ?% `0 `. i
1+ J( L) y) Q/ X8 b+ r
2 e& E* w7 I# m2 N, b' R( R$ z
6 e$ A2 J4 M( {" V" J LD , G4 q( h2 q. J9 E9 Z7 n& f6 @( `- k+ K− / m8 ]/ X, M) O2 ) L6 ?- T% u% B' N) ~* c) T1# v; l9 w/ N X: o6 p4 Q# d5 B
. x( c2 P( V4 i: }' e
) w- j0 o+ T0 s4 V- K5 s2 I0 C# G
F)s.t.F 7 W: G4 y9 E) s0 Z8 i( ~
T# ], A! x6 A( O* Q) i }2 v# A
F=I . _5 `% s2 ~; H( A0 v) m$ S7 Q- Q: }4 b4 c( L% ]; l
现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 8 H2 d2 k" W! ]2 H8 x& P
− 1 K; h+ G* n+ H; o
2 5 ?1 m3 {# C o10 q8 U0 q7 y( \8 i2 d4 e
2 P* T+ g' D, j& ?, b ?5 {6 O7 B$ Q0 b1 `( a LD $ Z2 X1 y) s/ G
− % Y6 v0 `3 ?: E8 E/ Q+ j6 H# m
2- T9 A& V7 u( m0 ?
1' F# U, Q) Z1 h9 {/ x# S& u7 H! k G
5 r9 |1 x' e7 |: t& I$ h
8 z% D( Q( L2 Z. g: ^" N
(就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类 $ E! s6 J+ L0 x$ t: ~7 _8 s % b2 c* I1 ~0 b一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D : j. V5 o7 P! B+ C− % ?1 v. _8 e: h. y; }, V/ D: C- }) p
2 7 I" H: i I% n1 ' p# K% E* ~9 h+ T# |& w* Z0 K+ B" C: V' h( p9 t$ L9 `
, x9 v* x# B# D5 m" X$ ]* M9 y* h
LD ) k! c2 l/ C+ J
− ) e' ]& i. a7 f8 A& i/ X! i! _8 p& ~2 8 [2 q% C7 n. Z1" M# i* `0 a. I- L
5 y4 c& I9 b+ z* u
/ W5 ]$ E. G5 V+ z% P 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} 8 Q7 X8 J) _/ v2 Ud 3 b5 o% |! I! i% H1 ]5 K
i: i3 F% C0 h% N ]
% V' V' k; C8 g- t6 g/ z( c
∗d 0 z6 B- R, v, \6 t9 ej 9 e4 w9 h" q2 } J : E4 O6 }0 s/ t) @( n ) s6 P1 t$ c' I, o8 _ 5 j: i, o$ Z$ [, W$ E" }+ ]( F- r7 t* O
L m: K- Y8 B9 l A3 ^2 v7 wij0 ~# p& `! D0 C3 [" S+ b z
" l0 I6 K. d3 U3 A! | 9 W& w" ? y) H1 j- g ( D5 ]: ^& D, K4 }( K! l+ V$ S' `! s/ _4 }& p, k
二:谱聚类算法流程 5 y' e3 j% |8 p }* V给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x 4 ^7 s" D# _9 }! v' T1 G1 J. L1 _; v7 A6 s, r( ?3 m; S: u8 n
" i6 m! n+ _# f
,x - z0 A% t' }4 a* T' U' B2 F: a/ V2! }; w9 B- x0 ?
0 l- C" _ F% P k
,...,x 9 G I! h& Q2 S, L
n ) C$ [* r' l& | @ A {% C 9 w! R# A& z) M- w4 D$ s3 c }$ s' P4 N2 ~ u; H" G/ g4 g
' p; I( K- P( @1 R
根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix) * O% Q; o6 V' @8 }; `* r根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD' b/ [" D) e4 j: P6 {( n; @ T/ P+ a1 c
计算拉普拉斯矩阵L = D − W L=D-WL=D−W ) t- d6 W2 n, l; _; `得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D n. x% T3 i/ l# B- e3 V− 6 d. |# l# C( |+ B# L
2 8 Z/ L5 _1 A6 _( c6 ]- ~+ t1 2 ]9 X( S6 C( S+ g9 r l0 a1 x+ x , T; M- [) X9 Q) q2 O- i Q/ H0 \" N1 ] LD 1 p9 n: r* `' Z# ^) R/ d1 h, g0 a, |− : S0 v3 T/ q( l7 ~& ~8 p' g! }$ c2 % Y& y0 f. f v8 p7 G1' W! U6 m, i8 b0 R7 n0 b5 Q4 D
$ w" c8 B: p3 ^9 \1 _! L( {) [6 s
( F) z/ E1 u5 h0 H% q2 E% G" C- i0 h
计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D & @% N4 R* c2 x% Y
− + @$ F6 ?& v- Y) e+ a
2 ( h& m4 ~ K: T; w) l, G2 \2 g1 0 s# P4 _( J( p' r 7 }" |8 O4 b1 w V6 W( s4 U* m! v% X9 `$ _$ H8 ]9 T7 _
LD , F5 g7 h/ S2 X) A [: }− : U0 M# a7 C; z' a# R8 F' K2" O. e5 x7 E( Q, B" O- l' ]6 T
1 0 i: z" i+ y; Y4 I L& {" f; D$ A: d