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