QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2940|回复: 0
打印 上一主题 下一主题

[其他资源] 【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2022-9-12 18:41 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现$ C7 p8 n9 e$ o3 |, j

    7 s7 q/ O" |  Q" r8 Y本文部分内容源自刘建平博客,在此基础上进行总结拓展
    & J0 O* e6 b! }$ L* \1 o% Q3 `0 P4 J0 _' y
    原文链接
    , o7 ~, P; v( ?, t5 @. l- ^文章目录
    2 Y+ d" c: s5 m5 Z一:谱聚类与图划分- n2 F- p2 Q# J) d) y, `3 {
    (1)比例割
    8 @! i5 i+ t9 p7 y4 m2 G(2)规范割(常用)
    ' |% r" v' I5 q( V二:谱聚类算法流程. B; F/ b# h5 f) g+ H6 N5 Q
    三:Python实现
    1 `. k* w$ [) y0 i9 @5 A四:谱聚类算法优缺点
    ) j: o* Z( e/ m8 w, ~; X  Y(1)优点5 U; N. n9 X( l8 S6 I5 j. k
    (2)缺点
    8 j# w( M9 q6 f6 A8 N3 d一:谱聚类与图划分
    ; ~$ M! E  |( }( z6 z2 B无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    / m6 Q5 A. A( I" ~2 H* R: r9 v  ~) R+ L* y9 N" K3 ]
    每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    9 ]% Z$ d) D7 ?2 _1
    & L( Q: P/ b5 @0 i4 O* [
    / b, A. N( o9 \" v2 M ,A
    / u  h' R8 ^( [; n2! l/ j3 s! L* P% Z  a0 R
      l: ^( R3 q3 _* V0 h
    ,...,A
    3 @7 A$ @; m2 a: G. c( Kk% j3 S6 c$ z& i, ^0 i/ o

    . ~1 B0 h+ B4 h- A! n },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    & V& z# b: T7 q. N  ii3 N# F7 f* j& T! S8 {  a
    0 \3 O" Q. O: g
    ∩A
    , V" d1 K/ S1 J4 E( e1 |+ Oj, B. N1 s8 n% a2 I2 \, ]$ @
    6 ~  r* w9 E6 S  s8 B! D9 H
    =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    . [# u$ |; P) h9 u0 f1 x, L1, }3 O% j# J' V2 H  C# `
    : K: p% Q- ^- a7 Y( q) M
    ∪A
    ; c, W" j; Y2 @0 ]2' ^- x- K: u/ Q8 ^# B! b2 N) O

    6 H: ~8 E" `4 g ∪...∪A
    & L+ A/ H' {' m& i6 N/ H9 A% F0 n) Ak
    " ]2 @1 J! S1 I* j3 x( p/ y7 n' ?- i" [$ _9 R" t
    =V
    ) g& L& j6 T7 i, O% 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)=
    6 n8 H1 [6 b& H2 M9 Z' u( _i∈A,j∈B$ k0 b+ P5 I% `4 }) x( q
    3 n$ l5 ]3 f1 ~) t3 R
    ' q4 z1 j. H/ B# p( Z( L( M& c! O
    w   O( P. w" B4 L; J
    ij+ D( [1 P4 _6 K, g
    + o: l& f! A" L7 i* O
    ) G9 }# h! J4 c; K; T# U0 J
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A 8 i9 S) J3 @5 W
    1
    8 _! F; T9 z# U: [6 K, f5 g. x8 B9 V+ Q( j; n
    ,A
    $ E: h8 x. W, j( p0 e- u2
    1 M5 o1 c5 E+ H' z# G
    / y4 R7 K% O1 t) p' m# r* l ,...,A 8 E1 e) S) h; X* v7 f
    k
    + V* w' m, b! J9 R6 \: b- r
    + y$ @' R7 E: l6 H6 d1 K! C" P" a+ H },定义切图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 1 f5 [' M, h3 A4 J
    1& S, O) G5 b; @+ N5 `
    ; g$ N4 V9 f" g- {8 [! E( X) o6 V$ \+ [
    ,A
    % X  V9 j3 u  k5 A2
    3 s( q* r7 H' |- M8 u9 f, E2 S; p; J: P" p( d" N4 q- f
    ,...,A
    : z# q& d4 {, h, t& Y6 `4 vk( W2 @$ N$ d8 }: Y
    - S- |. M1 V5 z( g' {0 f
    )=   g3 a+ p; T  ]- O) w
    2. v+ S# D/ u1 z, X
    16 `$ S4 z; u6 `# e
    ! o( f3 z9 Y4 s$ s  I( I

    % a! L7 K; T0 a" ti=1" h" I! S9 n6 y" s& U% W6 P( o
    ) R$ o( e! i& t) v" I) U/ [
    k
    3 q/ e& y  o: Y& Q7 a6 m5 t/ }6 [9 N% P: ]/ o! [4 Y
    W(A
    1 g, ^3 H) v& {( ui
    6 r& S! M$ \: E  i; Y, m) t6 L/ l: L6 {' H' m8 U
    ,
    ) a! ^1 d3 E! E# ~A' A0 V/ D+ V" h5 j  \  p- |
    ˉ
    " K9 T+ l, Y/ t1 j* z1 V& u- S, w" j1 G
    i: ]. {' x9 n1 _1 a9 {% I

    ( K% z. B$ Y+ R5 U' {0 U ) (其中A ˉ i \bar A_{i} & q: G8 y! c6 Z3 I
    A9 V7 ~4 V" {3 `8 \: Y; R3 s# g
    ˉ, b7 d8 D3 h0 c* y6 @# D; v# K8 H

    ( m0 t3 M2 T' T+ ^5 O' q7 |7 [i
    5 C3 g5 d+ B/ @- y0 Z- \3 h8 _; I( k/ n' c
    为A i A_{i}A " R$ C* O* G, }" _( r3 i: v
    i% `& l7 Z% u% X* i& z" H

    , q2 D+ c: s1 m) a! N9 n  _ 的补集)7 e1 h9 l0 _( Q1 s  w' ]
    可以看出,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 ' h/ F/ ?2 z& _$ i9 U2 a4 S
    1
    $ j5 h- R5 `4 X& t3 M: Y9 j: I; P& p3 U1 G
    ,A ! P/ A/ M1 A0 B. N* Q
    2
    . [9 d+ R6 L5 |5 L! J0 K
    6 m" q; t( w* H  |5 P ,...,A % k% E6 H( a% E  g8 ]" o+ e
    k+ n$ V" \8 ]" _: v: G' Z

    ! n/ ^1 \3 F. s5 Q! [% R; G0 N- y( C )= ' d) J5 V9 U( E2 x  A4 L/ i
    2
      V1 x; X& a7 Z4 k/ f' S1% v; S2 P1 g* x! A1 ?  X

      I& u1 s$ D2 y3 h
    - m; D, M" m5 ?2 i  g2 X3 f8 Ii=14 c  k+ N9 m/ r, G. d0 n6 l
    # X1 @2 ]. x9 o8 T, H2 @- r
    k. S: ?/ W' }9 U

    1 |4 O. ]6 v6 c7 z7 W% D6 _0 V1 ] W(A " b+ v+ F: D" l1 v) I
    i) m9 \& f- P8 n" ~- f- f* e7 V

    9 g0 w& t* p, V. L& B6 v* R , 4 w; q8 R2 I% v: ~$ s: d
    A
    - q! t, ]+ q; v4 A% E$ j; c  [4 Qˉ( l7 X' V/ m% b9 f  X
    5 K9 x$ F( j5 f8 W) @
    i! `) \/ \  m, O2 N9 R- c- L
    ' \7 s+ Z* d6 O) }) L- }
    )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
    ! J: }* Z: c; E  k# U1
    ) q: u. s) z# }! X; T6 Q' X6 g+ Q1 F, i. {1 j% I, C; X
    ,A
    0 ~+ n0 D1 {4 r26 v7 Y+ u& u3 s& g- f# O, k0 ^
    % W) n' r5 u& H! m/ U
    ,...,A
    $ j& L4 r5 }2 Hk2 _* k& c- r- P+ D6 |1 }
    ( G+ @0 @7 r. J7 i7 f) ]0 w' c1 \
    )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡( x6 |8 n. N8 c. s% q5 f8 ~' c* T
    8 L! b. J: V; c: Q: v! q7 @
    例如下图,选择一个权重最小的边缘的点,比如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   v0 p# Q% J- x) l" i2 @
    19 A5 `/ ~6 V$ N; b9 h3 K# w6 w& y/ j

    % h# f0 e( x0 j3 k' d* L: ^7 L+ Q ,A
    6 g+ X: Z8 ]9 k6 i( v. z26 G1 y2 x: p" Y+ {; ~$ \) }

    ' a( x3 t! V% L: F- U ,...,A
    4 I) K; I, n: n6 o( Dk& _" D/ K9 \( D. ^. ~
    . L& a9 k0 K& J& b% z2 W4 o
    )但是却不是最优的切图: o3 e* G" g# {" P1 l
    & u7 ~/ ~5 P+ r+ p) R7 |4 s
    为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    / G( K+ X8 b* N# c" P" `) ?% @1 g: |; X
    比例割: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 . i5 l" [4 ^, H/ v, I
    1
    4 z! f8 j) G* R& K9 o8 x! r
    6 `- n7 M8 d8 ~- x ,A " H) g+ h; Q. d7 A) |
    2
    2 W& s2 }# o' p4 l, x/ G% L2 P+ U$ F( G7 T/ z9 ?- \5 x
    ,...,A 0 h0 K6 T7 X+ g) D. T0 d6 C
    k
    % P% a% F( s5 [& R" x: [) {. M" U5 Z3 A2 W
    )= ! u+ d- T1 P1 U& \
    23 K6 G& t1 e2 B) f' w( [2 ]0 W
    1
    " O4 Y5 w+ x2 S  A' R% A4 {
    - u2 r* a$ t2 y1 e1 X: C! F. K% \+ b5 d% c; _, b* g
    i=1
    & N/ G; B$ H: ~3 z1 }! c7 {, Y- y& b* X7 K& w  o1 C
    k
    , t, w9 e- S( z+ l+ Q5 _6 \( G
    7 W( a- w, K9 Z/ U! H
    ) t6 x4 O+ c- C3 a: W∣A
    ' t: e0 x3 m* i1 q6 l" q0 P+ ji
    8 r2 _) [+ U) ]" ^6 l5 ]. ^$ C8 }: ~" c' M! T+ _& r* S

    - h. M& s( w- f, P7 v& B- HW(A 6 r8 G; Z& k) r7 ~, ]" x3 F
    i
    ' L. S1 S9 S, R  |: U8 k
    7 n: ~: ?- U0 j' K8 l/ B , 0 y, M- I, Y& J  l4 z' U
    A- H  O# d. q4 m8 P$ ?
    ˉ9 x; E! H1 ~* B! {
    ; w2 `+ t1 B% E/ x0 G! y! S
    i
    - W& E" G, Q4 ^" ], S7 w" x% }
    )
    2 a7 X8 X1 ?9 G# `" ~4 W/ d# p9 f# m. V* I, k. {1 F) Z. T
    4 \7 G' T8 N. p, i6 F
    规范割: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
      G2 _3 @. }4 u* z1' B9 L2 \. j" R& g) a3 N- p$ u8 z
    $ N1 k0 G/ j" N4 a9 \
    ,A
    7 Z. N5 q9 e7 W$ b* B2
    / |2 ~. G  Q3 \3 D+ a
    ' o" u8 I) A$ ?( e: Y! V ,...,A ) e) U6 q" ^& U' L' f& o5 P
    k
    4 X0 U  I0 O$ B. z4 Z1 {
    & A; C4 Q  l$ g; ^# K3 r6 o )= : i" I; `' l" o2 a
    2% r+ }+ k# V6 E& r' d# k4 J
    1' B5 j/ }0 q1 ~# r( a6 |) }
    ( F0 Z( H6 M4 z' y9 e

    5 G, }4 W8 g7 b" Ui=1
    6 T; J6 E# {0 U! y+ w
    2 c% p6 V6 j6 ~k6 n  Q$ W; t: F

    " a! d6 [) A2 _+ m$ k- q; y2 L% o- ~, H9 z
    vol(A ) L1 j$ s% z" D, T4 S1 }1 ?8 B* \
    i
    ' Y. ^7 Z- g1 ^0 N* |/ F' R  B  @/ B) \1 S
    ): y9 T6 G9 h+ H5 `5 L- L- z: }# M
    W(A
    ' j0 ?) w2 r$ |7 Li4 K  a. Z- @( Z! m
    6 u' C% g7 M% m: t
    , 9 m$ g3 `+ J. {& K+ M/ ^( r( k
    A
    , E) ~; M5 P1 ^$ Q- Lˉ
    3 V% a7 u1 c. W" \/ K4 f  p4 X$ i4 E2 j& }
    i/ {' [' |. U( u8 {# L& O8 S% B

    9 I; e5 A' r4 w  z. ]5 G! X* c1 q) G )9 w/ B" a  g6 B1 j
    : o% M: F7 j9 V+ [$ ?2 b

    ( X5 N' U' b/ ~2 M(1)比例割
    " d) d% \# e0 R0 W0 H5 ]; Q8 m3 H引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h ! ~' O# p8 P* N% O) H
    j, l' j) P. _* S7 H5 C# r

    # v! m, D& J: d6 }+ ~+ A ∈{h
    ) C& u( ^$ Z. c0 }4 m$ E0 @) v1, T. }" [# r, s

    4 X7 {4 s/ B0 X ,h : A6 W* j4 T' p/ z% ^
    2
    + \1 M& t3 F2 J& I) k- |1 F9 `7 i( c. A8 ?6 m  ]3 |* \) N
    ,...,h
      G& G/ j/ q) m1 [1 E* q" f# xk
    2 C! q4 [4 l: g+ |1 f1 c4 l; a" a1 p6 ~% L8 S: q
    },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h   E) A7 A8 ^( d& Y' i; J. _; x
    j
    + v6 q: b# M& a+ k5 W; n- Z/ I, p; F, O. j+ n* A
    ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h 3 r& M. G: Q# p9 V) ?
    ij) n. m+ r) u9 u# D6 w5 z- |* b- S: i

    / I8 `3 z% P3 s  Z8 A# b: @* c 如下5 m$ K( B! n) f1 f3 Y

    ( T; k( N( I3 k; w: ~8 lh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=% m; r0 g3 K- C# Z. b
    {0,vi∉Aj|Aj|−−−√,vi∈Aj
    5 P. l) L. y2 k$ k: C$ S{0,vi∉Aj|Aj|,vi∈Aj6 `  Y$ s; Q& ~% F* O; Z& v
    h " s2 C, |; q" U
    ij5 D, c8 k% I& H- t

    , {/ a- T; C$ O8 l8 `& X ={
    ( M1 ?2 t9 l# }# J9 L; U  W0,v
    + T/ N+ a& x# Q# {% b6 pi
    3 L" f7 z* D0 P$ @3 G, E3 V$ v
    ! q' ~* K$ @3 A5 S2 A7 y: v; ^( o" T* W) s& A: L" A' G  R
    /
    % o$ B- T* ?$ C1 R( A) ZA
    , Y3 T6 h/ Q3 Ij
    1 `, V7 A+ a0 o3 {9 i! p+ e7 r  l3 ^0 G6 B0 E. f: m2 i
    $ E# h9 w7 V, P
    ∣A
    ; m' ~0 E$ p7 |9 O5 I9 U$ Nj, O; ~7 w; W. B

    3 }+ w' n: _1 ~2 Z' X( K# N& D3 ]( }) {
    5 X. X% a6 b9 n5 }) Q# i4 P
    ,v
    ) ]3 M2 c" n9 W" @3 Ri
    5 ~# M2 a! o1 R) f" U  `" O
    * h4 w' A  v2 d ∈A
    / B6 g4 w5 i2 S* i  R' \9 ~1 p4 @( B' Jj; l( v$ I# o; n& A1 R$ l- f3 j1 k
    - k+ \, @& L% B
    ) ?$ V6 m+ ~! b' q; w% c/ C
    ' n7 B9 A/ N, D  i7 i
    ! y* N6 [& d# Y9 |) E$ m

    / w# K1 Q( z/ z于是,对于h i T L h i h_{i}^{T}Lh_{i}h 7 d7 i1 [! u9 _' }
    i2 p$ w+ Z  n" C2 u! y
    T- _, G! O( U1 V9 y5 _
    : J0 E, a1 [) c/ q  `
    Lh & E2 U" a4 c$ y
    i) x7 k+ h" W; ^( V9 [. g! {
    6 |" {9 Q, ~6 Q: o9 A1 _
    ,根据拉普拉斯矩阵性质可知9 Z; E8 J, m! \+ j# z
    7 h. o; C- n+ K, }5 @' t
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    * l) E0 G  O( Q$ |' Z; b" \- O1
    % G8 A$ V; Y2 o, j; m
    ) ]  A; w; F* p) l4 F+ u* {2 ^" I; i# l ,...,f
    : I4 ^! }/ J: P1 }  pn
    9 R1 c( |7 n) f3 }6 _  b6 ~. D
    ! E  u  w- v' h; I )
    ' U. q2 K4 d, B* IT
    1 {) m9 e: |* @! [2 ? ∈R
    3 K' _" C8 d$ [0 y, r2 Hn
    3 D* o( ]4 l9 a$ S) U ,有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
    + c0 f9 \( [5 T. M# G; J$ oT
    : N8 e) N' Q+ F7 @6 E) m( i Lf= " M/ Y; _% f% ]. E6 t
    2
    6 Q9 M8 u2 a! \5 e% g1
    " p* ~! v- ^& w1 h& ?2 G3 u; }! z' r
    . [+ H' R7 k& W+ ]
    . e  ~3 Z; q' D) o2 ki,j=1
    " I) ~! \+ w1 ?2 }5 o' w
    & i  s# t% |  g/ Un/ _! f8 o! a, T: M" d$ t

    . }/ x& |# X& [! K w
    4 H% D2 D: b2 [. f  Xij
    ' a( Z+ z' g( {% i2 n
    2 k. h) u4 ]9 z7 d3 C$ ~1 h (f
    * a" p* s2 g$ H# di
    ' e9 Z' z( R& g- z2 y7 C! l( x5 O+ K8 M
    −f
    8 X6 \  j, O" ?: ^8 G5 t' D% Fj) X) d7 h6 R! _; g# i
    7 x1 I: c: }7 @2 B! I
    )
    9 v5 s, {% V9 F8 L! ?+ v  K- Y2
    # Q: x4 C0 r+ G! f( R2 V" ~) q, E4 T
    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 ]$ x. y' \2 @) s; k0 Ph
    ! l: U. q: f" u: ii
      ]. a) O5 c/ f; A; r. O- u* W! {- wT
    ; T# c; e8 K% ?8 S
    9 i0 E, o% S0 Q! d1 P4 j% k: N4 g Lh
    9 b) N# D$ |' G% K, K* Yi
    3 I4 K9 R" z" R" u1 D. z
    $ F! g% t8 x  D$ |) {- o =
      v- o  v, e* s! b# ?/ `25 o3 a5 ^1 ^/ a% K+ [# e, G5 z
    1. @# D4 E& b: E# s* |
    3 B* c3 p3 z! i% G4 r0 T
    8 {+ B' E+ @- E
    m=1
    / }% ?$ \  P- ?6 o- h, v7 L" d
    1 P2 ?8 d- _  Y; D. U/ P# a) o1 @; l' K6 B9 X4 Q, l& P

    + z# C# }/ A$ n. kn=1# P6 @# q8 l! n5 \1 H9 v3 Y+ w: i; k. P
    " i; N0 f' @: G& Y% F

    5 q) N( M5 E3 U( h w
    : r% b! D* I; B2 y  Umn
    9 b7 [' U6 ~9 W8 \( i6 o
    + |  r1 P# }: C; @0 l, y+ Q! w: ^ (h
    . r- {$ F0 f- ]+ u: Uim$ l  j% j/ R4 F; j

    . O- C% W2 o% Q( g −h ( G% U' p& A% s0 ~3 u% h* |4 l
    in. P2 s  p& R& F  I% v8 @( ^- W

    ' z& I4 M& K  v0 B: g' | ) ( n/ I7 u% z0 |; g5 u/ K
    2, A7 t. |( B7 d6 \
    =
    6 X; ?+ k& @* \3 X% T∣A 3 X/ f+ z; P- @, n, {& r0 [
    i
    + r( j) e- X5 E% G8 E8 K7 G
    ( X" j- h- t: s& r; e8 D+ N3 _6 s) A2 Y4 T+ `$ m' C
    cut(A " @( T, O) p9 x# \
    i
    7 u6 X" J9 ]) n  h0 W- q% r  T& O4 d4 J3 g
    , ' ]+ r+ }/ o& E3 A; j, K( ]
    A9 J" N' e& X! s* I8 d
    ˉ4 x. V! _5 l8 E3 V

    # H+ T& i' H7 Z- Qi' h  ]" J4 H  B5 A3 H0 k
    9 X0 |# w4 R. S, v. p  c- d) a
    )
    " b0 G9 s! c( A( R
    * b7 p5 j9 X7 O7 V* {% w
    ' E: G8 a; n- w+ m$ N& o
    2 R0 O! j7 [  A3 J, W( b8 j" S严格证明过程请看刘建平博客:链接
    + W' ^. Y% e7 h! o! q可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    : t- O- \' B5 i) C: Qi
    . i8 K: {0 W4 ^' iT) Q; f" _: l. g: X

    , Y2 b" l4 Y. n, s4 [1 w Lh 4 J, t  P  m" g$ |  L
    i/ V  c# c6 K9 t+ R0 i
    " [1 N/ B/ a5 d0 r+ y
    ,那么对于k kk个子图
    ( L/ Z- J* L, n7 ]
    4 a. n& e4 I& S- F6 S0 HR 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)' e. h/ P  f! Y
    RatioCut(A 1 J1 s' k8 a- L8 p* p% W- i
    1" y) i) t5 R, z& B: ]

    7 L8 ^/ I" \5 H9 i ,A
      v! L, R- m( W( @) {( n25 Z% K: E2 V6 _8 I. U

    $ ?0 n% x: G% r2 A0 z; E6 l! _ ,...,A 7 `' E: M- u6 ~3 }, b5 f; t1 W
    k
    ) _8 Q# Y' D! p, K% ]% y- F  P! i; y2 |
    )= : t4 W5 C: m. P8 u% _' b
    i=1
    , X5 [4 |7 T! {% Y
    % s# R: q0 }- t( H' Zk. N0 _' O* Z! M' y, d- s
      ]6 U% D% w, X, m4 b" D
    h
    , R1 K0 G. p9 _: v' ~i: K) V2 q* [  ^
    T
    ; J! ?/ ~# `& p1 i* T; G# i: x, e' g2 g5 R6 X
    Lh 8 m) ~3 F% o& H( Z2 o; P
    i: x  s% Q  }4 q- S
    3 v/ p( N- r; a0 c6 d0 N, w0 b
    =
    5 v* \" M" n3 p! v" q  Ii=1: F9 S1 G% q8 G8 W5 d. J
    2 }5 L6 n  J1 a6 }
    k# X3 p" `' {4 N: ~
    0 a$ C( a; }$ D3 j3 c4 U. l
    (H $ H  ~' L+ y# }+ O; p; P0 b
    T- ~& J1 h) N/ R" r' |3 B
    LH)
    8 d* }$ |* ^: Aii
    5 n5 `1 }# L" U( L& F" T7 }5 _, T) c; V
    =tr(H 6 O" }. F5 @9 o' @2 I2 v* X
    T7 P5 b; y, B, f8 \7 t7 V; I2 K
    LH)5 o8 i' s+ ?6 v) j8 Y9 O

    7 [# B4 z3 z& N5 S. g7 A' v. N因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H & Q, _& u: x9 g* T) M7 J3 m- b
    T
    6 |; a# R% w  B9 u LH)。又因为H T H = I H^{T}H=IH
    / t( g9 c: h. HT. e' R" e0 C0 l
    H=I(单位矩阵),则切图优化目标为9 J* g' ?" j$ Y5 |
      Q# `8 V5 h+ k9 \% A) n
    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=I5 T  T* W& G( ~3 g! `  k% G
    H
    + |6 Y8 Q5 ?9 margmin
    + m! r7 _0 q/ E" Q0 W
    8 p# f/ f8 E6 h3 t& X: r4 r
    1 E, ~3 B9 q* c+ v" \. o7 K+ a- D4 k2 f! y; ]
    tr(H : z- w5 J$ V' v8 k7 \5 N; @
    T$ _5 m! \; r! H4 c
    LH)s.t.H
    / K0 c* |, S; L* S  R: y5 ~: G! y; t7 wT
      p5 W1 o* p/ ^0 E H=I
    4 C" ^7 ]- C1 B' Q, ~
    . y& E; T" A+ V) y对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H " g% D6 a& g" K$ l
    t
    ) i2 M7 _' [9 I4 I& [7 _7 j9 a LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h 1 Z9 [3 W* W. P0 G0 l' n7 q0 y
    i. n/ D/ s1 v7 I9 t
    T# J- P" O# B/ n/ w
    8 ~, w1 h+ W0 ~
    Lh
    8 h, Z: J, C( X  Y4 c5 f5 {! P1 ii
    ! x) x+ i; x; o' ?9 ^0 q1 ~! d+ w- U4 g
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h
    # r" [# {% W! t  c' q, fi0 E* e& f; v4 X% M1 _* e" ]
    T
    ( I! ~, X. D+ t0 @, \( y* H# j) t" v2 S5 J! e
    Lh
    " N* Z, H% F" ?$ i5 {i
    $ L! b' Z. [/ m! m; [) C8 a* }5 l+ h6 j
    的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h " h9 Y% I- ^, g2 a7 |% {* i; x
    i  p( Q+ a' h. _! t
    T
    2 `: b! U% Y4 F) T4 s) [% U' ~( F
    Lh # ?2 T1 L! c; i! B  i
    i% i' {% P2 l" ^& i  O

      l4 X3 y4 w* t9 B% I) U ,目标就是找到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 ; |# K+ v1 A" n, J
    t3 L! D8 t! c" ^' d
    LH)= " K0 X3 S* o8 r, A7 R: q+ U! S
    i=1% M4 k# v& Y) F+ a6 `: ]3 o, X

    4 z8 o% I' ~2 ]0 j' S' _/ Wk5 k/ d% L. I3 `, b6 w

    $ I! n: F5 |7 C$ t: m h 9 \7 }, \3 z( z. L6 L
    i$ E8 z. u% L# V, ]) [% B9 z
    T
    & n& C3 o& m" x, i+ u# @+ [( v& n2 |. F( [, X6 ?
    Lh
    1 @; S: c4 v1 i* H; ]i+ K( H( y' k1 Y$ `, G
    ( d8 Y* c5 J+ T' R+ j
    ,则目标就是要找到k kk个最小的特征值! @! Q" @- T4 \) n& A
    % n: U$ u! M3 F
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下6 k( O4 T2 W* I

    2 n6 g( X' a7 N" R一般来说,k kk远小于n nn,也就说进行了降维
    : O( V% w( \: i8 q! ?% Lh 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}}}
    / ^% [# f" F! f) Rh % `- R3 x# X2 v/ D2 S) u
    ij
    $ U9 ], C; J7 j* B4 T! @9 C; w3 H$ p
      d; P' ?8 x' C) R: J8 i
    + Y2 q( W% i& [1 B9 _" M) X% { = ' B& R, ^* v- m
    ( 5 O* d4 ^4 C" S: u
    t=1
    4 O7 k3 N1 {1 U6 n8 b
    4 W% T4 S8 o- E) lk
    & _+ M2 W( K( k# n
    $ X4 d6 K; O' e% T8 A4 Z' p( F h
    $ ^& v1 ^( @0 V: H$ ]1 i$ Nit* w; |# s2 D1 U3 x% I2 t6 L
    2+ _9 W# S+ C( L2 d1 V% J

    7 R) Z& w/ ^; j+ q- m' T )
    % W% B; k' K- |1 q2 U, ~& h; g2; n/ w8 h- U6 p2 {# u
    1" P% M. \# @: y2 f3 }

      L3 x) O* u- K( |  M5 n/ b5 P& Z& X, B* a+ T$ {. ?, [9 e
    , @- k- H% |9 b" L+ j
    h ) k* ~% @% g5 N1 m/ r( m% o, g9 c% A
    ij
    8 L; h7 Y; o  T
    6 ], F" q& A2 i" x" A1 d+ _* ]& x3 T8 R, n% o5 u1 [" y

    ; o# e: c  o5 J6 w9 X+ q/ _3 u4 {$ N
    ' j% ^! |) H  l) W+ b0 K% z% R; A
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    9 W! Z; R0 w8 N2 F& o/ `# y" F  y( e: ~4 F# d+ f
    (2)规范割(常用)3 W! J. i$ M$ Y8 R% A
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A
    3 m$ Q  {! i2 v) _i
    7 O- p" C$ V3 J9 e- Z5 x0 A) Y& J" S: [5 e& E7 N3 @* Q+ S0 P
    ∣换成了v o l ( A i ) vol(A_{i})vol(A & }& J  T2 z, x$ ]& L5 ]$ s9 f
    i* v2 c4 ^2 ?3 J1 f8 h0 W

    ! d" R$ K- Y0 M2 i) Q ),定义指示向量h i j h_{ij}h + t6 _) [, P8 B  l6 ^
    ij" p' o& W6 \" c9 ]% F# h2 p% U

    ; N6 X5 Y# n% C2 b# C0 e 如下
    : c2 n3 t8 q7 T9 V; @* D( A+ {* @; R
    8 j' K  i9 Y+ `% ^5 D! V5 rh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=* F+ n( u0 c* H$ r4 w" Q9 j; B
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj$ ?2 b8 p3 g. c  @
    {0,vi∉Ajvol(Ai),vi∈Aj
    $ p2 ~$ T6 M$ D" ^! L& l7 ^h
    , b( ~/ {- l8 o7 eij
    5 ?( L! H7 L$ ?) l- E
    ) T% G) c8 |( N& e7 C5 F8 A ={
    3 i8 A6 V6 i# r: p2 ^2 M/ `0,v
    5 d1 ^; z# i# V: ?i9 d2 N) r) D: i- }; p2 _
    3 o) m- c- {/ C: t' l

    9 a5 ^! _) l. q/: Y! r4 J8 W- x7 ]( u
    A / @8 F2 H9 x. F: r# a
    j
    & B% L3 p/ a  P6 q' h( e* \% F: B; C) W& E
    & s, [6 A1 V8 h6 {6 p
    vol(A 5 L6 b& o6 M! E# m8 Z) j1 I* w8 }4 ?
    i
    7 A; u* X$ R$ N0 q% F
    9 ]! m! ~% y  L4 Q; G ): |" @" x( E( K
    ' d7 r* Z; ]9 J3 N+ O  d) O. T
    ,v
    0 T- `& k& ?8 x' U( `) ?i
    9 m  |, E3 F1 J2 Z  X
    * r& C% x. e# m* R6 m5 l) y ∈A
    4 k2 k! O2 c2 Fj
    9 }1 z* @$ |4 s2 C: a4 u( W% M7 w( s# j! B

    0 j- H7 O8 a2 Q: T+ y" W, b9 ~5 Z$ S2 @7 U6 c

    1 Z# f- e& H# G7 ]/ d' m: h6 Q* x. V" P
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    0 t* o, P( }' X% hi1 z& T5 u- n5 J6 E/ h7 P
    T' l1 F% ~% a9 G# N0 ]

    5 u; P0 I3 x9 h" ^0 g2 z Lh ' x* D0 ^9 a( Y0 s' @& X
    i3 G  r  R# b4 Q$ G& U) k3 \
    & F+ T1 y' L8 w/ c; j+ y6 b
    ,根据拉普拉斯矩阵性质可知- u, X2 }$ Y: F* }

    + c. m; P- Q  Q; Q对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f 6 y+ `8 K& P  B9 L
    1. F  b" @; v2 z- T% C8 Q

    ' M) a' h. t* g5 B8 c9 S ,...,f
    ! K* s9 J  ]4 u( E/ F# f9 in
    / u. S. p5 X# v% O+ U8 E# A) L' r/ J* W* u2 |, e
    )
    % S2 \( Y) @( T' C6 m: HT
    ' l+ C. J2 M: p) C0 T9 i ∈R 5 _9 \1 a( d4 l$ M6 U. _
    n! J1 N8 f2 S9 @# T: j+ y. v$ O
    ,有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
    5 e# O9 B) ~5 U- kT
    ; f; D0 N0 P, J( w! _9 C Lf= - y1 U/ U9 H/ I0 ?% |; S
    20 Y8 B( }1 a$ h* x/ N- P+ `
    13 V% ?$ @! I1 Q, }

      `) d% Z" c8 N2 p  }: \- h( G6 l4 p% I' e  Z, g( S
    i,j=1/ \6 b2 D4 `9 j( v/ E
    0 I' C( w! T3 b. r  Z$ @8 d% j- _
    n8 t2 G! V  B3 Z, T1 l

    % d  }' P  i7 q7 J" ~7 B w 4 `& t( U( ~2 H) M
    ij
    . |/ x/ [( B9 {. V5 f# k0 I* ]' Q" D, ]* T  t$ y% u$ }# f" h. ]$ A
    (f
    ; O; h( a8 T+ m! E' d  [i
    * E  I( A3 k& @
    ( [: ]: f% N2 L7 F4 ?! t* ?, u4 h −f ' A8 z' V/ k2 X$ ~
    j
    / {8 R% e' M- ^& q8 J+ L- J  A  _( ?+ l* N- s( [
    )
    0 L: u4 M' b9 \( w2
    * `; a, m3 u. P+ s! A" ?' Y
    . v& i9 D- f* j# O: v4 uh 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})}3 E9 V* _/ g- i0 }
    h
    * B4 F4 g" m7 g! ui. F" |  U7 {5 G
    T
    9 C" x8 @1 M8 X9 b: I2 C
    & g+ z' H6 m/ h, M' ?  N5 [ Lh
    6 Z  P' ]2 X7 t3 e' y! S3 Ei, m% e+ ?4 m9 s8 C9 {8 h

    4 c' r! ~$ K! o0 d* w2 K0 K =
    ( x! C# ~8 D9 {/ y9 m) s2 C6 ^2  V' L: D. I$ t' K
    1
    / Y5 @8 L! N8 d# ?8 D& h( x1 a
    1 y8 L0 u' j+ I1 o7 E, V) E' X% Z6 p  M, d' p1 I5 }2 q7 t3 P
    m=1
    $ h. P+ ]2 C: S% F+ w( s5 w" D
    $ _0 N: i7 o, i+ Z$ P. _. V4 J) \' i/ Z

    ) ~8 }. V0 y. p8 X  f: ^" _8 Tn=1. O$ Q5 V7 r( D+ \- |& t

    % b  J4 k5 N8 D" ]6 ?; K8 g8 l
    3 r6 ]4 Y5 }, b w 4 f$ C  A" F* j1 c: g
    mn8 F- \1 O7 Q. u, k& \
    4 H* Q! h( J9 s
    (h $ G, j- j, x3 r4 J- S! l0 @
    im  z2 Y& E% G2 g( G/ H! Q
    " Z4 @$ s5 {4 k1 k1 _% q9 ]
    −h
      x, H! f; x( o- Y5 ~) X, {* cin5 B3 e( |5 t' z0 B2 U8 v
    0 V" w( Y% g) j$ ~
    ) $ U9 i$ I; n; D0 J
    2
    , n+ C8 Y' K: w- k1 O; B3 y = $ R9 v3 V0 `( ]% q7 l# c1 D
    vol(A 3 y) _; ~2 E8 }
    i
    # y/ }! ~5 h6 G+ L: x' w! v. `3 V* n" I) S, V- r
    )8 J0 l3 K/ f  x! ?# u/ \
    cut(A ! Y4 V% a) [3 U: \! g0 N
    i  _: \( g0 b0 m$ z

    + |5 c; ~$ g  h1 q , ; C0 B3 Q3 S$ B% r6 M+ i0 ~
    A
    # {. q3 e3 F/ T0 c, t: q0 v, k# z$ @ˉ3 A* C+ f. Y% n& s+ {

    3 g9 l8 r! P9 V: d; ?8 Ei2 y  P( ~% {( B8 D; L2 {, R
    ; i/ X3 X. W. ~: d
    )
    $ ?* I2 ?6 Z9 g7 m0 ]: M4 O# B- d% {& G# [

    9 r. l, u! k, ~1 O7 W/ u- `# L# r( l( z# {: j+ C+ N& v+ e  a
    严格证明过程请看刘建平博客:链接
    * P, j/ o0 R* D9 ]可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h % \# z  I" z/ _; G- |6 N
    i
    7 }; |6 V% W+ G0 e1 q. M; r" WT: L, D6 S0 O* P% P! o

    - w9 L# ~+ y3 v+ {5 @  V. x Lh
    ' C% L, z3 c. o! [1 p" Zi2 y( h8 a# K7 M  F
    4 _; e, T) k8 Y) j/ c) H
    ,那么对于k kk个子图: K& _/ t3 b: `1 c

    ; P4 @5 L$ m" m" ^5 x' q& L2 rN 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)
    % Q  I# w& L/ H: vNCut(A
    ' |2 t  R8 P& A% v* n1! c2 s: ?$ L3 g* P% Y5 \) N4 Z- f# V
    + r/ B. ~8 r0 D' _
    ,A % t- @# A( Q6 T! U0 f; z5 \
    2, |$ i3 `7 m0 e* ]/ @; q

    - Y; D* b% a% o6 x. f3 X ,...,A
    3 @' c7 Q2 V- O, [+ h  Sk  Y+ C" h6 R4 d: T, i$ a
    7 r" {7 P/ L' G. v$ g
    )=
    - E0 H* Y% k3 p  G$ @9 J) q. g# yi=1' G1 U8 V1 p9 {4 y$ K+ U8 G/ ]+ j6 ^
    % u* J$ e! u* R+ f* c) J: L
    k0 \& n1 s9 a8 _8 f

    * _, @. e& G5 @( T* a, o h " X3 ~6 S' \5 D, e- j4 T( c! u, l
    i, V) w/ Z- ?& W; ]2 k" h0 S
    T4 m- @3 }: Y: M( A

    ; w0 E" z7 x$ u0 M0 {. v% G5 _ Lh : ^* d# Z% ^% R4 C' T' G9 F
    i
    2 o- q3 Z/ l$ L% A
      D; M) P: S' @4 D$ V7 _2 V = 3 h% P3 b' u7 q) n
    i=1& }( p" ]2 }3 e- n3 D9 \" i
    8 X) r6 f* Y+ w1 E- x' g4 C* {
    k3 U# y# z# H( y5 H) q
    , H% u' {6 V0 X  A- O7 m
    (H 0 i! ~$ J; y1 _* V6 r; n8 v* B5 w( W
    T* x8 H1 _; B( D* \" `# ~2 x) J0 Y; X
    LH)
    " |0 Y3 X; o* X! ]1 a$ N5 Mii
    6 R0 e' J. r! ^3 t/ _: p# ~
    ! q& t9 [' d$ _5 {0 y9 k: u =tr(H 7 C$ }7 }* I0 h4 Q" B/ Y
    T
    $ ?* M+ ~$ m8 U8 @' N* X" G* {4 P LH): x6 f+ p& d$ D

    - B5 E0 k4 \$ m3 l/ E但此时H T H ≠ I H^{T}H \not=IH
    . M4 R( B: N( y( s6 h: U* C6 OT
    % {% ]+ H, B+ ~1 K7 d H  f; n, h4 M$ G# |* p% Y

    # v( q. G5 n8 F( c5 T1 |=I,而是H T D H = I H^{T}DH =IH 8 X8 Y! {8 O6 k
    T
    7 ^8 B( ~0 o3 u  Y5 C: q DH=I
    5 Y* x; H1 X: H9 d6 u- T4 H* u9 v
    这是因为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 a; C# N7 U" Z6 wi/ W, [! D# D6 L; D9 N
    T
      |  z& S8 e+ G& Q8 N8 R5 o- W/ Y: X! @8 o- p
    Dh + y  [: C5 m* A& p( `+ p# g/ g# y
    i
    ( N8 `) t, U9 o/ c$ h# o/ u/ P( a( _0 g+ t0 S. \
    =
    * \# g  e- a: S9 D  o: r7 \j=1
    - b+ B, l, Q& S* s1 T  M1 w
    ! b( v8 e6 f1 ]# G) On: N7 ~6 X% }/ t' X# R7 j7 Q6 R" G

    % ^, ]- S  |3 Q, i  S$ H8 F4 K h ! f8 b7 c/ P. L% T9 a3 S+ C$ ^; e
    ij8 H' u# Z1 d9 {! C
    2
    2 d9 T' L/ i' b1 d8 O3 g
    + k0 N- r" E% M& @/ G* a; M d
    + u7 Q+ g+ S7 }& Jj
    7 q8 H7 z( ^8 ?. b0 d( K3 O" h
    % X( X6 H% n# k, h$ U3 G =
    9 C# Y+ K5 L3 X; F) n$ q; wvol(A $ N% N8 p4 r# V0 {: N/ R& V
    i
    ) Q" z3 S3 e6 E3 u3 o
      J2 @- ]8 A/ t" I3 H$ ~ )3 g" R0 ?% i2 J( I' C+ V: h
    1
    6 d2 Y/ u9 ?* u2 w0 j' u+ r+ S4 I, V: u& i* U; L

    - D) m. ?! Z" `j∈A
    - v7 ?  r8 o& Q! o2 `  [i; ~0 m5 ^) I1 @- t( J9 H& }3 I2 n
    8 V4 B' O* [3 c7 S5 `
    . v! v8 E4 D; g: m6 r$ Z* n% q
    * e- |: g6 |2 ?) i% e% }% k* A; T
    1 R- H  R: Q. V& n- Q, r% O
    d $ h$ x- s8 d: P% v
    j
    ! E5 ^1 t) y: L* Y' s4 c: D2 y) a5 r: t' O5 A% n
    =
    ! ]3 G4 W6 C9 i* T* S9 `+ `, Zvol(A   R4 h- u3 Y) W. w
    i
    " v" x; c  Y2 }6 L6 \0 G& w# `/ @; ^5 h
    )  m  q, @- K5 w) l, d3 w
    1
    # ?# z8 [* z# s5 g$ h) \. n1 m0 k" T2 S2 f1 m
    vol(A
    ; L" B' v+ q0 Di. ~# p& B/ T: X+ O

    7 h' S; g1 i) z- O4 X9 p/ h )=1
    / u7 B# Q# D! ?. [4 M: z6 e2 t' y因此,此时切图优化目标为; v. q  V: A, K) W2 B' u3 P% U5 j. v

    + l0 G8 R$ H7 h- wa 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
    0 j! R) a. g- qH
    ' e4 K) T" m& Q5 F$ x4 ?; r' B( |" ?  ^argmin
    ! y7 l; N2 P: Q9 f  S9 D% r2 F/ U5 b+ R) z9 _4 J+ c0 O5 B% F$ `
    6 W2 X# e$ D  f, V

    : U, Y- N) g- R2 }  y1 w tr(H
    ! K. i$ N1 ~2 q+ AT
    ' m: i4 \  M0 {% K LH)s.t.H
    $ j- N% E' k+ |. k. rT
    ; T& k9 R7 L7 j8 g2 p4 }2 W0 f DH=I
    0 N# o* k, k/ D4 N* |8 s; n& w5 y$ H1 E* L! e" P' l
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D
    / ~. x& z' T  f+ @; h
    5 e( O' d) r* E" U8 d1 i- y2* v" R7 ^9 S' e  I; r3 G5 p) U+ y
    1
    . o0 V8 G/ s0 I% A) e7 z+ P( D; Z2 q; E) p2 P: D
    1 `4 u+ j0 U, B1 o
    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 j7 G! i6 E- n. ET
    : {7 E6 T, C$ I/ y) W* u7 p5 ]. B LH=F
    ) r8 F+ K* m0 J: T' ?: Q( gT8 W- W; s9 l& ~7 I
    D
    7 Q0 P- J: r, f2 _( }& E- U/ G7 Y# v( o, o" @% r  t7 N- j: c! E
    2
    4 H7 G, a9 b# x4 u5 w8 E1
    0 H" H' d5 U% o; ^
    + i2 N' s" S2 I3 B! q) }/ w5 l2 T+ x* e  b' V; S1 x
    LD 8 K; G# F; m! J

    4 u8 [5 }7 u1 a& N5 z9 m( g# {2
    2 Z. G7 J) B' }* o1$ l2 H% w) L$ Y
    0 Y0 k: F+ n; j- |- T% r
    : u9 T% O) B8 ^& g0 U5 b0 l: i1 _
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH # Q# \. }. l3 D1 \' A  G& L( Z# w
    T
    ( @' A- q$ q$ j1 Q+ W DH=F / o7 H! r& p7 t" A$ N1 B8 n
    T" E3 o  A0 V2 O5 S- h: b) `* F  i
    F=I,于是优化目标变更为
    / k3 \) P3 D, x& ]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=I5 ]4 i4 x7 m' ]$ D4 w2 p: c) {
    F
    . z' R# G/ n$ v5 g  x0 _* aargmin
    . Y4 p. y7 n- B9 W( |6 I& G5 U! t
    ' Z, ^7 q' H) a; N7 f/ C1 a2 ?' `% ~6 c- A8 {* G
    # r' Q4 n& |' M: S4 ]
    tr(F 8 C3 {) q- \, p$ Y) j( i8 O
    T
    9 N; x7 c* W7 c# C9 s/ R D
    9 p8 f1 ?  V9 N& f3 b6 m$ E$ X" ^/ R5 U
    21 ^, p& \' T; y" {! y2 Y3 F0 @5 Y  G
    1
    7 G" S' S9 m- y' ]2 f; o& A- T+ L; O8 U: L' _

    ( B. M0 j4 S' w# g/ P% [; ~ LD 1 x, j* V6 x6 p
    - N: g* X* h! L& V# `+ Z- k
    2/ ?! v/ B9 X& k9 a2 e( S: [, i
    1
    * y2 x, l7 D8 n2 r1 [) d( y/ q% |7 H+ N) G4 ]; k

    7 G; p5 Z8 Y) {2 X F)s.t.F
    0 {8 n! S" [1 x! a+ g& F" FT
      v* f( _, t- g9 E4 h* ^+ c- V F=I' z& H3 L; X& O2 j# [
    4 j0 U; e9 p: h; ?$ r6 ~* ?
    现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D " Y6 t6 f3 z, ^/ W0 b( r$ V

    * n, z/ R6 M& }) y8 Y9 F+ b2
    1 u  L% R5 t; @$ l8 z; L% E4 b& f7 L: J# S1
    5 Y- n; R% `6 a. S6 p% ^& C- _* S$ H# E9 u

    ! M' K. h) \' k7 z: ~ LD
    & o1 V" u; _2 A: k; \
    : l1 D/ j. m' M2' f/ I! T4 _8 u2 Z4 t3 x7 A6 r
    1
    ( P1 y/ z  g: Z9 I! B$ s$ z$ Y1 j8 W, Z& \

    / w6 Y+ M. B7 |& F4 L/ g (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
      e! W+ w' {0 ]; M
    - Y% H9 E- o( T' }5 s9 g一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    9 n/ {: d$ G0 T. K/ f. A6 e( y. D8 H+ `4 d+ _' H2 T8 \: z$ n
    2
    # k: c  P' e* s( m, ?4 U- d11 c8 R3 J: u+ @
    5 D0 T- I" S' c: s! H6 V3 }' t

    0 [. X* r$ d: j  N; B$ p* G& L LD
    / }  d, ?& z8 i* q# A7 m0 k$ g
    8 K! Z# k. B( f4 ^2: s+ |6 o( T; o: J  C
    1  i/ T, r# I% ~% R; ^3 m
    / e4 w/ h& J! h
    + M; {! Y) _% [4 C0 H2 E( J% V
    相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} 3 l: Z( U& Z5 s% w
    d
    6 @+ r, B& A& N, |& z4 P5 |) |6 ti& }5 i4 y7 Z1 C0 z8 N
    ; v& D) c3 k4 M* x& z- T+ e
    ∗d
    & C! F5 H# U6 u# d% Y. _: H% ?j, X5 Y+ b& }0 a, O  \5 Z# F

    + I0 `" J7 b/ P. l; n  Y% k
    $ ^" t4 i5 {# E, w) ~4 K# u4 m( c0 v4 m# H' Z

      \3 D8 P/ k( ~1 GL
    # c6 R4 W2 x' P" V2 C, rij9 N; D2 X$ }# |( }) p; [: @
    + }5 F* X) y5 G' I

    % F/ V# B5 a( J& p1 N8 u" ^) `* E+ i; Z. B$ k, ^

    & X3 ]( ]9 _  @/ F0 X二:谱聚类算法流程. D* g9 Y4 Y7 M) B  F! M
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    $ ~3 }% o" ~4 o1) y' F; a( z2 y. G& c2 g, H
    ; U/ q2 W! h# e' n& x+ J# d) l+ r
    ,x
      W- ]; |4 b; [  t2
    ; u- c% I4 I% t7 i+ j1 v8 f, U1 j6 y
    ,...,x 5 E" s- Y/ J7 o' N( H/ u7 C
    n
    " F, V* k1 G8 K9 N
    6 r4 m3 s1 }9 ?3 X4 Z0 @7 s }
    6 t: d" M2 ~2 D
    3 ~' @! K' I/ g根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)% n; `6 [7 e. F- m  G
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD$ N: t& E8 D( ^, j- d* ?
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    - Q* D- N8 R9 P+ k( ^+ a7 L得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 4 R" b+ ~& d2 o6 W% O

    4 d0 ~. Y3 E( J. k2
    # Q; _% e* b! `8 r' k1
    * d0 j. X. i3 K$ v! ^" [4 s1 u/ b7 e- L* ~& M9 c7 e
    2 h  h% x* z, {- [; I# t; F
    LD
    % Y- c# Z. E" a* O/ `7 O  @, T; y: f& r; k+ t; i
    2
    + _, c  c% w7 M& A! @' _9 m5 O0 Q5 O1
    0 F: M* a, L* f; C
    3 j+ m, b& O6 f* R/ D7 h4 M8 ?
    ; v+ e8 p" ~7 |6 d5 j+ ?! u+ r4 Q% p3 f
    计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D ( h  p5 q: f% _4 a, j- Z  C
    & a; X0 u" ~# T+ y$ H
    2& b- D+ Y: O0 l7 i. `
    1
    " l7 }1 c  f3 B& o7 n3 P3 ~, V+ u, s# L+ ~) x) x

    . x9 O3 f4 r: n% h5 W! }0 U) @ LD
    ) ~" U8 W# D, H
    1 }2 e$ v' `& Q. ^" ]25 J& y8 T; p. a, y# y' Z  b. ]
    1
      k% |4 N- o' s  }7 j& H4 ?) l* H+ B+ E, q- X8 y* V! h

    & I* |4 E* s; Q  ?' K 最小的k kk个特征值对应的特征向量f ff
    : ~( ^* M4 ~0 @. l! T& z将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF2 D6 k! r$ ?3 B" |
    F FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k
    $ t" _4 O7 a" b% k, i2 J9 U: c1 P# ^

    $ y& l& z! i  e7 \" m$ Q9 u7 I得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c
    $ U! A. m" ^( q  c4 z% ]1  H+ w# [) G/ m5 }0 M
    # y# ?; f6 U2 w- J
    ,c
      o0 V* `" i0 L( S- w+ P2# Y8 U; X8 @. k1 b+ f0 l

    2 @  J& ^9 ?& W ,...,c 0 S0 D0 ]4 Y# I. f7 k7 ^
    k
    2 F9 N& G5 ^- {: {4 n' B/ d% o  `7 s. W/ [( n! C5 ^. \
    4 [  G3 e9 [0 `. l* o1 _* n
    0 q) s2 _# r4 U) ]! v/ t
    )
    3 V6 i* W) j% _/ u, U* N1 E三:Python实现* t% ?& A2 l! z; [/ e# f2 c0 K
    import matplotlib.pyplot as plt
    9 f: X+ N3 |2 ^& \import numpy as np
    9 o* A( i+ T8 F% a9 i* ?9 Simport pandas as pd+ ?1 r5 C" d5 R1 H/ W
    from sklearn.cluster import KMeans
    0 e$ _1 x1 j' d9 H3 Ffrom sklearn.metrics.pairwise import rbf_kernel
    5 S+ Q3 h1 a6 O5 [/ ]from sklearn.datasets import make_blobs& A7 Q/ P$ J4 t. v. H+ I
    from sklearn.preprocessing import normalize
    6 u( j; c: S0 _) ^$ y; f1 y! [1 {- {+ b
    def get_affinity_matrix(data_set):2 E) d# h4 j4 `1 p; Z: n
        #  利用高斯核函数计算相似矩阵(全连接)+ r3 V0 s" Q( O; Y& z: ^/ ?
        rbf = rbf_kernel(data_set)' L* K3 j$ n) y$ b1 k
        for i in range(len(rbf)):
    0 E1 ]4 S9 R& u. w8 |' X6 |: S        rbf[i, i] = 0
    4 B/ c6 Z2 _0 D6 s9 \+ y    return rbf6 Y) t  v2 p/ X7 ~8 @& ~

    4 J! f# |! x- E
    0 \4 i( N7 [; z) E' l6 Sdef distance(x1, x2):' e4 `' |! r3 s/ C2 H4 k1 C2 w/ p
        """
    " b# f) n# H6 H% u& p: |. I    获得两个样本点之间的距离5 A9 C( q0 o' \+ `
        :param x1: 样本点1
    + }+ `3 D8 _% [, e7 a5 J, j    :param x2: 样本点2
    5 _  D) h/ T" G5 N; ]9 r$ b    :return:
    / E) N! k6 O! O; C% k. v% C    """6 A5 \. F) M- Q9 V6 Y% B' K" _5 Z
        dist = np.sqrt(np.power(x1-x2,2).sum())
    5 @; n7 X+ e) H1 U3 u5 n3 {6 f    return dist
    $ Y) ^8 P* w# U( @
    9 _9 T" d$ a: O" `6 Hdef get_dist_matrix(data):0 ~$ G% j1 o: m; P8 N
        """
    " u% b. L# [: O) B( R+ g  {+ O    获取距离矩阵
    ' k3 H5 Q" w. n5 `" p# x1 ^! H    :param data: 样本集合* P- l: @  ^! s% V1 l
        :return: 距离矩阵
    + Q) Y6 B: Z, ^    """
    / j- K( W1 t6 \7 ]) W$ A    n = len(data)  #样本总数1 ?. J' i4 e, b9 M
        dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵" N1 T, `3 q* H3 z) U& y* {; o3 C
        for i in range(n):
    ! {9 ~% ^' Y: ~& K  F! V3 ~        for j in range(i+1, n):& _* L6 z/ P5 Y
                dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    / E: J7 e# A) f    return dist_matrix
    1 W! M3 C$ b# W# z/ D& s( M5 b. S; b. {9 X( v5 J- `
    def get_W(data, k):
    ' L3 x7 O( Z, s    # 获取邻接矩阵(K邻近法)3 |0 J3 ^' f' w* n
        n = len(data)& U; h) H! _/ w" c/ j  K( n
        dist_matrix = get_dist_matrix(data)
    ; b! x2 ^* h4 K% N4 j; E    W = np.zeros((n, n))
    8 c+ e9 H0 F3 P$ b    for idx, item in enumerate(dist_matrix):- u  P  p* P' {& ]  S! f* X/ M' d
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    ( f8 n: V0 |$ F        W[idx][idx_array[1:k+1]] = 1
    ; L! k8 B' l* o7 j& m& Y    transpW =np.transpose(W)
    # Y* o+ b  H7 P% Q+ j+ A7 j* b    return (W+transpW)/21 F/ W) B' _5 Z0 X5 n  F9 c

    , N7 o% h8 n+ ~def spectral_clustering(data_set, k):6 t& ?7 l$ L4 q& k( V7 t
        # 利用相似矩阵S得到邻接矩阵W
    : ^4 ~* [' {5 k& \9 E4 V    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    4 t/ A4 _' m2 }) q    #  W = get_W(data_set, k)  # K邻近法0 d' ^1 {, D" h
    0 A$ U6 _; b4 {
        # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)
    . {& i* K0 j5 a0 {/ m+ t3 ?    D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))7 S7 f) j' a2 D

    7 V3 K' s8 X- G9 Q7 d. e    # 计算拉普拉斯矩阵L=D-W
    , N& o  w7 Z; H    # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    5 _. \, q+ _! ~1 a( {0 W/ \    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)5 G- E  J) @! J5 z- ^
    3 _' C4 m4 A5 E1 ]6 }2 z' Y3 J- ]
        # 得到特征值和特征向量
    - {/ P* q4 m- @4 u    eigvals, eigvecs = np.linalg.eig(L)
    7 n+ Z: s4 L6 a- C& u. `( ?  s3 p
        # 找到前k个最小的特征值(索引)
    8 o( P; E/ X! p; |/ C    k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    1 a0 v, d- T. E$ E7 p9 E$ l* k  m7 m) Q1 z0 @* m  f
        # 取出这k小特征值对应的特征向量,并正则化  V1 O0 ^! i) T0 p
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index]); z2 A. p6 U- x- h

    ' g8 C  @  S  q: B; H  u+ Y" e    # 使用K_Means聚类
    ( ~) q2 N+ l0 g6 d( `! ^4 Z4 K/ ?' c6 M. o    return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)1 ?) A4 |$ C7 j7 z
    ! x) o5 o' [8 `, V* B
    " I5 E0 P% K6 m- W& N
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)- R) p: h4 z4 P* S- W) r
    raw_data.columns = ['X', 'Y']/ P( c7 N' B6 O9 h
    x_axis = 'X'
    2 @$ }) e! `* `y_axis = 'Y'. d9 K7 n- }* a8 ~* j& a5 g
    0 \/ d6 a& s9 j& N$ {/ {/ {' P
    examples_num = raw_data.shape[0]; ]- H8 o8 f9 N7 |6 O+ M3 k
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    3 d( R# J% |! W- l1 S) b6 v. b/ ?
    # w' A9 b9 A; I: Z2 H
    / M: f) e: ]; \! {. imin_vals = train_data.min(0)
    $ [. d( e; a: |( Y& Pmax_vals = train_data.max(0)5 M. ?) }6 c, Y6 `' ?, X
    ranges = max_vals - min_vals
    + ~& Y7 i4 b3 G4 P; y8 A* _normal_data = np.zeros(np.shape(train_data))
    6 M9 I: N5 Q" A4 ?nums = train_data.shape[0]3 `" y+ I3 k/ ]4 v* o% V
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    ) B& h; `9 N  q. n0 tnormal_data = normal_data / np.tile(ranges, (nums, 1))( m3 M. ]! e% W/ ]

    ; c2 h+ I+ z7 g  Flabels = spectral_clustering(normal_data, 2)
    $ _, g' N3 W6 Z3 y: Z" @9 f2 L2 |( f* `: u8 G! F9 O
    # 原数据& [5 l5 S* ^) J7 R, n  y
    fig, (ax0, ax1) = plt.subplots(ncols=2)% K' W1 j1 {$ y4 `) }" n/ r5 `& E/ }
    ax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')
    0 |; ]. P: {) q8 W8 s  z5 \  a0 Fax0.set_title('raw data')6 E, n* R9 L6 p1 L7 L; f
    # 谱聚类结果
    / X# }0 l- \' @$ ]' {0 cax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)" O! {: o1 E7 g7 v8 Z
    ax1.set_title('Spectral Clustering')
    : m$ C$ L7 c. X7 j: b/ Z$ n* D% d# O7 ~& s6 a  M  s8 F# y
    plt.show()
    " A& h" r3 _1 W% P( |+ l
    ! s: l" E& a# ], V, }5 b1; y- L2 q. \& y2 A- R
    2: X( ]6 y. _" f( ]* N
    3
    / B7 V$ c4 X( v4
    . U$ m. N& f# T5+ E, L, O" h+ t7 z# L' d
    6
    ! U% q% [& s+ F; C3 k. ^- t7
    : |7 ]$ g- O! Q. R8: g- l3 I6 v/ V
    9
    7 Z2 [: S" \' I! D10/ e, P( F1 q" f4 z- Q/ l$ _
    11
    . `, e. q( r" c: m12+ G8 ?. e! I: P1 |, z
    13% k( x% z$ k0 D7 ~
    14) T! Z  D! K( q7 B  W
    15
    9 d" g. Z# F5 T$ C" i165 L* p: N1 x2 K5 Z% q. Z" s$ B& @- [
    172 [7 g5 a5 U  R7 j
    18
    : H3 V* O; E/ a) X192 G$ _7 K: A; c' p$ X
    20; n6 t( |1 a8 U/ U
    21
    9 Q" O' Z4 }- H$ i) G: v" Y3 \22/ Q4 c/ t+ s/ I/ K& \2 H; v
    23
    $ r& {8 v3 z# x  m+ ]  }4 C/ w24( j; v* m7 i6 v# h4 X4 ?2 t3 \* }
    25
    : R& q- v4 Z2 M7 x- `262 \" p4 Z. d9 m, L
    27
      j4 O, \- i% t( y28
    5 L+ V1 N& q$ v2 s" `29
    $ n' T3 ^5 S$ o& @30
    * e) h- H$ f( O  I31
    8 p% d/ H6 ]$ _8 t; p7 [# W# z; c: h32" h* Q4 A. o) q  ?8 I2 w5 s! Q
    338 v* p4 ^- U3 }7 s/ w% ^9 ]9 ~  S
    34; ~; v$ Z( R: C  B4 y- f0 J3 _$ u+ Y
    356 P/ t7 m: e1 A& Y$ h, |
    36- ?1 z4 e6 z) s" s- k
    37
    $ t( V5 c! V$ A- m38
    3 }/ r) x, u8 I& F0 @" }$ m# S39; b6 P1 v$ l) C# h9 \. [
    400 o9 ?  f6 I9 \0 Y$ D
    41$ E( H. W% I) E
    42& Q" H' Y1 j8 z2 ]( Y& ~. E
    43
    % b9 k% m$ C3 O# D4 @" b1 N/ j44. z3 u: z- u/ J' Y" f7 R8 [/ q
    45
    1 Q  T) i" T, l; a6 `9 \9 y46- i  U( r3 e4 q. c4 c. T
    477 j, Y( X4 |( W
    48: a! F8 [1 |# I% m( v" L
    49
    . i% E4 C: _) b4 T504 B4 h6 h$ v2 t! ]! U4 G8 D
    51% q; o" ~$ ?$ X. ^/ W* Q9 @
    52+ K$ F) I3 l2 l* L& ?8 c% Q
    53
      g  x% b+ m+ [7 ^: S9 p. C; I544 o* g8 U, J' `* i
    55% b: S2 s; j* L: i6 n) B. v9 V! q
    56
    5 l' Y3 g, C5 T, \) y578 ?3 }  v5 j% S3 C5 q5 }
    58
    9 _0 K3 B& C$ z/ q! L' J59# |8 p5 x+ d' W0 c
    60
    # E  F4 ~. E$ l+ ~* o- ^' S61% R! k% w. h5 \& ]
    627 v' r7 V) ?5 i) J# Y9 e- E- c3 M, ?% ~$ |
    63' B! l/ f4 m6 V1 Q; W& x
    64
    / c" R- u  ?. ]1 L9 {65
    5 o2 b- n+ T: A, p# S5 I/ p66, {* S0 G7 M2 _  S' _! L' u
    67
    , S% ?+ T0 n) F" @: ~' {68
    / i! l: z$ D/ S6 h691 Z2 X" X; [" n
    70
    : ?# @7 x' |4 F0 s. [0 n( T% L719 _5 s8 x% l3 Q* |& [* U1 W
    727 [; U2 z, ^: h% L# T, }
    73" ?% C. F# I. w+ M" s6 [8 [7 c
    74
    2 N( }/ B2 h" u  e4 d9 t3 w750 }, \1 J% a+ G# Q
    76
    7 D7 r0 O6 t; B0 f77
    # v  {# d/ ]6 M) j+ ?5 p, U78* W6 r2 T( \0 v/ P
    79+ a, t( g" Z( h0 |
    80& ~* e$ Y% l( \/ o
    81
    : B3 A8 ~9 _+ T  p82
    . @- X7 f6 t- l* q" H83$ h3 B6 [5 k& L# a0 O# \
    84, A2 R! i8 Q8 l) }6 g3 e* O
    85
      z3 R  G  J7 u  @& T0 d3 ^86! q0 D0 V# J5 O% f9 M$ x) P
    87
    . A1 K5 h4 ?+ G4 `% o1 c$ V88
    % G6 p9 d- o3 u4 v) f89& t' z$ p/ L  n+ F0 _
    90
    : B( B1 A4 I/ v8 o3 C91
    3 Q! w3 c) X* C929 {4 W. `% s; r
    93
    / e. S2 Q+ w8 ~: Z, R: t94
    ' Q& C2 L1 t( h6 g, V8 B95- X& e- q. t+ u/ {4 L
    96
    / }4 `4 M! y% T' a2 |+ I  {97
    : h8 |- W  [- z# z# ~8 L98
    % y$ Q; e- t7 M6 }  V99
    1 X5 z) @3 D3 M* O+ q8 u: S* E3 ~100
    4 p  N& c. Z+ w4 p& W1018 G" @( b- _: a3 I" j' `* @9 C5 Y
    102% ~# k% \6 }0 q" M8 g' i
    1035 \: ?) z/ N$ s) `- Y
    (高斯核函数)
    5 J" u8 t" Z+ j0 `  \; H; u( R0 e4 L! o  G0 ]! h0 b2 L

    * z  h  q4 n! b6 N1 e(K邻近法)& Y( G* v, h+ {+ u9 P6 Z; Y$ _

    ' @% Y1 k, u6 o: u" [! b  O8 O
    ( W  W1 V; L0 H* g- w四:谱聚类算法优缺点2 q% f3 a+ H$ C2 t( Y- g2 m; Q
    (1)优点2 C6 i/ d' i* t9 A9 O, [
    谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效8 A7 z7 j7 w4 R* w9 t7 F" j" o
    使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    6 V2 S* E* Q7 G% F8 @谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解' H* v4 \; ]1 t
    (2)缺点
    : k# p* y4 _# F2 H& {  y如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    ! R  k- u2 d* X2 W5 h% K聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同5 b+ [; @/ }, @6 _: f( a
    ————————————————' F. O- g* _5 r# [1 l9 c" M$ h* p
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: g2 d; e; j% Z$ w
    原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494
    3 n  q  n8 I0 T$ m5 Y: ]" H1 V- r
    " R9 t: u$ F7 Z5 p6 x$ R- q/ v+ N* b! u, ^" U# R8 J- p
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-10 14:14 , Processed in 0.317389 second(s), 51 queries .

    回顶部