标题: 【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现 [打印本页] 作者: 杨利霞 时间: 2022-9-12 18:41 标题: 【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现 【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现 3 r( U0 t- k+ c* H0 x n) w( J2 u/ o4 d本文部分内容源自刘建平博客,在此基础上进行总结拓展, X- U5 ~3 S) q# H9 g
@7 ^+ M, ~9 n
原文链接7 u/ Z' O4 i! y0 Y6 f2 ]: m+ t
文章目录: F# _" I5 Z- Q0 ~4 V" A' }* p
一:谱聚类与图划分8 r$ }7 o, {! o% }3 n9 X `) k: C
(1)比例割8 F, v, {. G2 z- ^$ E4 ?
(2)规范割(常用) " ]: h0 S( S8 B* O二:谱聚类算法流程 w: n4 W/ i; ~- I三:Python实现 $ a* ` i! M* p' n. M7 B- u四:谱聚类算法优缺点 9 P# h+ ?, a3 G3 O' i(1)优点 * ]# }6 @ t: l7 B( k(2)缺点4 v# G& h3 _) ]# O
一:谱聚类与图划分5 ?# Q* I. O+ ?% \, {9 U
无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中6 H, A! {! I5 K7 e
' z4 P- f" ` _* G. Y+ g
每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A ( [" Y) P# h7 C9 |! L
12 [) C! U$ j+ ]
: J( M7 J8 w: P6 r7 a ,A ; E8 a# A. X x; S% p$ `$ }
2, z. x6 h1 t2 [7 x
2 G+ N/ V! d/ l9 G ,...,A $ K: Y( [# F6 [# ]& Q
k 2 t5 _# ~' s) V- ^; q |0 [, b/ s" Q6 `+ e% f },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA ! h. m# t6 m5 y$ S
i ; U/ D: C+ J: Q$ [) \ 2 u) t" m: _* h* w7 d ∩A % m% z3 }3 Z* j7 j$ ?9 f/ q1 r; M# rj 8 ?) j; G! h8 Y! L6 o3 [; {3 P) o
=∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA ' D5 ~9 m, E7 y
1 ' {+ a& Q. T* g/ h5 X; ` ! W' J+ y+ n% s' t2 \/ _: W9 K2 { ∪A ' s7 L6 w- T* U, u6 Y: Q: R* r
2 + t) x8 R$ u u2 h! N 0 o& J/ i1 {# w ∪...∪A ; D. M+ [8 G% r" |0 V* x- }
k {5 k$ _% R4 Z6 i) u; N 2 e- p# u; \4 n2 R7 h* G" [) R =V6 h' H5 w+ i" b5 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)= % P) ]3 `7 ~/ X- L7 \( z5 x% \" ii∈A,j∈B 5 z9 N6 |! [, X4 l. a1 K& \∑ ! X. E, c! j7 j. T! q. L+ C. g1 W' b& M# G5 _
w v) T1 h8 [$ A$ aij n) |5 t* k& v8 r. I$ \4 W. ~9 [8 J% f
5 J9 a; v4 Z: |. ?
对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A 6 H, X* p: \3 Z5 h7 o
1/ [9 [2 y) `; [+ h5 J
& K, B8 W8 s& [3 N ,A 8 I' g% F e3 o2 : q0 x+ e7 q& \1 K+ h0 f5 V4 m# \( W) A8 A. C
,...,A ! H1 d1 z8 n9 A) dk4 }7 w1 m! B8 {% w2 ?9 |: A* _
9 B7 E, i! K& z1 M
},定义切图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 ; O" W" t p h1 X8 A9 T# z
10 E+ h( d) V) m+ j: D0 {
: `* f& i$ Q! V' S. p! v T ,A ( ]& f: E- r! h& y: H26 h) l" H: k; ?5 ^6 r3 @2 L& p# d
; m. N5 X. {- L0 _% j# [) A8 R
,...,A 1 |; Z7 J' @- e' \k) Y0 n; c+ l8 w8 b
& e% E1 l% M8 X* { )= ) c! S$ Y- b9 R6 i1 I5 }' ~5 B2 ) `( g1 e2 B5 {0 E# z* y$ _14 R& b. }6 F* U4 k
( w: V+ H# N. T $ E( S1 w6 o7 t% F: K @0 Yi=13 ~2 R2 r2 [9 i6 _# S
∑+ c' D) Z, _) C# \
k ; B& z8 ^" F/ c5 u! N. i - Y5 m4 S- y& U' s+ F W(A 4 m. L3 R2 K+ W3 K' t+ r
i5 N, I$ j/ Y% s% b; x L7 e5 ~
8 \7 k; u1 T2 B# J
, . p/ j, y6 R. i g8 V( L% p2 s! a9 s; RA 5 Z7 Z* { e3 q! \+ a7 C3 zˉ* F' d5 W" G, r' X3 T6 Q/ v! U7 W
2 x) l8 V( M5 ^, i6 g, c. Di6 ^* ~6 J# Y- U0 H# ~. ^* z" H
! G% _ A* J5 a: s$ T7 `
) (其中A ˉ i \bar A_{i} ! F( u5 B& v: a8 n: |/ BA 7 K$ |9 l2 @: |ˉ4 q% J. `& |1 V; w, I2 p1 D' j; I3 S
* P# v8 o5 v$ |+ V# t" p( u; A5 Xi2 v }) c* a) k
2 k2 k( P. C* {/ o5 F
为A i A_{i}A . t# }( N3 ]/ q( g( t: X% Y# q
i 2 N# @$ @% M: [+ @7 Z% |! ^ 7 W9 Y" Y. H/ I, B 的补集) 3 g/ q. R0 X& 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 3 u- f# }2 y+ s# Y7 N8 Q) h
1 ' G8 Y2 C7 m" K4 A9 v. P 4 i! F) \5 ]( l* L$ J ,A * Y! r$ b8 e' k0 |1 o7 U. G9 X; G
2 / r! H- a8 M/ }" j1 ?; p; ` O; h" J4 ~7 X4 l g' u2 x
,...,A 4 I4 E$ c' C! r6 k- L% u K9 m7 j
k / D7 h$ ?6 W. S- s , g+ y) ^' k$ D: i$ ]3 J; ] )= 1 }- _2 {* V, g5 A3 Z0 t, m
2; z2 a- n) U6 ~! T
1* x; D; q3 t0 x' t9 Y# {4 f0 v g
4 f, O5 C, q! Y3 h9 k, h 8 t7 ?- M' v& m4 Ri=10 u- D+ g% J3 T' U0 R: B
∑9 E" m+ Y e. s3 L' m
k$ N: D7 t$ V. R3 h6 H9 {5 R
( L3 p i" [* A( I1 w1 c W(A $ j# t, u% ]* }* ~4 p- B6 si0 R% I' I! ?) _3 ^4 N
" |& ]" X4 U0 f8 q , 0 M) k& u4 f- C4 _A ( w" l6 A9 Z5 s& Xˉ! z4 i2 d0 ?5 @( t0 L/ X) {
+ l& R& n3 c: }8 ti * ?0 B a' m/ A7 ?7 A5 T% R& e- a. x- A' P# n
)在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A . B3 J# @) [ \" ]$ y" t
1 & L. s& u4 N9 {/ t+ i! @ : O6 V9 P0 w2 X% f ,A & f% A6 b+ V1 T$ c9 u) J
2 0 _/ E6 E# c. X$ M: c A$ p8 g3 u8 O
,...,A $ F1 W7 e9 ^+ w t, j
k# T0 n8 A' ^+ h! W4 x5 ^0 o D
" Q7 t( O/ @$ t J
)可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡 9 N8 B4 L6 R# x* J$ s+ t0 h& w, x* i# G+ m1 M' t- ~: A9 K, {
例如下图,选择一个权重最小的边缘的点,比如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 8 F, N4 V+ t; f7 x0 A/ D6 i2 I! m( @1 / {: S! t) X3 C2 F! w! ~ 9 ?; N9 k1 R. Z8 J6 W$ x, q ,A $ ^! a- [$ v3 J( k! X2# o7 N; ^" |7 Z5 ~1 {
1 u$ n+ D# p. Z ,...,A + B% L& J' c9 G! N% V* x6 l
k) y% L L' N6 p6 o9 Y* f
% s3 Y: J5 J- L2 m0 W& a )但是却不是最优的切图 s6 g$ ^" r' `6 D( u% f" e
7 D5 D: E& Q" a1 Q为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割* E' t! ~% q$ } K/ W# C
2 d: |% J% Y5 r5 F% [( ?" G9 X: u( s
比例割: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 . \0 @ O9 Q. n( K+ a$ t
1 y$ i) p5 U* A. |, G4 e' [
0 Z& ~; A6 q+ ]8 s7 f# } ,A + l+ l( h0 r* D- e! w2 8 c) b4 @* f+ y6 U/ b+ J% O9 z1 [! w/ e+ O4 h) h% j/ V3 {# \
,...,A % L8 r5 X3 C% r
k' @6 g% z; h; b) q {$ k
; c4 L2 L/ a( U N( O5 l( p0 Q3 c )= ( F+ T1 z) p3 u- S9 x; ~( d2 L2 1 Y- I& g2 w5 {, h& `4 A& L10 u$ f" g( i( r9 V% N$ m( y+ n2 m
8 ]7 u0 h7 X9 |! L+ T' p
2 T9 v ~1 ?9 h7 q v3 u
i=1. w( J' e9 A5 V! C
∑- A6 L" n5 m6 a% t! P
k / v: N' i7 d6 t; ~' U( z" k1 z# a% l$ @/ B- A" v& d3 i, n
2 [ m, t9 l+ C5 k M# L& n
∣A 6 J9 b$ g8 ~& Z/ R, b5 j1 v/ Gi0 w7 u1 V$ ~) n; F
4 |' c- j. f% ^0 e ∣; I+ E7 b3 v0 V* F6 `+ i
W(A & H# D0 m1 o4 `& y
i. v+ w# s3 \+ {1 C- K2 f
; i: ]9 {- X: `6 ^ \& _
, 6 D9 l1 _0 l( w4 Q4 m* W3 s/ bA* j; V" o7 Z+ D P
ˉ5 d9 t5 d1 G3 L/ c0 n8 K
% e5 Y0 h G. q! T: wi ; Q( u- s9 k0 d4 K- Y" @6 X8 p: F4 f* g8 |; Y
) ' f* }2 ~0 Z* B2 C" A' U & _6 g( R, C/ u I4 Z r5 Z+ b" n2 B2 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 ' R2 r3 G' n/ H8 q4 s# q
1 ) R, m( Z3 a g3 b( j/ Q( u3 } e& S" h
,A % [; {2 a# K. Y" C) |
2# e1 [% W9 K% v. g; O
, s& D5 n% Z1 T ,...,A , \- A3 x) h: r$ w( G3 c2 P( ek 0 u; F: j0 s7 N" F, m; y- d l% u3 G+ `# a
)= - f! b. T* C3 T& ?7 T1 r2 9 z" K1 S7 v) Z& a1 * r) U/ W0 y& E- V/ ~+ `9 A' {! V) c1 K
1 } x1 _( B% \2 }i=1 ) r0 Q c; V6 U- O) u; x∑" I0 I M, Y/ s! Q
k. K2 I7 `5 o Z. r7 j
' [8 ]2 K% E+ H! e: k / v4 ^/ q& X5 N$ p* D2 S8 g( fvol(A 0 t, W4 p0 ^1 g6 \8 `( Z6 yi ! ]" Y8 Q) D2 f 6 ]2 u+ f" S$ w @. y3 W1 a ) 5 ?5 V, Z7 f2 G+ eW(A + n/ M, Q; x; z* \
i # U9 X4 @# @0 s8 V" ]) v8 a6 Z/ f' R! A& }$ u9 x6 v" q
, - {: I; S/ o0 F. M& [& C
A$ b& e6 w5 T$ Q1 a5 b
ˉ% P0 N) N5 b) z
0 k* r h( d* M4 t' a) V
i, Y+ T$ N' a; n0 ^
j4 R0 ^; [) W x8 C, i k; @ )9 L5 z0 A' Q2 I9 y$ y& }+ f. `
& v; o4 ^1 Z. ?0 t/ u9 i/ r+ T3 C' r+ K2 m+ H) z3 N8 }/ S! h
(1)比例割5 Y8 u# o4 d/ }: M) L/ m/ F0 F/ Q7 f
引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h 7 P6 _) |# O2 u9 Q- vj& q+ ]5 B! J5 ~& K" u6 X
" u; p3 G$ T/ A8 R" r# ]. S
∈{h / O* J7 _7 y* V \
1( d: {# d1 F3 D0 k
) H- ?& \: M' \' k" S ,h " O9 h, X8 f" i" j2 L& \/ s4 W
2 & y- z# _6 [9 v- H: H& R8 W& S/ G! `. Y
,...,h 8 ~: n# b' _/ W. [. C {, S. Z
k 6 t+ A9 k3 Y9 h5 Y- s4 Z( s2 G3 @' z5 d" |- @
},j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h . q; O* i6 U0 I3 \5 j% `) m4 Bj 4 w1 [7 A x3 W# V! B/ g0 ?9 N8 G' u2 ^
,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h / w5 L5 q1 F( R# \( y# b7 x% v
ij: {- \( v& ]/ W. d! ~; {
7 c2 r( e6 d+ m8 c$ A7 f) Z% a 如下0 C* [- {. r4 Q1 b5 {" W
$ l) A7 J, ]5 I- d( ih i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=: c4 p+ C. k) P% `. @. L
{0,vi∉Aj|Aj|−−−√,vi∈Aj1 ]! L, ^5 h! W4 l) T- k
{0,vi∉Aj|Aj|,vi∈Aj ; P$ C( N8 F6 i3 A3 h" j# g. K* eh ) L: c* x8 W: }2 l+ o5 E4 l, t! Nij" U( x1 S/ W. @# k1 ]
( K' M- l9 f+ x' s2 ? S& t1 K. M4 o ={ ( o. u" p% H1 W3 }7 _
0,v ( g6 x8 d7 r4 j; N" E1 G2 u
i7 X/ e' u2 K: u) S5 h
4 h9 U. p7 R" R& [0 i1 d8 z0 E* a5 X" F
∈ % _9 i ]8 M7 |" v& n3 x2 `/ 8 z- L0 ~% q+ I; {0 S2 uA ' m+ ?' D; \' h; a
j ! b+ F6 y/ u3 e5 K ]7 c+ B9 C9 w2 _# z, {
$ p- f4 M% q, [1 j* c* m于是,对于h i T L h i h_{i}^{T}Lh_{i}h - p3 ~# }/ I7 E7 s Q! u; l6 }
i8 R% r- A* p) M% C: k
T/ e2 N* a y8 l) J7 K1 r! T1 ^
$ n3 \$ C7 @* n& J( ^, h2 b0 s
Lh & S- |# b o% x( V8 d) n
i( f! _4 v. Q) k* B! Z0 F9 M' C0 A; J
3 B- b) _$ O/ \# E; r& z ,根据拉普拉斯矩阵性质可知 0 T" b4 Y% C* W' s H5 O ; [$ ~! p3 N/ G: ]& Y7 ^+ B对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f 9 ?) _: {' I; q+ u1 ]( G1 ' z% N* }; z. y: _$ }( h/ d1 {" S/ H2 {* w! q
,...,f 1 M1 X$ E6 i) _7 I0 W: n5 M+ l5 T/ U
n ( k8 ]8 l5 d' t4 S" `" _+ P3 O" E, ?; ^: J
) 1 z# s' d; R* s( VT- P, H( U1 Z9 r
∈R & I) V8 |( ~1 Z" s' q
n : o# c* N7 C w ,有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 % R1 F* n& Z0 f$ P% Z5 M+ f, CT5 R0 P9 L2 A3 W0 p
Lf= + X7 x. q+ S) z. `1 ~/ ^7 K23 v/ T* @& P S! ~% o e9 x7 _
11 g& v( z8 J/ ~( P- O9 R
1 K) D$ l6 {+ h
& p; D7 [" D; A. ~i,j=1: C2 @ H6 R" I* n
∑ . V+ q" S) f8 W! dn; u' x$ H/ S" l. f+ ?/ V; o0 K
4 V* A) k+ c* e w $ ?% g9 C- S# x q5 Dij3 z. G+ r* r8 ]' @
: J; t; J7 Y! j; E" V8 @ (f 5 t5 U' r' u1 |. M, C r% j
i! r- @# r0 I6 M& u+ W
/ ]5 `1 u0 X) T, X0 y! R0 B −f ' C; C' Q% U0 [- J/ |j + s6 J# k: P9 D2 H6 L9 _5 y5 a- ] d. E. p1 k8 G9 a$ c! [ ) 5 l3 I% O: z! \: |( Q& I- Y6 h2: C7 r7 G& F7 r, S ] P
/ U* e8 I5 G6 L' h0 G
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}|}* Z8 h* k7 Z c
h $ ~. _3 p9 S. c
i % C# O. ]" J, H2 `2 Z+ ~/ T! jT ) ]' S9 K* L _( `6 w- |. L' B s* \% r( Z0 J7 _1 b
Lh ) B9 L# D5 K) ]* ai 1 ?8 R' s! v: k3 R: I) n1 X( E$ h) o/ g' h }1 Z
= 3 v+ H x2 f$ m4 p3 a
2% a: K# X% c0 F& D
17 b0 `3 Q, X. d H) f% V
9 c2 X; y# p" [0 x& K5 r* Q+ P ; `- e# R5 H0 x, S! j% F2 Rm=16 G, G2 X$ |3 ~4 L2 H$ u8 M/ @
∑" V0 v8 f: k$ F T# R3 w1 w: x
7 r- C" W3 w/ Q7 ]: M7 R" _6 Z, C 5 D* B0 ^* Y fn=1+ r) _# O, U+ F2 a+ S! n
∑" O4 q: H: }/ [- E9 f
* G. _5 X. A# B' c; c' C# v% | w / C F. Z; X2 m" A% h' x
mn 7 x2 d$ Y3 `6 d& B$ p9 ^: ]8 l% W- _" Q" ]
(h 5 G, G+ e( ?! M5 Z3 @6 Mim 2 m0 G8 q( h/ m' A; m, g' d' Q% E) y: |1 X( k- K: C+ u1 p) h$ G$ Y
−h , s5 O! }$ s* ^( t4 I" R Q ain & c8 O$ F. U8 _9 W; k: ]- Q9 a1 E7 [# G! ^
) " j: X: r% y1 J& V6 a+ R
2 , e9 w! A1 C* Y) M) S( h = ; j/ D+ Z, Q: v+ ]5 N4 X! N∣A 9 ?& V( R. K# E1 [ H' t# Oi ; G- H1 K9 X3 }3 G; @: \- K0 L' {/ ~7 c" y+ u5 z! j
∣6 u4 J0 |7 k0 N1 ]" F, |6 ]
cut(A 5 l4 F, @( F f, Q fi: O6 W6 {0 o% b2 V$ s6 n* z) w: b" l
. Q7 R' ?7 O! u' X: o0 }( W4 ~ , ( v% {% s5 b$ U* j W
A, N9 B- F8 m6 o* B8 E
ˉ5 n7 I# y4 A \2 J+ G9 ]+ i5 a: u0 s
0 F" X, Z, X' \" Wi4 [3 O1 {9 c+ ^- n5 H3 d3 x: Q& V
3 t0 s& w9 d1 j4 Y )& J; o" ^/ v l( m, K
, Z7 K5 I3 q- p* r3 `
' W' P+ @% |' `( J* m2 B
9 Q3 M2 `- t# }4 v( u. f6 {
严格证明过程请看刘建平博客:链接 7 d& m' W& x/ \$ w5 S% j2 D$ i可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h 5 D1 q8 R; q* U9 |- X q4 Ni' {& E! A& i5 V: o* L/ U
T/ ] g) K* Q$ H
7 L$ ~3 H3 }( m, ]) Y) e& m( V8 R+ S
Lh : H' g- [; _& D! }( ], j6 Ni 2 q8 `. N q ? & [( A4 v0 n- r2 d+ x/ O5 J ,那么对于k kk个子图 + L' F1 a, a8 Z9 D2 i7 h / M- g9 k) \' d0 wR 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)9 o ^" ^, _" M
RatioCut(A 9 g$ H' L! s! S: ?- j" @' V* u- {
16 x% `2 i9 D# s. R9 w0 x
/ ~9 c% H% K1 g W5 g& V; S
,A ' y" U5 e' ~7 p" Z) c, [2 : C& y& P3 a9 k; c, x3 s9 M! [. t8 P6 O- X
,...,A : F3 H4 q$ h+ t* y0 E8 V
k3 P' @4 s8 i& o, A: x( A2 H
( l6 J8 T$ t- [% A' U( ~
)= 1 ^$ U9 H$ ?9 E/ O$ N4 C5 p
i=1( I6 A. z; W$ F/ _ H4 g m* F
∑ / M9 G, s; n; q3 gk! r2 f4 E4 v/ K
) w- P% R' S3 |% C; h2 z( k: ~, o/ q h 7 j6 e2 i2 x' l9 F/ i& J
i 1 k5 Q4 v: x$ D) N& ?) H5 O! aT * j( @, o3 x( ]+ M: k/ M) W2 l7 P0 Z; l1 e! ]9 d5 J' ~- J/ s
Lh 9 g/ r/ [* |- e# J. P( R' @
i - a4 ]% B1 w) Z% | @7 d/ E! d- D* F8 K$ Q
= # H2 a3 X, z5 x$ r2 Y; F- a
i=1! Y: E) L) k; J/ s* {
∑8 e0 M) b5 L9 @, V& @/ d
k: z( e: Q5 ]* H
: C2 _. \& s7 C( x4 T/ Q1 T
(H * E2 T) r) p0 F* MT) @* U5 P5 ~2 a
LH) , @3 ]# J9 }. o0 q' M
ii7 y- I2 Z& v9 j% z
4 `5 I9 J7 q4 q) k6 S
=tr(H 7 E: P& h) C$ P0 I; ?
T( p9 G' a9 A; W
LH) , M3 f' l( V* t9 U) m r* h/ S 1 n7 N% R/ j6 [因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H ' v; M2 }" {8 Y5 r5 pT % m! X4 M+ i/ e. Z7 }/ w2 y LH)。又因为H T H = I H^{T}H=IH % q0 H5 w% \& W! j# `* L, BT 8 |8 r* C- S9 o# C" r, B! f0 a" Y2 d H=I(单位矩阵),则切图优化目标为 v4 @/ ^1 q0 j
! Z& ^6 b+ F# W5 U: j3 \a 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 P0 A6 G6 j1 A) Q& z- g! X
H3 M: a* K$ J4 q
argmin + _0 |* E' v; [( ^7 N5 D) S$ T" v; H& N/ A$ R" {( U
1 q# I9 D) s- w( v! ?0 h* u 4 z) E: g1 X9 | tr(H % e* f. }7 l; t: _1 x6 A% K$ g4 y8 iT& A9 S" w/ ]% F( T# u
LH)s.t.H * ^' C3 s+ d) IT5 S, W7 p; ?' K, Z" w" v
H=I0 C5 ~6 A1 M S: V
' k! |- u6 I0 g4 Z
对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H & t, Q3 I# N2 { b4 L% x, w; C) yt , v. f: k/ r2 i; r LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h - i* i) o! ?* i/ D1 J( R
i 2 @# E' `% {( X( ]T : x t! E* P4 |2 B' H$ s- b( d% I' C/ ]( E
Lh / \! C6 d7 @2 hi |9 _2 t {$ D$ A: J+ o! {- E' q: O f6 K( `2 i
,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h $ u( S: C8 _% v0 e8 k: s& _& Q! G' ji- T9 U( ]( n. @9 {8 s; A5 M5 ]
T 3 n3 r( S' G$ g# r5 u 9 w) J* _" @3 y# U( r: h. ^ Lh 2 B, i( H- b+ r% d" `i 1 e4 P. d5 V: {- o' m & e5 k* ~4 Q! S7 P 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h 7 u* C% |4 Q" R
i 8 Q6 Q) _8 w8 k% m% g$ B) ST. ~% l# O m' w+ o
0 O) X3 _0 w* K6 b Lh 8 W; j9 E0 ?& z% U
i& ?- h& T( z0 v) i
8 c1 B6 f2 Q4 a4 F
,目标就是找到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 5 s5 d3 F: D0 A: W( ft J& x4 P% c( _- m; t; h LH)= / y7 e* k/ h! X- x0 K2 u
i=1 / n0 e8 [' @% M9 t( x* R∑) b+ J) B5 z5 L
k 7 f7 l; ]" Z% f9 `& f8 t% }, i5 }, {! N, P, e
h 3 p& B) ^6 `2 b! S D, P0 bi4 P& `- r2 i+ v9 [
T [9 r+ c1 ^5 y9 i6 `% t
' n! T- Q' p. Y2 X5 g) ?
Lh 5 z. I9 V7 |' p8 Z4 D9 o* T
i 5 @# j! K% Z3 O) E: b) m3 p# X6 ]- R2 f1 |/ }
,则目标就是要找到k kk个最小的特征值 3 c/ r5 L( V, r. `" W; B( N7 g/ g6 u5 ~
因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下, u/ o" W. {& u
! [- F" p1 K2 g6 q4 g+ e7 B* \0 J# o1 H一般来说,k kk远小于n nn,也就说进行了降维 7 `# i5 o2 v# O+ i8 @+ ah 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}}} . w0 t; I5 w o4 y9 @ g7 R- ]; q) n9 `h ( g( i* o6 J/ c# R8 L
ij ; N0 m ?6 W. S' `% a6 C- ~3 @∗! }1 v8 M; P6 m* @; Q) Y
: u1 z/ N* {$ ?( y/ ^3 s = 1 y2 \7 ]2 R, u+ ?& I Y9 N( * h- \, M/ D3 v; It=1 V M& v4 U! i& h* B O7 z8 L
∑) Y4 {5 P1 j( i% Y! ^
k 8 F& Z; n8 T1 V9 S& b/ S% L: ?9 C( I+ g9 ~4 {
h 0 T- O4 @+ n4 H& S+ v2 tit9 k) {; G" x8 W0 M4 Q
2 1 ?; s) O) X% ~: j7 Y* { ! t: G! p, t1 t, O9 I ) . H1 l0 C& }; F2 $ s' _8 w! b3 w9 E1 6 K. g! r& S: T) p! M " Y- N* `& k. o Z( w. w& J! S! Z
/ u$ B8 X$ T. \h {2 x9 s" F' p- T
ij7 J9 Y! b$ p( |. k2 K
. i' Z) f0 b* I5 a
+ ?4 Q: b6 f" o0 _* H. N
+ Y" {" O' ?0 i8 g5 g+ N
( j7 W* L4 c" u# _1 s8 r9 Q ?5 W" k# B- Q- \0 ~这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类/ s- I+ m' _- c! [- k
" X1 B& D2 g. F" Z; r- b6 A# t
(2)规范割(常用); ]% W. S4 V" c3 i, z* _2 W5 G; Z) y
规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A 3 R$ P: H( s, e/ ^* E
i5 t; |* i/ s( n. H$ Q1 w; Y3 c' D
* c' W2 |! }) v/ b* q4 i. {4 O( ` ∣换成了v o l ( A i ) vol(A_{i})vol(A / {+ s+ a2 e* C
i* y& V4 x6 U4 ` x& m7 H2 s7 o
( N- i, ^4 ]5 ?5 d+ `6 G1 w ),定义指示向量h i j h_{ij}h 6 i) r0 P$ T3 i/ r! B; h' c* b) a
ij, D8 t- g$ r. U: j3 K' }) z
6 f3 Y2 d" j L% D* r
如下) O1 i1 x A9 }) ]9 i4 V
! x2 R' u9 b! ^7 ]; z0 J9 mh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}= 2 [) s* I+ j" O1 A5 s{0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj ) h8 {* H5 w( K{0,vi∉Ajvol(Ai),vi∈Aj 8 G/ `3 R0 ]: r$ }! |) V7 m" x% Gh 0 R5 d8 _& y) _/ Q @9 dij$ B! W& P5 }8 v! D) Y, P
- K# B2 f ?" B# E- o: ^+ e9 b' Y% Q ={ ; g% K) ]3 [6 ?. m1 l9 D, S0,v 9 ? G$ [ @& I. n( _
i1 v: \+ |3 s; o) _# \5 I
7 Y6 j \" g# @! h/ ^9 n! A ∈ 8 [5 c9 Z7 l' z% Q9 t/ O: c S8 o# rA 2 f/ y5 p' Y8 ~7 A# M4 M
j# h7 y6 _; q5 ?# F
# @ `% P0 F# ?$ Q% p* F/ y3 y+ I
; G, G h& r" U V4 N1 F) x5 `+ [vol(A " i* \- g$ f( N1 E' S5 N g
i 9 y/ V \" z$ {4 I6 n4 F3 h 7 Z) A# s1 l6 J/ ` h0 L& l ) - G& o W4 @2 m X. y; \* y0 a4 n. t4 S. ^& J4 u! }4 \: `) h
,v * j4 N& ?. K8 l" o% ^
i ) ]" ]! i$ j! L5 h" r3 ]0 f ' P( X F# q- R8 J. ~- q* h ∈A ( D$ S# ]# O; V5 C6 U# Wj d) H& C) E9 m" E* [: V% z5 c1 D$ X" `0 u