QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3038|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现
    $ @5 p0 e9 B, j0 u4 O' i3 z  v+ R$ B1 J. I
    本文部分内容源自刘建平博客,在此基础上进行总结拓展  s5 x0 O, v: S

    ; |. C( X1 b8 h原文链接" m. i) [: j* o8 y
    文章目录* B2 S" _5 |! s# M
    一:谱聚类与图划分
    9 c0 X7 H& W; D4 j( O& N- c(1)比例割
    , v0 K3 h7 g' n) [3 Q(2)规范割(常用)  o5 N  M: k. b1 p) x+ L
    二:谱聚类算法流程8 B" d' g# ~. K7 |: Z  W' r
    三:Python实现1 d" T6 a. k. g7 ^# X# O) z
    四:谱聚类算法优缺点4 P( A( D6 A" o; M- P: o- W
    (1)优点
    ( i. n" m2 U1 x; |. T! i- W/ K3 U! F) n: a(2)缺点! m* p9 @7 T3 W$ j
    一:谱聚类与图划分
    ' W# F' d0 H4 l) G! S$ n# S无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中  Q* f& @) ^6 d; G7 h
    0 u: }$ _/ z9 j; k
    每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A : a$ l: m8 ~. }, B
    1; F4 V! K0 c" @9 m' e7 k- ^
    - j5 ^/ R& n$ Z( @$ n
    ,A ! q, a* M' N4 x; x+ H8 s
    2
    7 ?0 j" H1 V/ J' K; \4 U7 z) _9 Y& L7 V9 `
    ,...,A   q* a% L! S" q- S
    k9 i4 s( m' R) U+ m

    6 u" g9 c  I( x# e& _ },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    & S- B+ U6 w6 l! k5 ui; Q* `& `# O* Q* H+ \* q* R
    2 m2 Y' [9 u/ q6 V4 `& s) i
    ∩A
    * H  c7 X1 ^) ]; R5 `1 t9 @  t9 vj8 n: s' r" u( S; c5 s

    & h5 ^& E0 \2 Z4 j* o) ]) ~# a' W =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
      z% h# l: K# N1 W/ d1, F9 p7 L6 v! H5 N

      ]. V" j6 d; w! G1 o; U ∪A
    " p  ?$ N9 A- O% l. {8 ]2; n* k* ?( X7 ~$ @

    5 I( C, l+ ?! R0 w0 O ∪...∪A
    * a3 t- E3 C" Y4 ~" F4 v. G! gk
      ~* E* H) A+ V, }2 X: p0 _  S8 ^
    =V
    0 c# P9 l7 @5 W0 T对于任意两个子图点的集合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 H& Y) d) i( ]: [: i; [- A
    i∈A,j∈B5 P# W, ?1 E$ Y4 H2 E6 h" V* |( l, R4 h
    ; |8 v& ]' L& ~! h9 ~5 e" E
    8 e! y; Z) V2 A6 Z: l
    w
    7 Z+ f. ]& M( _% M4 v0 Kij( L7 L6 L' Q' z0 V; f! P8 P
    " C! N! @1 R( |7 Z* E/ \

    2 z6 G! I2 K% q" T! ~对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A & t+ b3 `- X* b2 \5 T8 p
    19 j# Q3 q+ O' ~, I/ ~9 ^
    3 J) y3 i  @: D* ?! m8 u9 w" A
    ,A
    ' E; m! J% [4 z7 u- I6 }+ t# O28 k. i5 z  y- Y; d2 ~" u

    * r) u5 e  C% }. n! v  A2 h" ^ ,...,A " D9 L; s' L1 X; u, e* {, g& ^1 }
    k  t, k2 z9 U  S* ^: H8 `

    2 y* u8 E2 L  ]0 `9 N" E" U },定义切图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 4 n9 M8 g& T& P; n: \/ G
    1  U8 ]* X0 x; Z5 `0 }, v
    + O& i( b2 \5 g2 ~( C
    ,A 5 }1 B; L7 \8 d/ V
    2* |+ y" H4 N# u$ B; z

    / N, W, I0 i! O. G- A* N$ Y ,...,A
    # `* d$ k% i1 p- j$ vk
      c6 e( M. [1 V+ x1 o# L& W+ q) y; A) V% @* e( E
    )= - n: b% H* F( c& B. T
    2, W8 p* S9 V7 G
    1
    5 R: a7 \" U! `2 c% m4 J+ J5 u" [/ G! B4 g3 K8 h

    ( F# p) e8 X. W) q4 a+ bi=1$ u. e) S/ Z$ T

    ! ^; G  C0 y6 e  H9 n2 Gk  {! }) D2 Z; k& }

    4 T! E& F- u/ L/ \8 n* N* x W(A ( w) N) M2 Q6 W" D
    i
    7 X0 t6 W, A( p% P% U' l4 P" B8 c* d- z& Z5 n( d. F' }- Y
    , 8 P% h9 T7 |/ k9 c4 u+ G
    A
    6 F  J1 Y! x- ^4 Jˉ
    2 T; |9 P. P: T3 ^# v
    # p7 g% I# u$ Z: }  O5 W$ v9 k. x" Ui
    + B- O$ ^' ]. ]
    1 _' ~# P! e6 y: Y: F( V ) (其中A ˉ i \bar A_{i} 9 c! {: q- `: e) \
    A- L$ c+ s3 x7 ?5 F$ ^) t+ \
    ˉ% [, @+ X- J. f9 H9 Z  W

    / l4 U- N# s, f% b0 d+ o1 Ni8 L* P7 U% u/ h4 J' c# w( S

    + A3 a1 v6 M) q. u0 k 为A i A_{i}A 6 q7 S( x7 n* d) G
    i
    9 A) x9 Y- {, s  c& q# R9 F2 S, m6 A1 t6 z2 y) Y/ Q+ k
    的补集)9 L6 Z: W. C9 I6 R# |$ ^
    可以看出,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 ' O) W- b- l; W$ a7 P7 g
    1
    . C7 t' v# Q3 z. n/ Q: x
    : n3 H) Q8 ^- d9 w ,A ' h8 ~! [8 A4 `5 E- b
    24 ]% J* J4 g* G, M3 X
    0 g: N) F3 W" s! J4 {
    ,...,A $ I0 `  ?% E1 n
    k& h5 W1 W" j; u2 c4 Z* v( Y" B4 I
    # C2 g# s! O) O# Q  V
    )= 9 {7 `) K8 o( O: m
    2
    0 Q  K. b4 n1 H5 a1 j) W7 H1( |7 L- X. @8 h# ]9 d) L2 {% `

    9 f4 J1 H5 U6 x' |0 V4 p" L, s* L7 N7 f- u5 }( P
    i=1+ h8 v& h7 e9 D, p9 i( J+ N

      E3 X7 Y9 I5 ]: P, dk
    8 j  S0 k4 o( p/ c
    6 |& h+ \' }0 O3 ]: O' q9 U" `8 M W(A
    , Z8 F) @. K/ \, v% o: oi
    0 j/ C& B0 {; j# w' l$ D; z6 ]- ~0 D" M
    , ( k( K  F: g: h+ o" f
    A* c7 O# B4 ~$ F+ z
    ˉ1 i1 Y' {7 k' I' [; Q, u; i2 h! d
    ! g6 k9 z6 a+ z2 {& [. L  S$ W; R
    i
    + a/ ^+ D6 T3 ]$ X- l  ]
    $ o' Y: i$ F* \2 j$ E2 n1 F' p )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A 4 G! w/ I$ d! h( g0 }. \; u
    13 \6 D$ _* T" d6 p$ P) w0 E

    + l: d- K, a* H5 _+ \ ,A * i% U7 {. e4 S0 v$ m1 R
    2) g+ m0 Q) c& I9 n

    ) Z6 J, K4 D5 S6 ? ,...,A
    : \4 `" U4 R8 [7 Rk
    6 p5 t* ?  x! p. W& M0 G4 r+ b% \+ d, ^& s6 j
    )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡
    4 [4 M+ X- G7 n4 D( u. s7 o$ p, `* V  ~1 Q$ U8 ?9 r
    例如下图,选择一个权重最小的边缘的点,比如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
    5 L5 `2 t9 H+ t/ p" K% E: d1
    % h/ P/ Q2 i" D1 ]  j# P8 A
    + X0 m6 f  u6 E% u: e2 j' b7 Z! a ,A : a: t8 C$ Y. S/ ^7 b3 x6 H5 N
    2" Z$ p$ b# S9 V2 W
    + K$ O# c9 D8 J
    ,...,A 4 d1 h$ S/ G& V% X9 F( d9 g
    k1 D# h; i3 s+ U) u& z
    6 w. v4 X/ i5 _0 l
    )但是却不是最优的切图9 y# ?9 o' i' ^; \. [3 w
    ; I# O6 |! w& I6 W5 G/ V7 b/ G- [
    为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    ' m, Z6 F* f  O1 m
    . |* q% X. C/ U2 {$ X) V1 T比例割: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
    + G3 h$ G9 }6 a4 A- m1. _& `- v! |, I7 u* G+ D4 Q
    ) C/ |4 }% |( `( ~/ F
    ,A 1 w% k" V: x# z  E/ z
    23 \+ W( q( {2 k3 h
      }1 r) M& Q4 L2 }) ^
    ,...,A
    $ B6 s$ e/ A& I+ z. I8 f7 Ik
    ' `4 V' q6 O. X: \6 R- w% r: a+ T
    9 l2 c- O$ _& [2 c# H% l$ x+ x3 m )=
    3 o) [$ h: n# _2 Q24 n( [2 ^1 n2 z4 V8 E5 T+ A
    1. k9 O) G5 ?6 I2 D% q

    ; S- p3 k8 J; t6 ~1 |, J6 T! g$ {6 I8 s# f! S/ K$ q2 b4 x" u
    i=19 o0 |* y  }4 R; Y. H  j
    ' \2 F8 H" Z+ @2 ~
    k
    ( H% G% s3 c7 c2 }5 s0 G
    - _7 |. e+ Y% }3 `. D
    + ~; [, m8 b2 v8 m5 X) _2 G0 p+ S∣A
    : ]2 D' l: i' H/ j: c; d5 U3 }i+ d- L6 L/ x1 x# d

    # \7 j0 |* W" q- h- I8 ?( A0 J' s/ n
    W(A 1 i3 G- a& {6 H5 K  @6 |' x4 B
    i7 u; Q& z4 V- t% u" n( ^' L

    5 J' o: Z: G3 |) K9 w , . x, d) z: P4 ]; n% I+ G+ e- m
    A
    6 Y; j$ c! B8 X+ jˉ
    + Z' u9 f1 a  E2 m( C6 P5 G
    , r: _; i; H- B$ \i6 v) n' @- I  u; r4 |
    * N, S8 C  r* s( g
    ); U  T. t; ^+ o. q3 m# b# V

    ! @* {6 H$ ^3 b4 i' R2 Y) j
    7 i- L( s# l2 u9 |4 ~规范割: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 3 }6 n0 b5 A* H' p
    1
    6 j9 V3 O5 K1 o0 t. m7 O
    $ W6 K% j  C' ~( o! v# I ,A ( H' u* b9 q8 ], c$ C
    2
    : i7 _( ]8 ~6 c6 w% B* a( j" O4 v7 a. N2 D) q3 p
    ,...,A ( b$ B$ p  e; F& Y1 B1 i
    k
    9 N9 E3 C" a- V+ ?6 {$ A9 q4 ]
    + c/ U8 z' m! H )= . c+ g$ P4 k1 z- E
    2; r  Y, I% v3 O
    1
    ; t  f) U6 @) ^2 }! ^" q2 A6 d& c- H- X/ r  ~7 P

    2 @9 J5 k# K( v( h) g! U% _i=1( h( Q( o1 `8 o! F

    8 K- q5 w6 @* K6 Q. C) Q% M0 Fk: I- B9 I# t& p( [& \5 H$ T
    * H. c& p% ]8 E/ Z
    # ^5 C5 z! I2 b+ y8 A* Q" Z
    vol(A 2 [6 _1 J# H. O( O$ U
    i
    ) z, E9 n! r+ u$ N- u* y. c0 p, D% d
    )
    3 y$ T' ]  C3 _# YW(A
    # n3 Z$ b0 S, J0 p# Ri9 D7 v$ O) o: Y; [# ?$ g2 l, _! Z
    ; |; ]  m. h7 h, ]4 p; u
    , ; d( E/ {  ^- a+ ]% x( ^( `
    A
    6 l' g7 u4 \, U6 }. t) C7 q! sˉ5 x0 R/ R& k: X5 }: X
    + \1 o6 ]* _* \
    i
    5 L$ ]7 n, E( M, u$ W, O9 N% c) G2 {& u; |
    )
    9 C9 V3 W3 g7 N! M% c6 j! B6 R* x7 T' D: W% H
    $ y4 s) N8 V8 y# V9 h
    (1)比例割
    # \0 L) S! b" u8 P' D) f4 m引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h
    / w: j+ C$ J9 N2 I  e* fj6 O$ A" o( D. {+ `% S2 t9 _6 ~! R

    $ l: U3 D5 `- |9 ]! e3 I ∈{h 0 g4 x; m, T' w1 U& q
    1
    1 @# C( ?8 d; M1 D4 Y$ R- ?3 C( y/ e: `0 I  W' j# z+ U( r' C
    ,h
    ' j# z/ U# F) A" m7 Z: ]6 A; P3 U2$ y# g) a9 E7 L" `) q3 w/ X
    : P1 ]5 J" I' p4 |
    ,...,h , r( D2 [7 |) r! n2 \
    k3 X& B( k2 t. s

    ' X, N; N! z3 {; l$ ~ },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h 6 h& j% _+ C: N" E$ X3 L! K9 j" o, }
    j
    6 h. ]- n: y' a9 V6 q! w: g' T5 g/ E$ J- F6 m8 r1 p7 f
    ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    5 @# z6 R) |! V& tij4 c4 `! }! ]! ]5 p1 m

    9 Q2 n+ o% Y! F/ P3 H 如下
    . O3 u; D  s+ P% R- u; k+ M+ M
    3 ~2 d, ^* t7 s$ e8 A$ S# h$ mh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    * h8 p( g4 M, d6 T{0,vi∉Aj|Aj|−−−√,vi∈Aj
    2 L$ i$ r( F* X( ?6 H% v! }' s{0,vi∉Aj|Aj|,vi∈Aj2 x. Z% m+ h9 Z: s* w
    h * A( Z% e$ a. q" |4 h. X3 [
    ij. j0 o8 Y9 a: i: W
    0 o3 C5 h) \' H' h0 s
    ={
    ( a  {# U" x; |6 V; h0,v
    0 {! C5 Q% q! \" [) |i2 ^: t9 b: X9 H8 Q& s. B
    - t" B) ~* B; @# c0 p2 Q

    2 T' L) M8 B0 f& E& L* O) q# c9 N6 I/$ x  u2 W1 D8 z
    A ; Y% t1 n3 ?1 S7 A
    j
    7 H! k7 S4 Q" U8 p' N* m; h' v1 ?8 v  J% }# x7 h6 R$ T$ V. L& H

    6 M+ {% @- Q: Y* m/ g∣A ' T- c7 `- P4 L" T7 D5 T: e
    j
    4 C0 D9 u4 O8 n( {7 s# h" i$ B
    8 C, f  K4 ?( W# R. ?
    9 Q) o* d0 k7 G$ q3 Q$ X0 b
    8 U$ j) G2 H; C& g7 q ,v
    % J; ~+ H( y8 C3 ]/ T8 bi
    ' I) F. H4 m, S6 h2 G2 }; r4 v8 o# R( {* H/ J2 \. S
    ∈A ) [0 z8 F. n* O+ D' R1 P. O
    j
    8 ?  w2 A+ d% q
    9 r" \8 {. N. F. C- `
    . \5 w# m( s/ ]% A/ ]/ a" M! c+ ]
    ! x( R  L" X5 a) x) _
      B& l# i2 F: \# _7 b8 n! n
    * E  e8 |' y, O6 c( O4 M) [于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    * s1 M" Y7 m( l9 s4 v8 Wi* d+ g2 i9 h2 V; j7 X. x; o+ T! @3 l
    T' w6 l4 ]) M: c( D* U

    # Y) s/ G) M2 `1 F$ e- k) F Lh
    9 o) v. p. b# x; w7 ~# T, E+ Xi
    * d$ W" K& v% Q( g/ E$ C* ^9 w( s! a* G, H: |% N) ~4 m7 J$ h
    ,根据拉普拉斯矩阵性质可知" l: j8 ^( z3 m4 u& o  k$ K5 n
    % f/ U. z4 K* n" z0 e& ^1 l3 b
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f 5 B+ c6 ^0 z7 C' \
    1
    4 a( ?- g& L# K9 n5 D) U- C: o7 o) H) C
    ,...,f
    , ~" ]% ?4 I7 q1 On$ r2 Z8 S# I: y
    : M" n& ?: D( L. G. G
    ) ! X) M( n4 r5 d& }+ [% p
    T% z1 A/ z2 \4 G* P4 m! [
    ∈R
    / E# o# W7 u* p, pn
    # W, n* P9 S9 H# ^0 a: a6 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 5 n& @" o) ~+ R9 g
    T4 X/ Y) e+ y* D# `7 @7 M
    Lf=
    : N* w" t4 r$ k4 V% z9 h' o2
    % i' k! g/ H# V- p% O" U; G1
    & M. ]9 o4 C6 V: r: J. ]* }% S, R; d" I2 b1 m% ?9 e8 ^

    - U/ N4 X' z- Y1 wi,j=1
    % K- e4 B" l+ O9 B# f) h, j; I9 v5 d  a) m% i
    n
    / C5 C  [! Q# K  P& g: K" z( d2 B6 f8 N( v; S
    w
    % M5 g3 Z/ L: |# |8 z" S/ y4 hij4 n* |+ ^$ d! m- t# W4 I

    7 v! N# S! @8 J+ g; P( p' l9 H2 \6 l (f ! {! X0 k: p) M2 q- _
    i3 j" g5 E5 N( v; ?1 |( M

    ! E% L0 R# [5 s# X3 r) e1 Q −f
    & k- B) s1 s! {: I( R* }( f+ [) \: Sj
    * J" @9 F+ G) t" R6 }" b
    , ?9 }' Y7 I  [% t- ]5 E# I ) 7 a$ z( l  J, C2 Z+ _
    27 @6 J5 m- v# q0 n+ N' P8 z

    ( z1 p; [+ C. u* L" v/ @8 Sh 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}|}9 ]# {3 P0 [- s( g! l" Q
    h
    : a, n1 ~- g* w5 ni
    + h" S- s- T7 |/ r0 D. f, F8 XT" N' q. X8 T' E- a( L

    ( y& D! @8 ?+ M4 F" ?0 N Lh 6 Q6 E6 [8 |$ z
    i
    . R4 @! q" F3 F1 \% z2 _
    . \* s" I$ q- D% v =
    , @6 w4 {  ]" J' ~2* o3 n3 e# G6 T/ k' o1 s
    18 S9 R5 }4 w9 ^# q
    ) I* J$ U) y/ |  L1 n
    / n9 o( j6 {. i- {$ s
    m=1+ o7 Z8 M) H% d6 u$ S3 F

    0 R8 \) b% Z# ?2 i8 Y" _: T6 A. l+ B1 w. v

    / |# J# Q. c$ D/ o1 N: V. Jn=16 ?2 h9 q' P4 |( Y7 h) ^
    3 N, Q' m$ ]' c1 R
    7 Z% _$ N$ [8 \5 h$ R) t
    w
    ! s' p8 Y$ W" {4 `. P* U& [6 ymn
    4 ]8 R+ X. f+ p, E* p6 n1 E7 n
    ) W7 o9 L0 a4 s, ]7 {* f# ? (h
    - a' f9 d" x9 h9 Z2 |im* @. V( T4 [8 f( I5 F, X+ z
    6 \4 r* l- t: o5 f9 F
    −h - _4 m! ?8 l3 a# d* X$ c2 v
    in/ D1 M9 u/ G. Z. D$ }5 m

    5 X. B0 \* V% x& |. E2 m )
    # n1 |) H, {# T2 ?2 B3 ?4 f6 N2
    ) P1 j" v3 E6 M$ T =   `3 x' Y: w2 \3 n' x
    ∣A
    & W1 i2 [- ?. ?8 r* U( X1 Hi/ Q' ~, s8 ~. }. h
    & r7 ^( E' T/ }( o3 s, r
    3 [0 u0 ~- `. k2 C
    cut(A
    5 e% L( [# b9 _& g. {) s: L; li1 p: m( [- h; D0 F9 q
    " A' u$ l" b# K, {8 A0 e
    , : f# Q9 j5 v- X8 ^( A
    A
    7 Y7 z$ y: X1 aˉ
    : g! H% C% k% Z1 n! F
    ; K) G  Z$ @4 Y) A" k- N+ Z, Hi) r- d: m5 n7 _4 x

    " `2 c- t& l% ~2 x8 i+ a )
    " U4 D# s( t; v7 {% U- v
    , a8 b& G1 ?1 P9 ^, j) j. N4 @& E3 S" Z( \9 F0 X
    : H. s! W0 m* ?: E( f1 q
    严格证明过程请看刘建平博客:链接
    7 G  l0 U2 y: d# h- A" u# e" l6 ~可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h 2 J! {0 v: Q$ i3 T& y. |
    i
    ' x* I# ?- x$ R% j# ]/ g7 aT
    & f# H* c# s/ P  W5 W4 K6 m8 A0 f: e, r5 ]) `3 o; Q$ e
    Lh " q) _/ S# w! K6 S2 @& n$ j
    i7 z8 J/ I/ W9 ]# s3 p
    : C1 L4 ~  q$ D7 E9 n8 S
    ,那么对于k kk个子图' e0 d0 x/ i' b( Z, n8 m1 V' l; n

    6 @, H. S4 Y; Y: Q6 AR 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)
    ) t6 n  K3 A# q& VRatioCut(A
    $ C7 ]3 I4 a3 @# I2 D1
    ( T: ~+ ^" u, [% I, _6 e1 }% G, Y- m6 E& ^$ E
    ,A
    * X, N& R) s) g  ^1 N: u% j2
    5 d/ o& s- d4 q! ?3 }+ _, t
    . o% p- P. [5 F1 D: f ,...,A 6 K" f; @/ j. M( e* ~
    k
    & y5 t8 K% ?9 v" H% ?
    . Q1 H/ Q. h1 T. n1 V+ G )= 6 _" s* l' `+ @" C  c
    i=16 G9 T( D0 w- l9 I
    " K, x' F3 ^; c" p2 \
    k- W5 N$ |4 S* ?+ `" d9 m

    : @! t4 v0 R1 Z( R* z" P h 7 S6 |9 G; \, \. r) V* d
    i: P) f2 b7 G7 I8 q  S- L* Y8 `: f- E
    T/ T5 Y5 F* b0 T

    6 Q* Y$ @; j+ K$ O! C" w7 m Lh 4 k1 w! a. J0 f) ^
    i7 F, N" ^0 \% A6 b  i7 G6 G

      h* S( Y* t- W1 K = / }/ ^& p6 V4 |' Z& j0 q5 I+ [
    i=1
    7 v& g! D5 j4 h% @( i
    / g5 H- {5 Y) c: x, nk
    ! p/ f7 g9 k+ g5 C! {
    % f3 \( I6 j. m# m; j (H # p' F6 [( T5 O
    T
    % o2 Z5 H. d* q* v5 b1 z LH) , _( {; g, s$ x4 g0 Z
    ii$ s+ E0 u  r" ^6 Q+ b
    ) _" m$ j7 j4 ]7 [
    =tr(H
    1 U9 ]/ }9 G- G& `1 ]T
    ( g9 \" C, W- h# d/ N- P9 u LH)
    0 b7 f8 m  @1 [% a; J2 o
    & _3 T9 X2 Z5 z8 T( G因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H # {3 u; [' O8 q8 s& [
    T
    + N' p; }8 Q- r1 o6 i7 s5 B; g& o LH)。又因为H T H = I H^{T}H=IH
    " ^0 J% q6 o/ A; U8 TT
    3 J. X/ {& F" r" l9 o. I H=I(单位矩阵),则切图优化目标为8 Q9 a0 p5 _  |9 \  s2 {

    8 Q; ?3 V8 V" }: O8 Ea 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% r3 \" ]. R6 a" I
    H* f$ F; C) A- a, h; X
    argmin! K8 J  q/ {& r: {# d, s; ?& M
    / ~' |" j8 U+ i
    ( Z& Y! Z7 n+ C5 ~
    3 `3 t5 a! q$ L. ]+ p( k; w/ S, v7 ~
    tr(H
    8 |% B5 e2 c3 P4 \0 NT
    ( W0 V/ B# V/ _- m8 } LH)s.t.H
    % [7 d3 H, N) v' C$ `: g% rT$ E0 P8 N/ T; ?3 J
    H=I
    3 v7 |+ Y7 {/ ?/ p
    4 l7 i6 p& ?' A对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H
    ' T9 @4 u& N: p7 T6 R# B) st2 V. }& m8 M3 E
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h 1 t! @- C% q: t" i
    i
    4 a2 J2 K) ?. ZT
    ' t5 f! E4 _  x" n$ M" E3 |1 w8 e* N. }8 [3 w2 B
    Lh 0 P  A; c& Y: p3 n, J5 T
    i
    ; T! |8 b) a5 k2 g$ a  D. Q( ~; W* z) H- W: o4 R# @
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h - G# z4 B* J+ [. t4 f
    i! n, w0 V1 l# H* U" y& o1 @% L' Q
    T
    2 H6 g* [+ x+ f- }6 @9 K0 q
    + d: D" _) I+ a Lh 1 W- a5 E- b4 F4 ?+ @
    i8 j' X0 W3 C2 X0 e
    & N. L: U$ ^  R, G1 Q2 h
    的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h 2 v2 R2 k5 E- w7 W1 {4 }
    i
    # |: x  u! _# u5 [. p& n' a, yT
    6 C, G$ S! I+ [9 X  X1 f1 @) r* t2 ~+ H( N0 |' N6 `
    Lh
    # L& [7 H9 g4 u* B  Zi
    2 n) N: {* X  W( J7 {  m5 y) P7 c( T4 d
    ,目标就是找到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 d9 F* A- a) V  V# Q/ w8 a
    t
    8 d7 s1 Y6 r, u! ]$ L+ z/ [ LH)=
    6 u& V1 f5 A0 B/ t* s% c4 j. vi=11 j# \$ Q/ n! d4 B  j( C
    3 r% B, O7 \: F& g9 n
    k+ w4 u' R+ j5 K$ z7 R

    - ?3 o- v& z, I  S; `) q h
    " p& Z* r2 C% V4 r9 u: D# Ii# Z" B% U* E8 u5 o0 o3 e: k
    T. J% t. e5 n. T& s
    0 A8 F4 W. N5 b7 q: c/ H
    Lh ' [  O; p! j4 C- c% V# g8 C
    i$ \* T3 {, x$ C6 t
    6 d( |; f2 }% Z
    ,则目标就是要找到k kk个最小的特征值' R9 O2 x: l- D& u+ ]: k

    # p2 }  G! d5 y$ F' {) j  B& g因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下+ V: [* t- R1 Z$ _! P- y
    $ o) u& w( `7 {( t
    一般来说,k kk远小于n nn,也就说进行了降维( T% [' H0 H3 H5 u
    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}}}
    4 z5 i6 I+ m5 `, K# u+ Hh
    ( m8 v8 Z* B1 r. P: p/ @ij
    + J9 u" m1 m/ Q+ y* c& v  o2 a; u# N7 l/ J; h  R
    - H* p2 O8 K4 i" U; N1 u
    = ; c  y, v& q! H4 f5 N
    ( , A% F+ V0 p# D9 X& r
    t=1
    ; R  d$ x. X$ h, p1 }' A& X% z2 |2 d5 f+ M) ]7 C
    k# u8 J; K$ L6 S- F
    6 a" m+ L4 B; ?
    h
    & B6 G! S  I8 {& |" x, Qit
    . Y5 ]: x  l# e4 p26 }; V- H8 n0 q* W* W

    & q  I# q6 }5 B* y$ R ) ) _  A2 r- m3 l0 q/ g
    24 F: ^. t. q  W+ S: ]
    1- {! O. _. a; F

    % u6 f& [+ z" T$ v6 q( f2 t5 L2 K* D* W
    : X% X8 T7 J% q: ~0 |# r
    h ( S- b- A; M1 o5 T" k7 a
    ij
    4 s* m  }+ ^2 x% X# z
    / I6 S, Z) a- K0 y, U/ b. D, R
    + V- O& J7 G5 h* \$ H$ [- D/ G5 v% u6 h

    . ~3 H9 z0 l2 [6 a, j! |/ U9 K+ i! T4 H9 G7 @
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    & F5 T! ~' o* E5 [9 e+ d! A3 ?0 C2 I9 B9 Y1 h) v
    (2)规范割(常用)! a2 U6 d1 o$ N$ |5 ^$ f: M
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A
    ( ?% r. x, j9 ~- D+ Ri8 }0 j, W2 D! O4 T& ?2 S
      q" O/ J2 z* \- B/ x+ [
    ∣换成了v o l ( A i ) vol(A_{i})vol(A
    ' ]7 q, L, R4 T7 Ai0 E/ m4 }( l6 w+ J
    % o# ~* G( E3 |+ P: l# i' Y
    ),定义指示向量h i j h_{ij}h # [& Z# J+ G/ _: g
    ij) k* x* A, A8 u) {$ f

    . C. R6 n2 m; p3 L' F0 w- Y+ x 如下
    % C+ _# V# q; @8 y* U& e9 }: h: e+ ]( E; T8 q
    h i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=; O4 O2 R/ e) w) U9 A3 L! a! r
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj
    - I0 y" B8 ?( P$ N! S" w$ I{0,vi∉Ajvol(Ai),vi∈Aj
    . m$ f# g7 d( C$ O# U# x  Hh
    . q5 s/ Z3 ], j: Jij; k5 E, J! b/ Y" ^8 C+ N0 _: s
    8 w. Z" F8 o6 Y& x/ M; C
    ={ * b5 p% B6 H5 C; @. F
    0,v : ^0 b( L  n" p  F9 F
    i
    * k3 P1 u; ]# c+ v! d5 l- u" a- X2 e- b! G  ]9 A2 y

    ) E; l0 h1 W5 O, ~3 ~3 {$ w/: |; m3 x3 k& T/ P( e, l
    A
    $ A0 n: p  f% K6 e& Ej
    , l* W, I; d( `6 L/ j- c4 J6 h, S9 s4 x' M- M  c+ h; {/ i

    : L& z7 |4 G8 W9 E* ivol(A
    1 j: K2 [) ?+ A$ P1 Ei
    ; F3 S+ T9 k% ]1 N6 \" _7 e
    6 d5 p: v& e3 [2 s6 i )0 ]5 v) @. H$ |" A9 g) z0 k( x
    + W$ B2 n/ \( q& i4 K
    ,v " g) F' n6 U3 C: K2 W% U4 U5 j
    i/ f  M: O# {2 ~! d1 H/ a

    ! {1 g- w, ?$ r' H! | ∈A 5 Q0 D9 T6 ~+ J. G  A# k0 c$ k
    j; b2 A6 C7 t6 m: M/ b( n' t" w
    ( b  x6 S% p8 J

    ' r1 X+ _- L/ V, q" ^2 q0 b8 R3 Q3 j" P

    + _3 s% {4 p9 w4 K* h( p
    # m) A% R+ X: q# S+ `. W  k! l; X于是,对于h i T L h i h_{i}^{T}Lh_{i}h . _, G5 }( ?) c: I. X1 x
    i
    ! x% Y, B/ k; J$ ?/ n" aT
    * {, x: B7 X  N* l" F% m) w( Q/ e/ [; r, e! ^: n( r
    Lh
    : `6 b$ I& R+ k& N) [7 ?* G$ Ii: o) p3 s& Z1 r$ o
    9 z5 ?0 s; r- c; @) C5 l
    ,根据拉普拉斯矩阵性质可知3 j/ G: d# I! J# V; W. A8 c. F

    , o" e( t4 ]# I4 e, ?- t3 U对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f ' ]7 V. Z4 [2 m: u* C0 R5 q
    1; y5 e6 G: j1 X  A3 f! K( U
    8 B- \# i7 F+ d& I! Q; X0 q# O
    ,...,f - R! |4 I$ Y/ c, B" S- r) ^
    n3 m' n: }# ]3 x/ u/ d6 A; W
    1 U) ]+ d' u" I% y/ K  Z; ?* W+ X
    ) 1 u/ n, {% O, q! `% a
    T
      N" c- h% R* v, j ∈R
    8 v' b% S# ?$ p( c8 V$ J4 _n8 X' x. U9 T" G" U# Y( P
    ,有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
    % \" ^. b- I: mT8 ^7 M& A% J+ L" [6 c# V
    Lf=
    ' w/ @. w  i/ v6 b2
    0 I) E8 X, j8 i2 v10 Z4 `9 C" h$ d9 i% A  A1 W

    - x; a+ S8 B! b) w, u
    " O7 q; e8 v4 |- U  bi,j=18 M# A) S5 X1 x+ `( U" l2 k% }
    9 H! C6 G) s5 |' {4 p6 p$ d* i
    n
    ) O# ], K, @' a6 t% f: X/ Y; {" ?9 _: c5 |$ G6 Y
    w ! o1 ~% F3 s7 _: p* u, s# O
    ij
    ; F+ k$ P9 c* u9 L3 T/ Y, ?7 ^! G3 E9 s9 D
    (f " h- P3 ?9 X2 R& }% u! J* X3 P
    i8 u$ Y& o% u2 L4 P  z8 t# S- h

    % a, L3 x  m7 Q" M −f / Z& [9 I" V4 w* m2 D, u1 C
    j
    ; D  I& }2 o' }! V! H. ^$ F' O3 s& @! n; f7 X. H( ]
    )
      E4 J; R; d& g& x: K$ O0 }) k2
    : K. `7 o) U5 ~" E6 O, D, G# r0 \7 |
    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})}+ `( O* @. F9 N" Q" o% p- d2 M( b
    h ( F- [7 O5 h/ {$ m( I' ]
    i
      r& o, H$ X+ z: y, ET( s. X$ Q: \* v5 U/ j7 [
    ! ?# Q; d# O2 Q. o
    Lh
    . X: F" Z) Y% o0 Oi
    5 \5 v( f0 A: c
    * K2 K# X$ x' W3 | =
    : F3 W) o4 ~- r2; d' Z" x8 }- }' Z) w1 I4 f6 E% l
    1, g: U; e2 I0 a

    & K6 B3 ~1 q$ t# T) c
    ( K4 o! D$ C+ ~# q- Bm=1
    ) T/ K" g3 ?/ c0 f: F' S3 A. X
    * O( T* ~* T- D+ u8 D" b4 @, m% o) P7 B( B# k
    % O9 w" _$ ]9 e# G5 \( d
    n=1
    ' X' U2 d; k& J8 [6 K0 C: Q; B1 x4 f/ X# H( k4 L7 k7 `3 K/ B

    ; w7 Z, P& B5 D9 F* D! o w
    : o& n+ K* \3 K' p; F, G" U0 Mmn
    1 S7 o  W. S+ |, Q  F; }
    6 ^$ D: R! n) N8 l8 i/ { (h
    9 U6 A3 W5 b* m, n7 E4 x& jim1 t  ~' f! N  z, r! l/ f4 i* \
    9 z- x9 U% b( s6 A/ K
    −h
    " ?$ l! q% r' y# d% s1 B; Sin( v4 H; J3 u2 Q3 I. n4 b& n/ b
    # B# R( B7 j+ W, W* X
    ) 0 p  X& P  k! i0 Z' K8 m
    2* f4 }; Z: t' x; R1 c0 ], }
    =
    1 S0 U0 T9 @" b- I3 S4 hvol(A
    + c/ U4 T& B+ S5 P) C2 k2 f; Vi  J" Q4 E& x' k# o1 R
    , L9 N5 T4 y6 i: j1 ~7 y
    )& F# p& s4 J2 y( ?2 H5 h
    cut(A % ?5 l6 z$ K4 N2 [: C# k
    i
    2 ~  f  F! L; i4 w
    ( l1 |2 i8 L+ K0 K ,
    1 S+ T) T" U- G9 ?A6 r8 _/ ?3 b, Q) e; z4 G
    ˉ
      w; r; ~5 M7 N8 Y
    5 }  f: K9 }6 s: R- w& e% p8 ki
    8 R5 u$ x: P* ^  T
    ' w: _. W$ R# C0 H$ V7 j )8 _4 f9 R4 `8 m1 B6 S2 b' t% o

    # G. t& F/ x2 B5 Q6 C, K0 e4 p# P0 r; F! F8 o# u
    6 j0 e* O% U/ u
    严格证明过程请看刘建平博客:链接! W" w& `; R9 A* V( [. T
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    ; c9 \, g' D' F- M# H% U/ {i
    ' y& U0 N. @- V: OT2 v+ J. j! H% P& }! _+ l

    0 f6 N0 X& y& l Lh ) Q7 k) u; O. h4 z) B
    i
    ( U9 h6 V% T& ?0 s5 Z8 a1 Q
    : p; p( Z' [% ?5 y( J$ ?% P7 n ,那么对于k kk个子图
    5 q  e- B  l  z# K' {) @3 {
    * J( I2 d" C5 ]' M. ^: yN 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)/ Q2 O! ^  z- o
    NCut(A
    7 S2 t- s; t6 R8 _17 s( O4 i1 {( {4 y8 ^) ^$ z
    ) J/ k5 B' f2 |" Z' q( I9 o6 R
    ,A   q" b: p( f' |
    2
    * J# b) q* J' _
    & q% `3 Y* P$ Y% Q( ` ,...,A
    % J- c  Q5 Z8 [k
    6 K7 x* ]* T  o- T' c1 w& ~; ~, v! ?
    )=
    - d0 {- ~/ z2 k5 P7 Q% n1 Ii=1; C* u3 W' f# w, A# Z! I; M& @

    & O# N& a! ?8 x- N- T5 |& gk6 g) c/ h$ [% z; y6 v9 l* h3 S
    1 W# f* p  N7 u9 L% k1 v
    h
    + E4 W& G- `) w* W6 t* yi
    , l" Z( `; e- p/ p4 a1 E& IT& H! C4 _, I0 a( e2 S5 Q* ?' q# k0 ]$ \

    5 J: v8 K/ `( B8 [ Lh 1 [8 {' B. ?! a$ _
    i
    9 T* q. Z* [/ c9 K; |
    ) ^8 P5 v6 ^0 G2 K- S  X = * M7 M  U2 f% {! E! ~
    i=1
    0 q. s  m  x. ]8 l  G+ H. W$ o" p7 g1 I- c8 v
    k+ a. l; t7 I8 s- I9 d' W( O: S

    1 l+ C/ ~7 b* j1 d: }7 Q (H 6 {" Z6 n( G+ U" G' P
    T
    + P) o4 h: @5 C! R! k1 m LH) 5 ]( u, h, Y- W
    ii
    9 ^; ^( l* c4 @; x# v
    ' z4 j3 [* m2 y+ _' w+ j4 A =tr(H
    , P- h/ ?, m- M, i4 I# X2 HT! H% Z' c+ }/ Y2 i' i
    LH)/ v9 ^9 ?) Q6 F$ A

    4 D+ D! z8 f& G0 x但此时H T H ≠ I H^{T}H \not=IH
    . Z( J7 h, L4 H) s/ I$ KT
    + [) M8 w1 c2 `' ^# l H6 ^) V4 w8 Q5 V) s: {2 Y) g# ?

      W* [+ X/ @+ {% l" B; B+ o- Q=I,而是H T D H = I H^{T}DH =IH : o* v9 B4 `, D5 l. o
    T
    * g9 u8 e. y! F6 t5 A DH=I9 J- W; b: L2 Y$ k# N8 U) l
    / V; @6 e- L# _- L7 v. P- _
    这是因为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 $ B+ U9 |9 C9 p6 }4 j; B
    i
    ( |; X" d4 [& G* W+ G9 nT  b& k8 ~8 c* M7 i! w$ f

    $ {/ H# |3 y/ N/ h1 x Dh
    " E: E) t& S  j0 Ti; G, f; d3 H7 b1 Z# X2 m. Q) h& Q: v

    ( O4 ~7 e) n& P/ W = - v  U& _" V* b, T1 w) z) Y
    j=1; X0 T1 }; S- t; F) r5 U8 D
    ! I3 @! I7 ]! z8 K
    n
    0 B, p) E. _) U) w- b. L
    ( |9 u. Z3 j7 K7 g3 `' ~5 E h
    3 n" j5 g1 R) D, R: Tij) h9 o. h  n# t0 h5 a* }  Q0 U) L
    2
    / d- h* Z0 D7 d& ]3 Z: V
    0 D6 ^$ z: s6 S d ' a1 d* ~7 t: X$ h% R( [
    j; t* J' R0 Q0 ?, V8 H

    & `% q, {/ N+ l7 Q = ) T- f( e" a2 T- i/ r2 u
    vol(A # p) D7 x( e9 M1 m
    i2 ^- g0 \$ d0 Y8 Y
    ; I2 v  j6 g( ^; y8 @* T
    ); a: G. {- X6 @5 ^' l9 x5 X) R
    1
    4 E! q- `' u6 h' [9 _. Z# K3 Y1 t/ ^( H
    7 ?+ r) G4 {! x+ J  y4 B1 G
    j∈A ( I! A1 {9 n: q# ]. P% |! x# r4 d
    i  r, ~; E5 f# X- E6 F" ]: [  q% Y
    6 A5 M( b5 p# F, n- j! P& H

    * e9 L% C- X- n, o
    : M. ], T0 o% @8 H2 }% a) A7 I4 i3 V2 b' b9 t/ `' u5 y
    d
      w/ @- x( R& ?, lj
    : P2 ~  v. I! R$ N/ [$ @# k* G! W7 A
    , G# Y% H; G3 s- { = $ \) a; H; }; D5 Q, h8 F
    vol(A
    " D, e  _' ^5 k$ l2 qi# }  B; I1 i3 e( }6 e5 R8 ^

    6 m* P4 C" i" D- V! P& V' O! { ), t, U+ B# @+ V- U% ], l* R
    1
    2 k# \7 T, S) U: ]( R  |  l. s- h+ }/ v1 k. ~+ w, Z
    vol(A
    ) d  m9 H. T: ]/ |+ F. di
    . R; K+ s2 C( e; Y8 j# K7 j1 {4 ]3 S. ~$ N( Q# w( t
    )=1
    * y( f0 h9 D- M: _/ c' |因此,此时切图优化目标为/ p- `0 J% X* F/ g; n/ N' C, U
    6 e7 B4 F2 f3 X, S3 ^. h
    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$ S/ U- }/ b  C; VH
    ; k6 R7 u& P9 V( K6 I2 a  Cargmin
    9 @! M. F  F; a  T1 c, P+ }9 {+ f! S- y; Z0 q& L3 M  ?
    3 g( ~" B" X9 F" h2 c

    7 D, ]1 R! r( P' J" L2 N tr(H $ P6 A* X: f0 `/ f
    T
    ; Z1 m  d2 J  W$ L/ [; @; N LH)s.t.H
    0 {) j+ ]7 V6 |# p/ r+ K/ J. r8 y" xT0 [) _9 `, q# p) f* K
    DH=I7 f1 N3 m6 r. Y* n7 P0 {
    / ]5 r+ \2 N# h+ x
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D
    ! L1 o" [- U4 D  h3 r& s. B( I1 J' @. n
    20 |+ n5 f0 q6 `; K* [5 X
    1" ], E" ^/ x7 I5 c+ q/ M* B
    ; B+ ]0 o6 k# l" L5 h9 o

      C) U$ O: E+ G: v+ { 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
    $ z( g$ T1 ~! l7 C% l1 r6 X2 XT
    3 D& _" Y2 \7 q  } LH=F : T0 T4 T7 Q5 L- q$ f5 @
    T& C$ u" i* Y. N  i) V+ I+ [6 `% ~
    D
    " f# n- k& [% S
    + Y6 z4 u5 E2 f8 `0 Z# M2
    # H1 ]- }' S; O& b0 z; V1
      l" Y" S; r3 _7 s5 r
    ( h7 ~/ ]5 e+ f* b( F0 t9 O+ T# J8 X( p$ v3 e! @
    LD . {/ V, z$ [2 J* F- q8 R
    , v6 ]) p( ~! P; u0 A" B% v! X! J
    2
    3 e! r& {% B! X9 T1% T& Q5 R8 j- f+ w3 r7 ~
    9 E7 e: z, a3 E0 J

    + T9 M8 U2 s' ]) j3 g+ j8 s+ O F、H T D H = F T F = I H^{T}DH=F^{T}F=IH % b* ~9 U  m4 u9 w2 J* i% H
    T
    8 l& r4 U- D" e2 E. E DH=F
    4 |) N$ ?( h' d7 QT
    % o* b7 S. K" \, T. i F=I,于是优化目标变更为5 i! b) V$ t+ t! I
    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
    2 [9 s. @( z/ B5 w. U5 YF
    4 f+ I; B0 M& g& ]+ s6 b4 zargmin
    7 n* [# Q6 m# f  w" G3 G  V& P
    & \* o& D. @. N- n" P2 n9 U, q, p8 R! q4 I
    0 g% h' @# W1 E1 Q  B" Z+ [0 }0 z/ Y$ ^" S" T5 F' \3 o3 M& L8 f
    tr(F + Y- A$ w& l, u2 g: n" N8 e7 y
    T
    6 |8 M3 \% b7 i( K  H' w. [ D
    + k9 k, J# |8 L% G. g2 Z9 F
    0 K/ @) ^, o9 g% d" ~2
    1 y* v' M: ?# U* Z9 r* U1; G7 w  Z4 u4 @; E4 Z2 s1 j3 i
    / r5 R; G( H9 v5 b  j) g
    + A# Q4 H# w0 ~  s  ~8 V" p
    LD 9 N" l) x9 P( O9 ?

    7 p4 {; R' h% }. q- P3 P8 ^( n2% X; t4 p  k  L
    1) V! u, ?$ \7 u! Y1 v% o+ K, S

    ( z; c3 ?4 n  `7 n! L1 V3 W: p: E
    " M1 N* K# U2 T4 i  `+ P F)s.t.F 0 i1 E" Z  y% f- _
    T) P( g, W9 S+ R
    F=I8 ]  N/ K1 C: C! s

    + g  A! m! x  q6 M现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D ! s$ p, T; A9 V; g
    3 S! e  x5 F1 H+ [
    2
    # R* f% C! o0 x( ~4 L1
    , L2 t7 l/ q  g* o0 Q% c. }
    2 N/ X9 C3 @/ @- ~$ Q( x) k
    ; `+ u+ a$ Q# c5 P6 p; V7 W7 y LD
    1 d( Z6 p8 B" }3 E* B$ @- p
    2 o7 O: X4 E0 [- H2
    : R7 }* t5 X/ v. q: q  g: H! L1
    + H* l' y+ H1 `+ a6 ?0 ~, L- b1 {' C2 U! x7 Y; t4 n- |* `
    1 I. {: c$ k, w) V* L  G, Q
    (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类' `) W5 {% s8 R6 ]- h

    1 L6 R, u1 t) g! G一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D / G3 c# o' V. H* T
    " d% D; L  m% y( B7 `5 {9 _! Y  e! f3 Y* A
    2% d. H3 |3 L! m# H1 P. m
    1; Y' B; C3 s$ Y4 T

    ( d' _+ ~: T4 z9 W: B8 |9 `. V' R/ C% V( @# X* i
    LD ) @- Q7 {! L1 J; u8 [9 M/ Y
    4 h4 _* U- E" i) y, C
    2
    6 H6 [" s9 ^% f2 ?- q! Q" ?1% h! _6 ~' j; x7 i( t1 q2 e
    6 c' t" f' o" e+ G# k5 v

    2 [8 ?) `3 a7 I9 f: u 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} - ~. y4 T, ], E# t8 [  a
    d
    - v) P- y; \2 g$ P3 Ji0 E- n: B6 i0 Y' H- c% l
    8 {0 Z# m$ U  K" h6 Y: w
    ∗d ) Q) ]4 c; J& C
    j. t' W, q3 ?6 I$ P

    1 l+ `* c) {; L! N, F# |! l
    - y7 \1 K1 }( A2 k. k. e& g* y5 r+ s
    7 a2 E! @: ]# F7 ~
    L
    ! v; K5 q2 R0 K# v- y. r/ ^! I8 Oij
    5 h( F. c' G% C& B8 ?+ E( ~
    ) s1 z  W9 L& \" x& h
    ( z% l+ V) [" p
    . _( _2 N; u% H- r
    , @) d0 m% S$ y/ ~) [二:谱聚类算法流程
    + _9 Q' R& G) i% ]4 z给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    2 y0 g* _( g4 \* A1$ k* E3 Z5 R3 ^0 s( H
    & x9 D( w5 ?. @8 @) {6 l8 [: N$ P& n
    ,x
    . S( b. y2 h: d2
    # K2 Q5 T; n- u' P* ?$ c, b& {7 C) n% D' _7 l4 A' w8 P
    ,...,x
    3 u) E" c% l/ b0 W  _5 Q% |n; x# H5 t4 q  j1 U
    1 M. q6 a  k  B: N. ^
    }
    , ^, e* u  _8 _" w7 [+ D" q
    0 Y5 X9 c! i) Y$ K: S( z* g根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)3 q3 x3 [! ?! Y! r( j( b9 f5 w
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD& G: I+ a2 W8 ]% R
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    6 J  p7 `5 W3 _) f! T1 I得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D ! e9 ]1 A* Y, [$ O8 B
    8 S/ x6 U/ t* y
    2
    3 n. N, e" A6 [15 G- f, e: M  I. D8 I
    5 w. D7 C0 O: t, T7 W/ a& f
    ' ~9 O- B7 M* \  b9 ]
    LD / {/ n+ U! c: O5 S
    ) z: q0 \" f& |; F) X: @/ \( q
    29 p& n6 O# s9 Z. k
    1
    ) n6 V6 P  T, a' Q5 {6 \) S0 \1 `: H# W( t' u
    5 s$ R9 P& h% v1 ?- q4 y4 P: D  l

    $ _2 N: t% m! ?! K% V1 L2 Z4 V3 m计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    ! M/ o/ Y5 t8 s. W+ M- n# {" }8 o6 Q+ v& y8 v" g4 @- @3 L
    2
    - W- k3 k  `- v& C1; y+ j  ]6 ~) h
      V% r3 [2 V% s, \% `) H
    2 o4 L! G1 S0 ^+ C$ d" \  D0 L
    LD ; y3 U0 T' }) C

    " A. K% c( |" m3 |2
    # e  p) S9 B0 X- s. ?3 _12 l4 F1 h/ T, u: Q7 R5 @+ S9 v( X
    : e* `/ S0 i: B% E

    # d' ~  Z  I8 Q7 y 最小的k kk个特征值对应的特征向量f ff+ C$ A7 v% |+ [  n% z
    将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF  {& o* A5 c0 P+ M# _
    F FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k
    2 `8 Y; j: A6 M* d8 q( R8 n! Q
    / P& Y  V5 Z1 B0 f. s0 |
    得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c
    3 B) ?; y! ?& d3 M3 e4 D1* t. ^! ?* h6 I$ t* r2 B7 J$ H

    1 o+ g2 Y+ e! q+ f$ ~: q! | ,c
    ! C9 A4 F' y/ [) s0 X0 k20 s. I0 @, D1 {6 Y5 a, \7 o% M

    9 k  R- J9 u# l3 I  `  c/ L5 M9 Y ,...,c - R% x6 `' B7 f/ ]* o
    k
    : d) i$ Z% Y) |/ Y4 n: L" k3 A4 E" O4 S
    / x1 |2 [9 w* H4 a% B: o3 {$ p* |
    ! c; }: _7 C# \
    )7 t* I: P9 i) e6 b  Y
    三:Python实现+ O4 f  h; o/ k' R' @3 Q
    import matplotlib.pyplot as plt! V! K2 }# ?1 n" ]/ P" C' R
    import numpy as np
    4 h% o+ G0 Z1 C% Q: U, L) ^2 fimport pandas as pd5 W5 o4 Y2 z5 H* X
    from sklearn.cluster import KMeans' \# f/ V( X9 [8 ~- B( A" i: \- X
    from sklearn.metrics.pairwise import rbf_kernel
    + j& G, j5 U) }from sklearn.datasets import make_blobs
    5 p$ q( a% Z2 p5 xfrom sklearn.preprocessing import normalize
    ) B# c) t& l) j: y" G
    7 i6 ^* G+ {3 K# f2 u; M  jdef get_affinity_matrix(data_set):+ n/ g! U" {, h3 N9 R0 b# y
        #  利用高斯核函数计算相似矩阵(全连接); q* W8 o' P8 |6 o
        rbf = rbf_kernel(data_set)
    6 `9 E" a1 @( U  v4 `% L% [7 }    for i in range(len(rbf)):* f# ~+ s' }( ~
            rbf[i, i] = 0
    1 X% k# b- t' x8 O: {+ r, N8 G2 a    return rbf
    0 v' d# D* l  D4 z9 @
    # z5 x3 [$ U0 W+ Y1 z$ N9 {* a) d, x- h4 c5 [: k9 ]8 B
    def distance(x1, x2):* ]+ V4 l- D) _4 _; n) n  `
        """
    " ^7 N# N$ z9 {) b    获得两个样本点之间的距离
    ! A4 c9 v' F/ ?/ k/ m# H    :param x1: 样本点12 u7 N% O( T& \& G$ E
        :param x2: 样本点2, [* z' U0 s: j) a
        :return:
    ! e; V( D0 e) p3 ^, W  h# G* [    """
    * U* x% B) ~/ z- O4 {6 n! c    dist = np.sqrt(np.power(x1-x2,2).sum()), w7 k" k* T+ t1 f. d) Q0 j
        return dist
    5 N$ u: n4 p1 c0 c/ ~% e+ H5 U( h" m
    def get_dist_matrix(data):
    % c4 `& ^' \- P% O$ c0 D    """% |4 K+ y2 p# t4 {' y+ b+ D5 }
        获取距离矩阵/ N4 ~' G+ Q7 ^$ T; {
        :param data: 样本集合# ?0 s9 N- F, y& Q
        :return: 距离矩阵" Y, u* J* n3 C# z
        """) e. v. ~( l7 ~$ w
        n = len(data)  #样本总数
    0 a$ n, Q8 X5 D. D7 L    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵
    4 n" h% q% ]- s+ o* y% f5 X    for i in range(n):
    8 _. `. {0 q0 J, K/ n        for j in range(i+1, n):( A! {9 c) ?/ Y2 r5 K
                dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    6 E+ S& B% a$ t# \7 _" G2 g    return dist_matrix5 ]; t* G! D) k- x: d$ }9 V# \2 @; U

    5 }; ^1 z4 g0 ^( e4 Y" T- O4 bdef get_W(data, k):
    ' N. R; r$ c& N8 P1 l    # 获取邻接矩阵(K邻近法)
    $ W+ @  q- u) E; p% V/ i+ @! _    n = len(data)
    1 A  J5 \0 I9 ]7 D+ w    dist_matrix = get_dist_matrix(data)) u8 l( n" S2 s! X8 o
        W = np.zeros((n, n))
    ) h: H8 i( c$ N$ f. m) d    for idx, item in enumerate(dist_matrix):
    2 a8 i0 @2 W  M& v7 O        idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表! T) r( ~; t7 t) n: p- h' R
            W[idx][idx_array[1:k+1]] = 16 d. p7 y  l7 x* V* W
        transpW =np.transpose(W)
    5 y" J; F  `  _& z# _+ e0 n! R    return (W+transpW)/2
    9 V! S$ \7 }# _+ O& z, r8 N! X% g' E+ r0 w5 d
    def spectral_clustering(data_set, k):9 O2 k6 X1 L* S7 B. X
        # 利用相似矩阵S得到邻接矩阵W
    + U( b0 |% m7 b; e    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)! P5 j$ V+ f8 @
        #  W = get_W(data_set, k)  # K邻近法8 F3 |3 a9 d' b9 ~. n
    , V( a$ `* W. z) P2 D6 ~5 R
        # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)
    $ S  n/ v' {6 L+ a# k# U    D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))
    $ D% t' c+ K/ P
    : ^: S  |9 e+ e- P, ?, S( @# r0 [* J    # 计算拉普拉斯矩阵L=D-W1 N: o" D9 h  U- r2 B( }9 E1 |: t/ g0 i+ m6 T
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    , n0 P. v! w6 j# J: i, M3 C    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv): R3 b- A% Q* f" `0 @

    5 v! B& ]$ p; [8 p$ o# G6 w5 ?7 h    # 得到特征值和特征向量' p) @: x/ d: H( Y5 F
        eigvals, eigvecs = np.linalg.eig(L)& k% S* c9 H$ o9 p1 k

    2 ~  G* C8 F$ {    # 找到前k个最小的特征值(索引)% y8 {7 L! a# B& R
        k_smallest_eigvals_index = np.argsort(eigvals)[:k]
      N- O; T1 l3 a, r9 _3 d0 h/ Z5 r
        # 取出这k小特征值对应的特征向量,并正则化$ U( u: J. d* l/ J$ m
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index]). R# r: ]1 u; F9 @0 T  y4 u

    4 Q3 @0 |8 h; l2 W    # 使用K_Means聚类5 x' [, y0 o  k
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    $ I9 P0 j0 K/ A& }4 f5 q* |  \$ `
    & \5 B9 R' {9 o5 W, o$ m5 F6 M, K  V* h
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)+ K& ]' M8 V' I3 q: [; B3 B
    raw_data.columns = ['X', 'Y']# R7 W2 x% z- t6 C8 m
    x_axis = 'X'8 ^1 Q7 d6 u+ U! F4 T
    y_axis = 'Y'/ A' w& q8 R. x5 E6 {
    # ^1 D8 z& r# t: P9 W8 n# z
    examples_num = raw_data.shape[0]
    - C, q8 K4 }( ?4 Ltrain_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2), Z4 l; _$ u. l1 A: ^2 t6 }! ]; k
    + E: K, h3 w" M( _" N2 a
    " O6 b/ x- g7 k. t# H
    min_vals = train_data.min(0)+ O  V: k) w  q1 R3 i" A! m2 Q3 q
    max_vals = train_data.max(0)
    & H3 z. m* J( x& e: xranges = max_vals - min_vals$ k3 a/ n/ J; }" n  F
    normal_data = np.zeros(np.shape(train_data))
    . [/ r2 X+ ~) ~( l& t' b  ^* znums = train_data.shape[0]- H) n1 P, D3 o, b
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    ; C. j  x7 o6 q! Qnormal_data = normal_data / np.tile(ranges, (nums, 1))9 l! K8 z% X8 o, Q' k2 X; U6 \
    9 t3 R& s* D: U" N3 C. v
    labels = spectral_clustering(normal_data, 2)
    " W  S- F; ~1 |% ~7 O3 Q8 `6 ?
    : W# |4 K+ l' {& n: m+ f3 G# 原数据4 B) o  a; O- r! q, G- P) ~& H# J& t
    fig, (ax0, ax1) = plt.subplots(ncols=2)
    " L2 z& k# Z  ^  _# i$ F: Xax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black'); p( Z/ A0 Q7 X2 R/ Y) H: D
    ax0.set_title('raw data')
    9 l9 x/ N- [! ^# 谱聚类结果( n4 p; E  b& f3 Q% e9 j
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)
    & K& V2 R% f1 U) @' G& G! Bax1.set_title('Spectral Clustering')- T* l+ q1 I1 R+ D* b& c

    ' {% O6 }5 t+ G4 G% hplt.show()
    1 V- g) @: D0 B* K+ L* ]8 G
    & G$ q1 T7 m! G* W* O, F1, D/ T& g0 i, R4 f" L8 U& Y
    25 O4 z% C$ w7 l1 l
    3' B3 K7 P( R7 u4 w( i6 R
    4
    0 X6 t5 ~  H" W) b5, f3 M" s+ l8 D5 i6 b) a
    6
    % k. `- C* X/ {& ^/ _7 J- L; \7
    ( g5 T( v$ F4 x" b81 p. R* @( z# m
    9- U9 f$ \+ M5 A* |0 {3 u: e4 G
    10
    1 s! H  I& O, b+ Y- l2 @% o11
    % N; e0 F' V. L0 ]12
    ( H1 |5 k) e4 y8 `% [0 Y13
    4 L/ m6 |; D1 w# r14. `: A, r5 J7 V' k
    15# Y3 F9 N  j+ j  n" B! Z* G
    16
    % D  R' n  ?9 R" y6 x- G- M3 U175 F3 g" F' _8 r
    185 c# M  f/ j( y4 Y1 ]9 P
    19
    , h4 ^1 d1 H! E: M/ d( A201 {/ R1 I+ `2 M. u- Z, }
    21& n8 I5 Q! C6 u6 _5 B8 u6 V" C' t
    22: c" ]; _# a# ]( U0 |% E4 K
    23
    & U: w. F" [6 X5 G24
    % C5 D: W# p" m6 M258 f' w' a: v5 ?1 L
    26  `0 r& ]! T5 F2 ?0 d6 n* m
    27
      B: s# U' K  T5 p9 s7 m28  e1 [5 i5 J6 ^% W! |- W+ F
    290 p. Y$ y2 q6 s# \
    30
    + [1 m) w8 [3 z7 C/ x/ N$ \( o31
    + ~2 y5 r2 k5 F' W" f: z322 N) k+ x' C( `1 [! ]' ~" P) v; z0 u
    33
    4 K( ~4 d+ z# e; F+ }34% i( _3 ?7 I7 o4 X: v
    353 ~5 \4 c) |/ w& u8 x
    36! o3 K5 P/ l+ V; P
    37
    7 x0 ?* [3 n3 O9 ~" ~38- R" ^) E/ G  i( C9 {" B( b8 K
    39
    * g; ?+ F# y0 _% O40( Q: S# T- `8 B- N
    41
    # @1 j; p4 {# ~8 S42
    - U- h1 b7 P8 X. C7 N, g43
    & K- l6 w/ M+ d$ z! g, S" P& E" n448 q$ b" L+ N, Q9 D0 q) [8 K8 J. V
    45
    ; p4 y& G/ c" q9 ?7 C. r46
    9 {# W. U3 Y8 k( s47
    # r/ L' x, i0 D+ R48# b* i/ d" y  B  S+ |& t9 }
    49! p  h+ i6 r$ P5 ]
    50" D: y0 H! x1 C  `% I' `9 ]
    51) i% q/ Q- x* i7 h! ?
    52
    6 W* j3 C9 E. s; R6 ?  ~. |537 |% n9 h8 h# ?# a8 \
    545 ?; x8 n, v: A. z( x- O
    55% g1 W3 y/ E/ Y% r
    56) \8 R* T; N& j
    57
    " g7 ^# c2 h, p9 W58
    1 [" _& y. r( u1 V9 X: X5 L, c59
    0 h; h  {' D) A60$ o8 P0 [- `9 w1 s
    61
    ) n5 v0 x! m7 X( P. }62
    , D3 ^, s4 Y7 Y7 W6 ?! i63$ z. B4 v8 i4 H" o( r% W
    64; U* S; z& {) J; O  v
    65
    - s" m- L0 D3 b5 d: o8 ~666 K7 }3 h/ Y  Y& \- v$ e
    67
    & S) ^% T, C! I0 g' i% E7 b+ q8 J# ?" H68
    3 t& H( @' y3 c5 W! e- o69. {' e4 u- t2 y8 l% l
    703 W  y7 H5 J; e
    71
    , l8 g! |. K, y8 a9 p72) d$ b' p) L. T" _3 ]8 P7 z
    73( m  ~3 `6 f* t
    74
    ) f+ v, N2 W+ g' f2 I: O9 L$ P75
    ' Y9 v) Y( X% H4 h  L767 {7 C1 ]& k; f  A
    77) o4 L5 k, g( [9 x
    78; C/ _7 n0 j0 H: k1 o- ?7 |
    79, N2 W5 g1 i5 y, w
    80  g2 F. m: q8 ]+ F1 k% E
    815 f. m8 }' z5 f/ E+ m" ~
    82, p" C' w2 V6 r% {9 n
    832 a5 |0 R' \4 e; E5 J4 e
    841 H) M/ I5 h+ Y$ \2 S( N* x
    85! l# X! v+ c6 q- h4 z1 T; m
    86
    * `; J  B$ s2 {87* e% {3 k% L6 M0 E) j8 C
    88
    " d& ]  y" A% W: R89
    3 z* j4 q2 {# C& c90
    . ]* ~  z( t0 N% X' P91
    & n8 n/ q- X; F% X! J! ~2 a; m92
    & S' J2 I, Z& r$ l# A, ~93
    6 @/ F0 W+ p7 D, D+ S: B94
    & {- e/ j9 E7 u% a3 s4 w95
    " [/ l2 m& ^: V7 l5 y$ j. R$ T+ G968 b: h7 t/ e" w5 v/ H
    971 L/ K  \, g( a" k( g2 A, g) \3 d
    98& f  p% |5 x( b# ]2 n1 K' ^1 o% Y& Z
    99
    " X; I" S4 R  f- e3 S0 }! K# F: I100* ]; p. T8 q& e; ?: E/ F
    1013 t: k: c9 n- X
    102
    3 \( \6 @( _: X# k8 Q103
    3 @/ t6 r) {  d/ u" @- Z3 K2 g6 ?(高斯核函数)( i) r5 I( t+ r* y# V# y
    ' e* n) R) U+ h; @  L

    7 d3 }. J7 y0 i! p$ _2 s(K邻近法)
    & \  M$ \" [. Q1 k
    8 k! j4 ~3 h% T$ r" n% e* y. _" P! P0 h0 u  O
    四:谱聚类算法优缺点# X, k: w1 l3 d7 @3 D/ g
    (1)优点: I- N4 N/ c$ A6 P( ~6 N
    谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效/ a% {( B! K1 R' Z1 H4 ]& U( |8 A
    使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    " M5 F8 T' a  ?. u, s9 r谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解! I" F, F; {" b4 [2 ?1 O8 d: r
    (2)缺点4 v8 D8 Z) i- i7 S5 L, i) j( S
    如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好' O! }( A5 Y7 f( W
    聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同
    * N7 O6 n  ~8 y6 e: P+ q- W————————————————- O3 x. ~' [0 _- B
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    * U7 Z, Q. R7 T1 l原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494
    6 v( D2 ?( E. O) h7 d: p4 q% E5 r$ {

    3 S; o- R: }5 s& a! h9 ?
    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-8-2 07:21 , Processed in 0.366331 second(s), 51 queries .

    回顶部