QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3103|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现, ]( Z( @- W0 H  @/ q

    ! N" R& F0 d5 m3 e本文部分内容源自刘建平博客,在此基础上进行总结拓展
      T/ c5 k2 n0 D* s- `
    . D# }4 X4 l6 y6 P& _1 a原文链接
    . V8 ?/ {1 L- r2 _% Q" a文章目录
    + b$ V2 M8 O- }9 l# @  G一:谱聚类与图划分5 G0 D0 E" Y" N5 U0 ^2 }
    (1)比例割
    ' {& h8 l* U( _: t3 F$ T(2)规范割(常用)
    - G/ z/ D6 ]- v1 K# g* H& d二:谱聚类算法流程
    / V1 O8 d* G7 o6 J- O三:Python实现; K4 H" N; f" Y, @
    四:谱聚类算法优缺点
    9 z) Q- {6 y! y# B$ {( r(1)优点# O# ?" S& E8 o5 n; X
    (2)缺点3 A6 n( m. e3 e, _* |# A" |
    一:谱聚类与图划分; _7 m$ {6 n) v- y3 j
    无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    7 D( ~% f0 s& n' g: T& f3 \
    - G( a& _0 Z$ K. ~* }) E* v每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A 7 J% ]& W# U, ]- R
    1/ y! w6 e. E. k; U3 ^# `( p
    ​
    ) d7 M+ r2 p3 u* J: v# i* v, ? ,A $ \9 n1 U. @4 e! X6 H, c0 R2 Z
    2
    . y8 i5 n6 F" S* [; ?​9 W1 Q; B# }9 }
    ,...,A
    / H7 _7 n3 G6 r6 j  Ok
    - L5 o$ Y+ ?! |4 b( X0 [+ r+ u. d( k​7 ^% A  \1 s5 g% Z) j$ B, U. X
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    0 T& N- u  K9 _i" s; ^8 P# @+ r$ s) j
    ​
    % G# I6 F2 B! l& b/ G ∩A
    ( E5 ^2 H  R! T+ v# qj
    : w5 e9 V- @9 \  {​
    ( ^- Y  ^; b: Y" o, `# m =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    - z  @* G7 G1 I18 t+ V9 \% R8 S7 F# H- i
    ​
    # c( m; W/ F' g! D- g  z ∪A
    9 h+ B& ?: P* X3 a: I2
    $ v* O/ w$ i% N1 s​
    + E4 ?# C7 C  z; \, H& u ∪...∪A
    4 z8 N: j; _& C" T2 {! i3 B- ek7 a) E0 u$ \' }& _' _! T7 M5 S5 A5 @
    ​" s5 }! e' L( r% G9 o. y6 B
    =V
    # Z# r3 \3 j) r" X& q! u对于任意两个子图点的集合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)= 5 I: {  b/ C  _+ W2 i/ C# x$ c3 z
    i∈A,j∈B
    ( D9 U: q$ `/ E1 G∑
    3 j3 Q  L" @2 N( H7 Q​: ^  P5 [. l! S1 `2 K
    w ; U" Q1 Q/ j! D: O
    ij
    6 Q& n+ P' f1 G; [# i​" i5 K+ S' W0 S* A6 E8 b5 k2 B
    $ _& E5 m1 T- [& i- W" X
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A   ?- N: q' p7 O2 U& V$ s' T% h
    13 u- K1 w+ Z' o- S
    ​  a2 @- H& }! ^& d+ Z, T" ]
    ,A ! v0 U# G% e: n! \
    2
    # C) P' P" Y3 T2 Y​$ D0 t6 d& G/ [/ q. M& B
    ,...,A ) V1 e7 o) P2 @# i
    k
      B" y2 N" o+ a0 T​
    ! l  |/ p+ F& _9 k- S( l },定义切图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
    : f9 z0 l0 M, w4 {" ^' D1! O, m) [# s" ?, P2 `( ?6 g, S
    ​
    4 B( L% W2 L* t4 W, s ,A ( w/ }' t' j8 t% U$ G; Q0 r! o
    2! p% J$ m3 e& ~; g7 u
    ​
    $ c$ u) ^- l6 Q- e ,...,A
    0 g4 T; Y# j4 L" I: s" c  Kk" {/ }* a8 t- a/ n( A* ~  W. Z; w. J6 t% T
    ​
    / ~6 n0 l1 c/ |) {* |: K6 C2 ^ )=
    ( T4 }7 K3 Z8 I6 v9 s( j' \23 X& c2 R' V- e" h
    1$ f! l" M- r* E
    ​
    " \$ E+ L8 t7 i( u! P$ C, G
    : f% E& F6 Y( F; S7 c$ |i=1
    1 j* k+ U$ i; ]; |9 c' ]∑
    . Z; N1 X- O$ H/ Q% h/ H$ g. nk
    % B4 N2 r2 r6 c1 b/ L​' R8 X/ c8 W7 h9 k: {
    W(A 6 n1 C; _5 ?0 N* d; c
    i3 c9 u/ P0 o& N- J- z
    ​( T4 a8 u( d" G$ ^) ~
    ,
    ) d+ f7 k8 y; {( f( C# A( X* a/ }: _A; S! \( K% v+ Y, v
    ˉ
    : T) ?" A( \1 n; `, b+ w9 P9 N( [& e4 u5 t) \
    i" ~; @, F% F; s5 B& @6 x0 y# ~
    ​1 b7 B1 d3 r& |% j
    ) (其中A ˉ i \bar A_{i}
    # `0 m' @6 ?, X: }  o% t3 cA- D5 T) _9 A6 t
    ˉ
    9 d, D( f+ V8 m3 v, }( l$ Y/ _) p7 u8 n; Q
    i4 M1 w8 z2 e$ y( m' F/ H
    ​; U( U0 D' \8 P/ P3 f
    为A i A_{i}A 4 m# B( R& `$ g. _2 f% r
    i( A5 j5 o6 G5 Y: u( \
    ​
    * ^  M: J  Y4 y! L6 }# @ 的补集)
      |, E2 s" H4 B; ^可以看出,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 % t( b4 v& p) N! ?+ z
    1
    # V' \( ]9 r' ~" z1 D- X# \​- k* Z2 u' O5 P- A  s
    ,A ' t- o" b5 H: M9 e9 @: Y& E9 m
    20 ~( ]' o1 J2 H; J$ Y
    ​  R4 {; z( Q% j. ~! d5 Q* z
    ,...,A
    : T) P; V/ {7 S1 L. v* Pk
    / a4 V8 E0 J* Y, b  P$ ?​
    ; Z8 {5 R" e$ x )= $ g9 A% I. \& p1 Z0 N
    2
    9 h) M- P' u6 z- H1
    , n# T/ E# j0 R3 o​# n! R/ b3 G3 @; ]& m1 G  ~
    6 M  {/ ^! d1 e" ]3 Y
    i=19 s- H3 g5 [) D  v% X" S8 q
    ∑
    & o: |5 F' y6 Fk. n/ t6 |5 X: M$ d* J. R
    ​  _0 E, L' X$ ]  K/ l" f( l. b
    W(A
    . N8 T, j/ K& [# F, _i9 _; I/ t$ ~" Z
    ​. Z  ^7 h. h2 K2 \# ~4 W/ r
    ,
    6 [$ L! d; n9 ?& \4 CA& _8 `2 Q6 n" _4 `' U. P* K
    ˉ
    4 n7 c8 u4 {* b6 o4 q  s3 i
    " ]+ P% T1 w. p) ri! h& _$ v8 L9 G0 v% F* ]- I% c
    ​  O; R3 w# q" k4 Z- {0 m9 R
    )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
    ( I0 V- c' s* ^1# W" M8 ^, j' B* v3 G6 }
    ​
    , X# H7 @; `" I( v6 ?, \0 E: }3 b# X, l ,A
    7 Y: C: V5 w1 c, P% B- s) b8 b2
    5 H9 A2 |: N9 P8 l2 `2 N​
    , L1 |) `1 `8 Y: O' | ,...,A $ y4 i6 x3 A: z; g, ^
    k
    $ h6 l6 x" G: R& h" o2 @( r' T9 T​
    # @& D5 l6 j8 Y( ?2 K: a )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡( G$ L( g* d  }1 l9 C& V8 P
    : i# |- Q, i) N# f1 {
    例如下图,选择一个权重最小的边缘的点,比如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 : T+ S: ^/ u' M3 Q9 C* [
    1' M5 s+ c1 S0 {7 D1 {( L# T
    ​& C2 O& k% o/ Z4 s# t# c
    ,A & Z( J3 S9 K2 q  k! E+ z1 {
    2+ A& l& G* f$ R' [) @+ O' h2 K0 M  ?+ L
    ​9 r0 B9 l+ {- c' F4 d$ b
    ,...,A 1 A* T8 X3 t9 f2 h2 ]9 S
    k+ f. q6 q8 o; e) ^
    ​3 z8 ?0 r( C- q8 e& E& I3 u, w
    )但是却不是最优的切图5 F; ]- S8 g. g

    6 ^! M5 `( C7 }* i8 F为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割; m( i$ s% u5 x1 W* N$ i) Y2 x2 E

    8 h* X5 L9 l8 p9 t( i$ F比例割:R a t i o c u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) ∣ A i ∣ Ratiocut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}\frac{W(A_{i},\bar A_{i})}{|A_{i}|}Ratiocut(A   B% \0 m. y% L2 b! [' r
    10 v9 T$ O8 y% _" d1 B& P( D% a
    ​/ O6 D5 n* L4 c
    ,A
      ]: _# |) e$ I5 `0 r% Z9 P2
    % X5 o4 ?" O3 ~​6 a+ ]0 w- b; F
    ,...,A
    ( l3 _# x- j% X" U2 Gk
    0 i8 l4 M$ _& K& P. I$ z​
    " k$ m4 ~( a# g8 e0 L) L )= 5 T! n1 F( o1 L
    2+ W- A/ w' x1 m
    1
    2 R8 H# J- O! _1 N7 X​! u/ n/ W5 }/ D7 B

    6 `; |; [! v: S* Ti=1& S# Z6 n1 X% o( ]
    ∑
    - L* [' Q% t  [: _; Qk
    + _0 d1 X" [* \) s​% B' c; q4 n! i) R0 K

    % {% z" ^! q0 f: c. T0 e7 |∣A
    - T* |. n2 S6 ]; P8 n; Di, S+ [9 |1 a" c% c9 R7 d; s
    ​! A$ G) N* @( u  @
    ∣( B2 `- {  G5 P
    W(A & v" X$ }2 a; f" n* f0 ~/ @  y
    i6 R/ ~, r9 S* q. W0 k6 I( g# E
    ​; u. ]  Z  a: F" ^5 ]) N9 I8 q
    ,
    ' \) B! x) h+ i& cA; x* Q" K8 z1 u+ s
    ˉ
    * ]0 \: ~; D  Z0 J7 X2 G6 o3 R" p1 E( z9 f, l0 f
    i( L' p8 T1 j' Z; R* S
    ​+ w& r' M4 ~2 f2 l" z, h/ A
    )
    + ?! G3 L' t6 t  Q​
    ; I& a8 b. t+ ^' s; K& v' y9 U# f. c
    规范割: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
    9 m7 ]" `' x% [8 \$ |6 F* _' D& p4 u1# s% V& K1 B6 Y  {( u7 H, r
    ​5 V6 z+ ^5 c7 e) {9 R+ G
    ,A
    7 r% M. `! x8 h' V% W$ _& c1 q2
    1 {3 A% ~: c# T' J4 y; L2 u9 y8 o: U# ~​
    " `4 W: Y% Y+ G7 n: C0 p* W ,...,A $ A7 q+ f$ X9 d' p# S7 L- [
    k
    0 J- \  n/ W8 ^8 o& Y" p+ j​0 U' U" h+ T0 U8 h& p- l6 L
    )=
    0 [& j0 |/ e* S' X2
      ~/ t4 }; ]. s( Y1( w7 x- L+ z* [- e5 o# }5 l
    ​" l6 A+ J0 C3 P8 R  |1 g

    3 ~! t7 ~- k: t# X. w* `' }i=1- e% U6 t7 t' P8 Q& }2 N
    ∑7 C4 y; I7 g- ]. ~0 d* l/ }7 u
    k
    ' R( {+ `& |* l, C4 \6 v​% A2 Y; ~0 B( |; B: _, H4 N
    ! u( M2 A6 E: M- i3 j
    vol(A 9 b8 C- F7 R& B4 S6 [
    i, a' U. Z' U5 {6 C6 L& W
    ​' G0 E+ g6 M* U2 I0 K
    )
    $ k; B: n& G. y- S. x' `W(A 1 F9 ?) l6 d3 B0 m: k& {
    i: B+ A3 d1 j3 j; n2 Q) I, V
    ​
    & X* |$ C& D2 l2 | ,
    , g7 F6 C5 F1 A& ]$ w( dA# b7 C) r  {6 n4 N
    ˉ
      ?9 _+ g8 r; b* \% G: c2 r, p. _+ `  f; P, B7 _9 G7 J4 r
    i
    1 c( Y2 Z) Q+ u6 @) Q! Q​
    ' f# u5 C7 M, `) G3 }, Y )# g0 c3 J% }; O, l( ^
    ​; e# q" Z0 O# s) y) l

    $ b  e) z' N- n) i! R0 {(1)比例割( p$ }) ~* M3 H+ Y- h
    引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h 7 x# G  n4 k2 o1 W0 m
    j
    2 m* u9 E* X8 c0 Y3 x$ z, \​
    ' m; L; c" @$ n4 N- @ ∈{h 6 I5 S' ]2 X# H6 q# I/ Q: n% {
    1
    , G4 B( |' B+ g' _4 [/ a​2 S9 T+ K% Z1 d
    ,h
    ! t7 G0 u8 r8 k3 ~/ D2
    " m$ i: _1 Z" E, k​2 d. s, m8 L; T# M# P8 [' H) {
    ,...,h
    2 `" z% x  i& {3 x/ u4 R7 ik3 f& o" O* @( I  M* N; p+ y
    ​. X5 Y6 A; s/ ]
    },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h
    8 A4 U- w7 g3 X) J! |( M4 M/ jj) F7 I. N; ~! \: O- U& Q) Y
    ​
    0 s8 Y& w5 h0 o/ O4 v- l4 Q! _ ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    0 V# U3 D3 l- w7 Z( ?/ M8 yij8 @5 V4 M3 M5 _. N4 ]. [) g. f
    ​/ u4 v; [4 T& `6 _# C" t
    如下
    + M5 B9 O; K% Z; b# f  K
    9 x) @2 W% G  q3 Z! J8 sh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=' j! K( e( y, e% l+ N2 `
    {0,vi∉Aj|Aj|−−−√,vi∈Aj
    " D. E* H" M+ z" `7 M{0,vi∉Aj|Aj|,vi∈Aj
    ) M) R6 Z& p! D% h- eh 6 q' J8 w6 v3 r
    ij
    0 [8 ^  K) r5 P) {4 W3 B- ]7 I​# w, Z8 W  m5 V) T
    ={
    ) q, x7 c+ \. e2 y4 x. ]. \0,v
    9 V' m! K( p4 J  u- u" T$ ii  k4 Z7 L! j4 j% C  y/ l
    ​6 X3 d: C/ Y9 p" t' _
    ∈
    / n# v  z0 q9 j/ g/7 f, N. ?! q2 p7 S
    A
    % t" O$ D9 @" G. o0 P: }  Pj
    * t7 e3 _' d+ Z4 g8 ]7 P; h* _​& h3 D- F* _7 w& b7 y$ M
    # f$ J' {0 `2 ~+ }& p1 t
    ∣A
    : ^/ E9 U0 j0 o8 o0 P1 ^j( o/ s$ G) R. r3 v
    ​# j6 L  v* @+ w  W0 {0 i
    ∣; Y9 l; J# {& ~/ _$ p
    ​0 C/ e, I  X! Y- a1 O
    ,v
    + [  ?! Y% |- j0 V7 r" U/ }  j1 ii! d+ ~5 E( d( D8 f: a% n6 d
    ​- T/ Q: f0 o; s
    ∈A 4 {3 `$ d% E0 H( ^4 _# r! @
    j' F, d0 m0 ]) ?# g  L5 m
    ​
    ) V- F& Q9 w- W0 a$ i8 w6 z
    % h- p: D; v5 E/ L​
    : _8 g: A; ~/ j$ _1 X3 V9 z
    3 u5 R) L5 h/ F8 B. r: H1 Y7 e7 Z% G6 |. @$ _7 b; z, F5 e+ i% ]: M
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    4 q% }4 }' w: U2 }3 r* `4 y' wi
    : u! c" C, _/ i0 S- xT
    ' w6 L7 ~+ r5 ~% E​
    4 c% `. W; @7 z9 r9 M  Q Lh
    % N7 u9 \( Z. |3 U5 Zi
    : b2 A' b0 I& g$ W6 Y+ H​
    + ^9 k9 O& x& Y/ H ,根据拉普拉斯矩阵性质可知
    5 V. h8 N" d% j7 d: u) e; L" b
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f / m& T0 Z; W% P2 `& D  v
    1
    ) E# L8 U( c6 z* t2 \) h2 k# o, I​9 W5 w( o9 u! K/ f
    ,...,f
    : V/ A- {) ~0 K4 x0 O! `n! x' j- o$ |* f, l: g
    ​' A9 V& k: c/ O$ ]" G5 v3 R6 [0 q" j
    )
    . u2 }4 ]- _  ~$ [. CT
    / i2 }' u  A9 A& ]4 R ∈R 8 @6 Z( B; l0 n8 j! [
    n
    ! W+ Q2 T6 s) R7 A ,有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
    ) M1 ^, I' U  [) JT, E- e$ v3 |- a2 ~/ o8 I* a6 I9 I; g
    Lf= 7 M/ x0 V3 e. e7 D1 E5 {
    2
    $ e, i+ P/ t( H! I: d1* {  \- X# D, k% z. j
    ​' f& g# ?7 d: k% b4 }% |' d& G9 o

    : c% b/ y, ]% L2 w7 O& \  E4 ni,j=1% _9 P+ q3 n, v( O
    ∑
    0 S- T% u( l! _5 an
    & ]9 l6 G4 ^  H% F3 f5 w6 R! n​
      n' C& |" z! [' m1 L) D w
    0 P( |1 t- Q0 M% w7 Dij
    ' |/ n4 H4 \* j' a/ d​  v' ?5 _7 p/ `6 P1 T6 e
    (f ( S' h8 P3 Z. O
    i- _2 G# k: x( W$ [* R. \
    ​
    / m& q, T( @9 I- G$ @- q: a- a( h −f
    , W. R, r  S0 D2 I/ W" f' \j4 P) n% X" n1 n5 h! @8 p; j
    ​6 y: y% Z6 ~) l% _
    ) 1 \- P8 U3 D$ b+ w
    2
    " t; \, Z6 @. _% S# z; m
    1 B. g! U7 l" _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}|}, M9 v8 Z- o0 `3 S) P# w4 J1 _
    h
      i2 F: c# E8 n1 ~' hi
    $ E7 m. s0 q% o- M- uT+ E3 Q, L1 [7 T
    ​/ j5 j# t+ {# N* m' ~; I0 G
    Lh . c( i! z' _) [
    i
    , P6 f( }+ s+ A7 ?0 ~​8 r& t5 U' }) F& g2 @6 ]! c( x2 Z9 G
    = 2 B; @1 Y% o$ K! L, X5 L
    2: k: O0 E, S9 ~' ]
    1
    3 }' S2 l+ W/ ^​+ d8 v3 J" \0 F; O
    ! U9 E; d! y) x9 G5 v# d
    m=11 \; d& _7 g3 M. M; R* A# m
    ∑
    3 I3 e6 l5 H& b. C​: F  i) t: b6 H, e
    4 ~: j5 }$ F; t" a
    n=1- A# Y/ O) p, J
    ∑
    9 l8 F; w: n( l$ z( h​
    0 h6 w  V, I' ] w : ]2 x) H0 j, r/ M
    mn
    / Q$ [6 {6 W) Y& u​
    " u6 X0 m' t5 d1 [7 y7 r (h " M1 X7 q3 U, r! ~
    im
    # b/ W$ k" y! `! P3 K- G​
    5 j4 I+ L: a" _ −h - p5 o* i# I' n4 c# j' Q
    in% t1 x( U9 x( A& M$ V4 H
    ​
    9 E7 t  ?4 }: N/ ` )
    4 M8 F" T, w7 G( b25 \+ q) ~1 _/ q
    = % r* R% S6 i4 C5 @
    ∣A
    1 m$ O/ m- ^7 c! T" ~( J* h2 Pi) \% p8 m* y, ^8 _* {6 a$ w- c
    ​% |% e" ~) ?; K- E
    ∣
    5 z3 ?! c6 w0 }# g  ccut(A
    , g' s, d; ]% F- F% e; G+ Gi& L8 k3 f, s# b" F! Y4 z. W0 h
    ​
    4 R& s8 E0 W+ i" _ ,
    9 D  e, C# Z8 D8 iA
    $ p, C6 w7 z9 ~9 A' l& W1 tˉ
    / @( m- R% I, F: D
    % y) o6 S  L' w1 n; Ni
    * v4 M3 Q* _% f+ f4 N​
    " s; s9 X& p8 h2 o6 P$ M7 r, ? )) z' u- }5 i# o$ W- C: Q$ G1 u
    ​
    ) _/ v7 L+ S# v1 P0 V% T8 x1 z  g( A, y+ W1 X2 A3 b

    9 h3 I9 T, ?) W. ?& l) Y$ T严格证明过程请看刘建平博客:链接3 N6 t% _8 J8 K4 h" a
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    4 u. }  {$ K- m' I' Xi
    2 n& C* b( F# K* E8 Z: @T
    - [4 d4 q4 a7 q2 _​
    . r5 c* U6 y& L! O* p7 g  q  Z) Y Lh & G. x6 d3 S1 q6 M$ J
    i
    3 D9 ?# X9 A% Y* N: b  P) V​0 F( B- d/ i- B- _2 x' `
    ,那么对于k kk个子图
    % H7 O+ q/ J8 f' b7 H: r6 r6 c3 {' C2 k0 s" q) X
    R 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 a" i8 f# c& k0 z$ f' P7 I- QRatioCut(A
    8 S9 l+ s9 p+ W1) s  I9 T  {& G" Z& J, \5 g
    ​$ x5 C5 J+ }0 E" v
    ,A
    8 @' L, A( x4 ~& U2
    , i# X/ \  Q* |& L$ [2 y' }( O​
    . ]. Z4 Z% v$ l ,...,A
    / p# A+ |0 B2 E  Lk
    ! _: W- H# j' r% O2 O​0 K( H4 Y  W& T9 M5 X0 b0 Y
    )= ! C* ?& A' v* H; B1 D
    i=1
    : S! p+ }4 v3 `∑
    * D3 c* H" y8 hk) o7 c% H: A. M0 ?- y  G
    ​
    : u. r2 Q2 k5 p5 f4 s h
    8 a' f) W) K5 Z  v! w- l. yi
    ( A; C1 @: U: Z: V5 z( |5 |& cT
    % W! f6 A/ W% i6 k1 A; Y​
    1 o" j- W/ D0 @4 F  r Lh
    : j! J1 X7 R6 l* e$ ci& o) q+ g' L) }; l) D; F
    ​
    & a3 [% F+ i3 ]; T1 z! M5 @2 D) H = & |0 X2 {' ^' m, w: S& y4 F6 y/ F
    i=1( V$ `, D8 V2 X& L* I" l+ T% m
    ∑8 E) ?* Z4 {& M6 Q+ e. c
    k9 a5 c4 p$ ?4 r, @9 R2 F: i4 @* v
    ​4 S4 n; G, U2 p1 ~
    (H % \) H+ D+ v* z- V4 y+ H0 a" n% i
    T) m! |+ y0 ?) p$ _
    LH)
    3 a0 a2 B( z0 W( N; xii% ^3 n$ H4 N( a4 J' R, E% N
    ​# i: e9 B+ b% P( \% u* z
    =tr(H
    2 |+ [& e0 j# s: u, bT
    ! J6 k8 e- g; C" \ LH)
    ) r$ o  h  F- P, D* k9 x5 l" y
    6 i0 t" f7 A1 L, p" b) z因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H
    5 C7 Q4 U- |, D2 A) KT
    ; ]3 W0 ^0 W& i2 G( r" E) E LH)。又因为H T H = I H^{T}H=IH
    & S) ?" j7 T9 C) e8 b; CT# h, @7 j9 L# A
    H=I(单位矩阵),则切图优化目标为
    , t; }$ U) N) }; G3 A
    8 }4 M; Q9 D( L2 r* Z& wa 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  j$ E3 k4 D" [$ t6 z4 Q
    H
    0 U% o, P. l; m! g$ \- Bargmin
    - b1 }7 N& }$ f1 `​
    4 R2 ^0 G6 F5 @( D
    ! D* [6 _- A) b1 P) c​1 n* p1 ~( @) Q$ K% Y
    tr(H 3 [* h; M+ j8 n; x  s) g
    T( O: x; L- i- ~1 `1 w. n, @
    LH)s.t.H ( U/ \, _* Z; i, D( Z' e
    T
    5 I4 `- m! p! m& m- y. ~ H=I
    * j$ A$ f) u+ k+ m/ N5 K0 M/ F3 \/ C1 }
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H 8 l0 s) @/ s3 g" R1 x. b, R
    t8 Q) T7 r6 E5 {- L0 H- @' b
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    5 F, b+ v" R. P: J) ei
    5 W4 F" Z6 Z7 ^T) I( Y- m6 r0 @; [: B% ]
    ​
    . c2 T/ f  o5 p) `% e( C. m! x1 e4 B Lh & w* |& e1 U3 a& t% @
    i7 w$ k+ k- Q6 K- |4 ~
    ​
    * P- `6 Y6 Z5 u7 O/ g9 }: o ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h # H% ~# x# g$ v/ D* n* ~8 y# L
    i
      ?4 C( j9 R' P. o* ]T! t% N# f2 m' M) y# H" q; ~
    ​; t" ?( Q6 F6 u5 H8 n; _
    Lh 6 Z/ v2 c1 s# O' c/ S% c6 v
    i% L- R. A1 B( d: N) S* u8 W  k$ Q
    ​! `0 i9 X8 [- E+ q
    的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h / t' I# j2 g+ ]' N3 p
    i
    ! p- b* z6 H* bT* N( M9 o3 y% s, J5 c+ u- O: l' k
    ​/ f. |  [% i2 w0 j
    Lh
    0 y$ P: K; s! q9 b' fi4 z6 ~1 e3 u7 W6 _" E! _$ e" h% b
    ​. F! W% m; s3 d# B
    ,目标就是找到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
    ' v( N6 @% Z" f0 ^& |/ o( ht. U6 |: @2 \4 ^( U5 A' I
    LH)= ) g! c) J2 C" f5 Q1 Q
    i=1
    2 w+ B# y! Q$ L∑5 O* K! ^! H8 e; M1 v
    k% D( Q# x1 P! D# d5 ]: S% h4 g
    ​! o8 B; K6 m0 O2 `- _
    h , f, R! d0 h2 K
    i; t- {3 }* v( j. I
    T
    7 K' t7 f2 a5 q! r5 e0 r​8 N" v( \3 O( V/ B. {  ]" E' J1 Q
    Lh
    / t2 T* H# y5 c5 ~0 Ui
    5 P. x$ \( B! i  U​7 `  b% P0 ~2 m/ a' Y
    ,则目标就是要找到k kk个最小的特征值
    ; O3 r: {6 Y0 a+ r8 o! Q' \$ ]
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下- q& \" y( ^# p! F
    * q; x8 z+ ^! A9 g8 I& o; C
    一般来说,k kk远小于n nn,也就说进行了降维
    & A, i( n8 E8 sh 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}}}
    8 n: @' o! J2 c) f! ^h
    4 G& @* x4 I6 p/ G; Q; l7 aij
    3 s5 ?8 m3 p- g$ K' }∗
    0 U  \3 X3 H6 d0 ^5 u, s, W  \; V​5 @) Z4 W# j$ f' h5 d! }
    =
    6 J9 k% P6 F- i3 i(
    3 h+ ~- F  O) E4 wt=1
    ! |* o" f6 u3 x8 k0 z7 Q∑
    & ^, x* \# b6 e; X0 j; a0 I: Q( xk/ `6 l( z" w2 M
    ​
    8 Z7 ]) g, _* H9 C* j2 I& b/ k h $ p- f6 b( U1 P3 a
    it
    9 k$ p) N; _+ L% z* A2) T" u- E, J' M- O
    ​7 x. Q& P; J, |% S0 X
    )
    0 p7 S/ g5 t! f1 X! r, u# w2 D2) h  i0 o4 w8 _7 p$ x
    1
    . W8 {& t( S; k# @$ Q: `​
    ! w+ E8 P* s( c$ U7 K; y7 ?: O, E' o% o# p
    - C* w6 D( h( s6 r( l5 w
    h
    , `( o* c' J! p  ~! v: J3 Dij
    9 c" S3 b0 l5 U2 D; t​6 L# p; l1 l0 K/ @3 H3 T, G

    9 M) v+ r+ S' V$ G​3 i9 b# |" {" ?# q* h% g0 Q6 r; c
    ' K8 `, D8 T* ]3 X* y
    4 @5 \+ n0 S; q$ ?' h
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类/ d* Y, h" O$ G4 ^2 }% D
      H+ p1 b1 B# S2 r
    (2)规范割(常用)
    ' J) p' ?! F/ `3 `& M& N$ s- h规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A
    % W+ J" b6 y. s+ o0 o  b$ [i! ^2 I( t: p) G* ?" C3 b4 T* X
    ​
      t3 f) m- m" Q9 A1 Y4 E ∣换成了v o l ( A i ) vol(A_{i})vol(A
    6 `9 X1 d8 A* }7 Q  Xi4 |, x' P' ^. \
    ​; U: M- G2 j2 @; k) I! Q8 C  ?
    ),定义指示向量h i j h_{ij}h 2 {6 @/ X* ?7 [$ c: W' s$ k: I0 h% u
    ij
    4 {9 x  p; Z( E​: d$ T" \1 \/ M
    如下% T0 ^' Z9 U% P# I) J2 N* p

    8 M1 [0 n( d2 }6 n2 F9 A/ c! Mh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=2 u0 x6 s/ ~8 C3 e; T1 x
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj
    1 Z' G/ E  V* ^" x{0,vi∉Ajvol(Ai),vi∈Aj  i* |# C! _4 W# a; U
    h
    ; N. I" }9 {( R- M) s, aij% P/ e$ q+ g3 j3 k7 w9 |
    ​4 q0 Y; M. p- z- D4 |& u2 T) e
    ={
    8 v. Q" E) L- o2 q: D+ b/ |1 S2 a3 Y) Z0,v
    - A: `' q, g+ ii
    ' d/ q0 z! e& k; A+ g7 U​7 t* M; {- ]! U, s$ ]% D
    ∈0 ^4 |9 I6 }" }, \' A
    /. s# o: M, |1 P4 t. q- d
    A # ~6 I2 h5 n/ ]3 N" S* {! |
    j
    1 @' R, l* K0 x* S​
    ! d, I1 h! X9 x4 A5 C+ b
    6 R# Y3 W: J( }5 Q* e" s# ~" r8 Pvol(A
    " F5 o7 s- n1 U5 c4 Si- D4 m1 O# d6 B6 X5 X
    ​
    5 M5 a, f7 @; e( u' G )
    1 k4 ~; q( k1 E9 T​
    7 g% |! Z" ?7 H6 B ,v 7 R( j. S; \3 s6 i$ Q' Q
    i
    - _9 M  u- h0 k$ y. H) s$ _8 H# B: V! w​
    # n& t/ ]1 z4 F- A8 c& e ∈A * j$ q) v  ]' h# ^) _+ Y  K+ D) C
    j
    ' W( p4 F0 A) S% |8 y' ~) i​
    ' s$ Z7 v3 l* F1 k6 p/ @3 H5 Y4 Y8 H5 q4 Z2 ~7 ^
    ​  d! k5 n' C6 d7 [8 ~9 }

    4 i8 \: L# l# O& J
    / D8 g+ S: l. d* r* H! \1 k于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    . h: Z& R8 `% U" @# \i& ~' G1 M" b. h2 E+ P8 A' k
    T; E' n: ~3 P6 F) |9 a
    ​
    5 N0 d9 b  `/ h% ^- L+ B5 C3 G- ? Lh
    ; |: s, Z2 |; c! g# _. ^1 xi% b; `; W. }6 P1 [; O
    ​0 s9 s! h: d# l5 Z' G8 s
    ,根据拉普拉斯矩阵性质可知
    8 [8 B1 |+ b# D& p* v! X! D9 n3 Q& J; _& `8 m
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f & \3 ~  b: h  K
    1* `" b) e, n8 P( H, G5 O
    ​6 l) Q* X9 Q! G% O
    ,...,f
    $ a' p5 g1 S  G5 n7 M3 W. cn8 v: J' t% h* b3 J  k
    ​
    2 a0 u( P( j3 I* b; Z ) ) u* \: {. l/ _
    T
    & [/ ?4 E: g& K2 w6 F0 e7 v ∈R
      d$ Q6 W$ B3 F6 t/ \" j# Dn
    + q' C# S5 A% \' i6 t9 b* O2 Z+ p4 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 6 E4 ~- M* {- k5 Q6 i! _
    T
    ' I6 q' @! N5 E* \( T( M Lf=
    1 s) r9 l" Q% w9 u. z' T3 h# U- V2- O$ y. e/ x4 t8 y3 n
    1" N# u3 a4 [5 k! S( C' e! C
    ​5 Y' V" Z! R* w3 ~" I1 m8 l
    - m1 k5 ?& h2 b4 u! B! h6 \; F. D- \
    i,j=1
    7 o5 Y! N, _9 t1 o' G! y0 Y∑$ E! c5 j9 z5 a8 e) B
    n6 G3 M4 M9 v4 p' O/ R
    ​: ?7 U  J# A- H. b8 l8 t# I5 a3 _
    w
    9 p) F0 G, [" u; T  r- u) Xij) U$ W6 ~! w! M+ {
    ​( @0 Q$ L, P$ E( c3 P
    (f
    ! l4 R4 q$ w& H  E! Si2 V2 g0 O% z9 H
    ​  q0 f8 C4 h1 n5 p! S4 P
    −f
    1 X: x2 Y- r( J8 M; |j
    / M# T4 y6 G" `) b7 t​
    1 Q" u- A% \( j$ ]; j5 a: H* L$ | )
    7 u4 H, m6 l0 V2 v24 P! o' {4 [3 |; A0 [

    7 _+ Y9 `. f( N) Zh 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})}* r' E( O/ y+ K
    h " v4 m! X9 g) i# z+ h1 I
    i
    . Y  \, X$ H7 P/ S2 U! j. eT
    ( A6 R/ E7 P6 }" C! _- B1 o​
    ' L  ^+ Q- \% F2 h' z1 C$ C Lh 2 t) f' d% o* W1 U) P
    i
    ! s( e! `6 g9 n! |8 P; @3 p; z​
    ' x  Y. W; ^. e1 U3 d+ B& B* k- N = * Z) U7 _% J$ e/ D8 h
    2( G& j5 P% b6 e
    1' y6 q7 B3 n4 `$ T  C( z7 M
    ​
      w7 {0 o* l! y; @
    ; X; c6 k2 ^4 }0 f8 a# Hm=1
    ( m# D) P3 O0 D% _* \( m* \3 G∑% Z" a$ g' W1 R4 c/ W* V
    ​
    " L! h0 Z7 }  c* I0 B& b
    6 i6 T) r$ P( o" i8 v' Sn=1- N7 S- f0 Y) S% B0 |+ ]  N; C7 }: H
    ∑
    , ^& a/ h! e' C( N​
    & Y) X; Z5 [' y7 H. ]$ L0 y# g w
    / o" [; O( @% Q1 H1 }3 `mn
    8 O3 B$ x  k5 N  u/ A​1 u) B: f& x8 s! }2 J3 K/ O
    (h
    1 l- }9 b! U5 M- ?! j" eim
    / D5 X/ c" N* C1 G4 Z​
    0 k6 l' E# ?+ n  P −h
    + ~1 p7 f# L3 r8 D$ y% N0 R; ]. Uin! f; I+ o& p8 A
    ​
    & S' H' f6 j& f" H. y )
    ( z0 E; T/ Z8 G. y4 @& P2
    : z5 U9 D, T' L$ y! g, h =
    6 C* W3 I8 Q- g0 o* N# Y$ l! Nvol(A / M, a& x8 z1 ?6 h5 G- ]5 F; n6 V/ I% P
    i
    7 k1 w% I, z6 [: o7 A$ l/ R​
    6 v! U- M. i# S8 I' X( N )
    4 V, s0 J/ G5 N$ \6 e1 Kcut(A " m2 l) k9 Z: K7 c
    i
    ) o1 f- U. y7 D  o5 I7 G​3 a( q3 ]$ c- a/ @( R
    ,
    - h& J0 Q3 B, x- ?# f; sA
    % }) @  B( A* U# Bˉ& ^+ ]' w" h/ ]$ a6 C

    ( j  |" w# m3 ^% O+ O6 Bi4 Q  m) C: I' W* O) t* ]" X
    ​
    1 v, i; M9 ~! H4 C )
    3 Q: p8 C' s2 ]! l; H6 l: F4 Q$ D​
      y" `) o0 V* ~% K' [, ]0 f/ q
    2 x6 w( h. N- B9 Y/ m; f9 I- `0 S
    严格证明过程请看刘建平博客:链接  B# \& s& D( p8 J" 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 ]& v5 ?* x: U8 g8 `& s. Ri
    5 B0 u! n0 V) [/ H+ \* @T/ ^) c/ F7 @8 |* E
    ​! K3 y8 t6 r" }0 |# L, v, l
    Lh
    4 L, U. \8 h7 L, l7 v$ `i& K9 M8 ]0 z: _! _* [7 x9 q
    ​
    + ^& A' a, D; P ,那么对于k kk个子图
    - x4 f& M. Q" l; r  i3 a- _" F5 @( [: z
    ! g+ c' x6 c" |4 h5 C# n$ gN 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)
    % X' x9 ?1 B/ Y8 E7 h; BNCut(A
    ( ^3 r; G, ^, s9 D' L& \14 b$ F3 H6 d6 H9 k
    ​
    + [, m  g  M1 m/ \# ? ,A ; I) C3 I3 \( {* ~2 S; d: E
    2
    8 k- O3 s; t- v5 M​
    6 C/ I" `* U! B ,...,A
    & D8 M( |( @; Z5 ?) [* o( Ak6 a* o0 \; m1 N
    ​2 Q/ B4 Z$ s1 [, Y- N9 p7 B8 p4 O' y
    )=   T$ t5 r7 i2 ^) s5 j; [- p
    i=1
    7 `( ^' E; ?; W1 w8 L3 v∑
    * f  O* h! Y' R; S' p& a+ e! n4 ?k  _" b0 n' C2 W. U% I; y7 X) ^
    ​( R0 x; W( Q2 C+ p! D/ y
    h
    ! `+ b$ q5 @% P' ci
    1 W% Z# y5 ^/ Q- q. {8 bT
    9 T& P: m; h1 e& E" x! Y​- m; K: P, P- Q6 F& _2 p1 h3 d3 K
    Lh
    7 [% l6 ]+ K1 V7 n6 hi/ T5 [; f4 g# A; R- c" ?7 Y
    ​9 }2 Q" b% q/ a
    =
    ' Y# l5 |) q8 f4 T/ @+ A: `i=1
    # @8 t( ~% ?7 D- Z! _6 g% {∑6 c* w  [1 X( T. G
    k
    ) E/ Z+ ]7 Y, W$ v% j6 l" a( c5 z7 b9 E​
    , ~1 c0 V' Y4 G  @ (H   u; ^5 h6 f4 d8 e6 R- B
    T
    . o% w9 I% q" U* N LH)
    & r8 f' }) Q4 v. }0 D: uii4 O3 ~' C: E* q, J4 f( _1 b
    ​
    7 Y# X8 L. M5 @- ?* a, B =tr(H - a3 D" S3 U+ t2 v) D. H, P: T2 H' o
    T
    - l* Z* A1 j5 F% Z6 d% O6 W LH)- J; h" @9 u. T7 A2 |% A4 Q7 a' K& L

    1 m& z$ G. ?/ e+ N但此时H T H ≠ I H^{T}H \not=IH
    3 q" R  C4 s& S# t+ X' \) ^T! I4 A( |$ X. ?( }: N  r6 K" Y
    H  ]) T) X# V4 V0 w0 _

    ) m9 I4 @: Z1 Z% K=I,而是H T D H = I H^{T}DH =IH
    ! A7 k* |- p4 T, Y7 uT- M$ R5 M1 t8 `8 b2 c' s( c( x2 i
    DH=I
    2 @$ n2 B4 O) P: M2 |# J' x9 M7 a
    这是因为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 ) ]0 I8 p. }$ L. S3 K
    i* v0 q, d% E# ^# V9 z6 E) t
    T
    3 P, Q- A  R* `0 H( L/ [​3 d4 J# N% A& m8 P
    Dh : L% I7 b! S! |! z# f/ F, i3 O
    i5 B0 u. r" F' t
    ​; w) ~6 S# X+ |6 r; p0 y# c7 e
    = 3 m1 e9 G4 [! K. d+ Y
    j=1
    $ B% V8 K' p1 v" b∑8 r& I4 r$ J; ?  s+ j
    n) j- N; w/ J7 f* X, o9 l$ |
    ​
    : t3 s" ]& t' _1 {8 B h
    , G: M/ A/ z7 J/ _/ a+ Wij
      ]2 h2 S9 t8 c+ k23 k5 p  z9 O; L. J1 H
    ​8 h* l6 h, H' R! }  s& r5 [
    d
    ! W  o# \4 M7 _) ij
    # ^$ P. W! x) ~1 R* E​4 x* V% E, x) c0 [/ U6 Q- I: X: G7 I
    = 7 c0 E4 A" ^- ]# m2 Z
    vol(A . c- |4 U* x+ f, |* }% U* |3 b8 ~! w0 R
    i  D4 Y+ |- d( R! _' n
    ​% t9 d+ `6 J# S3 k7 y
    )
    1 d) n' ?, t+ e" z: E! E0 g1
    + Q) d( h) E  D% r0 \: D( }5 s- H​+ V& L/ y: a7 _% }

    2 {8 z+ o! A; V+ t) G. Lj∈A / c% [  u7 R2 M6 H5 G5 t) N
    i! G" Q0 ]# I2 ]) o
    ​
    2 m; @9 p' A; G# \1 d
    4 X$ q/ W; C2 U6 Q3 E∑% L% O8 O3 B2 E7 W( T; N( J
    ​
    ) e) `# f! M3 M2 }6 A  T7 `$ _ d $ R# q2 V8 q6 [+ W5 T  e
    j
    6 i& r. a& U! x- I$ h​: \7 b, Z8 Y$ o! x
    =
    - W4 h" J7 T& a4 b. D  hvol(A 7 H) M4 e, v; z: B! H
    i5 [* Y8 J% |- T- m
    ​
    7 z' P# x) ?& q7 q0 Q2 M, t& A )5 A' p1 g* ^' u# {9 q
    1
    " |" m/ y# F8 i8 a) T  {/ o) x​
    6 T! z; E  I# y" H2 m vol(A
    5 _7 [$ H5 B6 X8 M, S& f) ei( s( Y. B' e; O
    ​
    6 J1 n7 Z  h. y )=10 ]+ \8 ^0 M8 n3 }9 K$ d
    因此,此时切图优化目标为( X3 C2 _! S* k

    + n: `: V! X! Pa r g m i n ⏟ H t r ( H T L H ) s . t . H T D H = I \underbrace{argmin}_{H} tr(H^{T}LH) s.t.H^{T}DH=I
    3 C& D$ f/ u8 Q: r7 PH" {" _# F# F( ?6 l5 {
    argmin
    8 N0 ^6 E5 n( o+ F, M​; Y6 o6 U* Y4 g) k

    . ~$ H5 W( c. g4 t" v- R' R8 E1 t: U​' v0 |" s" C! ]. j% b5 [' {
    tr(H
    # Y" }" x  h4 t0 E, v; {* _! `2 L) o/ HT: e0 i, q. v* C/ |3 A6 j
    LH)s.t.H
    # h% ]5 v  ]+ t4 t8 E" DT
    + D  B# c3 c, r: F3 h DH=I- X6 B7 K# W% H' F9 M) A3 k2 l( M
    2 ?7 {% F, z2 g0 C. m6 Z& Q
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D
    * [  ?% K) \8 w' h/ o−
    " d1 R2 J: C! P4 L0 Z* c' E2
    . M3 D) w( ~5 r& k) p( ^1  N+ L" n6 Z4 S  K( W& _6 ]
    ​
    5 x; a) B  g" L) H9 q4 g) X8 f. b. l* W$ M4 \+ C& l
    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
    ' c! T4 R( x/ J9 AT
    3 V7 k/ W" ~' w. a9 e* k LH=F ! r+ B$ p1 V% H" ~
    T# E0 q8 A. U# ^" Y2 [% A& R
    D - n, I  h# {, X) S5 o6 d8 o! \8 q
    − " ^, t" ~7 V' V0 n6 x! _
    2& Y  s6 @/ E7 I
    1
    6 {  }  p4 ^# F  s, \1 j: Y+ Q​
    8 H; s1 Y7 [( d+ T. e
    8 D# |4 B8 p' d3 R& N2 e  s, u LD $ j1 N. m, M0 m
    −
    # O: u3 j: j. I2
    " ~# m4 W: C0 y. x. w* H14 t8 A* f; H* }5 f) M7 ~
    ​
    - V% h5 i, f* @+ ?  B
    / c& }( o; }8 v0 p! v F、H T D H = F T F = I H^{T}DH=F^{T}F=IH & Y' b4 k% f" p8 ]" O, I6 N
    T2 {4 D+ c, j7 T$ q! G$ V
    DH=F
    0 s0 H2 j% d6 W- ?' ST' H/ t, ~. j: a' ]1 |
    F=I,于是优化目标变更为8 K9 x3 {% ^* X) G: @; s* W
    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
    $ M6 f1 l& x' Y+ ?% B$ B5 w3 r3 BF5 ^; _' ?; w# b; P6 e0 ]# T
    argmin( k  P8 S7 J- H5 d5 @+ y- a& v
    ​
    " m- n+ j8 p' d: o
    & h" D0 S1 P& Z; q; ~​
    / r3 m" O; A# J tr(F 5 B1 b) v7 o- X% ]
    T) P0 B: W5 W5 d: ?# O
    D 0 K, Q* _9 f0 M: ]8 n' ?( W& s
    − . v/ [8 Q* z7 [5 @5 q
    2
    3 P/ ~, h3 h1 v! K& A+ }1/ [, t, K/ |! Y
    ​
    ( o* O/ z! j+ ^2 @, T1 h/ ?! D: ]- K1 F
    LD 1 H" U5 L( Y! c! {9 x8 {1 @7 l
    − 5 C' V# E9 M& W. _
    2# f; E7 k! u4 X8 B# A. Q7 X
    1  P. o( L- ]5 T
    ​
    ' R: N/ W: Q# i  Z, k; f4 F3 X
    , R# L  U7 u4 t* y F)s.t.F
    0 O) C8 b4 `* Q1 H: I( r7 }, YT9 n5 }5 j' k  v0 i
    F=I* {- y$ D5 I  y+ b2 H* w7 `, t% N

    * I9 O9 c* [; b现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    2 B1 n8 v6 m, P− 3 D. F' ~, i. f3 ]5 F
    2
    / E. Y, l. V8 x& e7 \1
    + Q2 r; S: e/ x( P0 f0 j6 |​
    " x$ u, Z- {5 }( L" n  x
    1 t5 C7 {$ C6 C. z: O" m! Y* h/ m LD ) F! L& x, I- g1 W' o7 C4 w3 G; E
    −
    4 f+ q. O# k: I- ~  W- H  y+ i2
    8 a- \2 S0 o& C& l- i* W" p1
    & F% n5 C7 r3 J. T+ u) X5 R1 j​
    ) Y; L0 E4 b/ d, T, Z/ ?/ @# ]/ W2 t: D3 S+ w; B/ D
    (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    7 S, O- L: k, D: a# S) I4 D8 Z8 [& M$ ^$ K- q9 p
    一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    9 S( S6 ^$ \9 h+ v* N) Z7 V−
    1 `0 v" m* `2 E( ?- k8 G( k5 ]3 G2! l/ V0 E5 W" q' h! ~
    1- K: ]4 b, D* _* D/ A( S% l
    ​, i4 q+ Y% ]  L' U% o

    8 m2 N5 f) |6 d LD
    0 O9 z9 U/ c# P/ ?! B−   m; `- b3 @9 D$ J6 q0 G1 G$ B8 }
    2" s: W) m" M! ]2 f
    1; n: R* v1 J6 k% K, O- T9 \
    ​$ [$ W# r9 T( K' C9 ~1 c" C9 D6 C

    - X: j- y! O# e% c3 M 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} ! ?. b$ d6 B, G# y
    d
    $ a, q/ |5 w3 C* ui
    0 e6 A- @9 U( p+ S​9 ?) c3 f$ \7 n# @( s. o4 `+ j4 `0 g
    ∗d 4 @( x  u6 S6 h0 j1 b" [
    j& g8 r% p% ]: H! f9 c0 X
    ​
    . V# |" x8 Z& V* Q: p0 o
      {) z" Q, x( s​
    4 q2 ~, F3 v4 X& @! x
    1 P9 A2 r  W6 a" M8 ^% e* PL
    ' J, Z/ m7 I0 V% C  u( z3 xij0 I: G6 T! m$ P" ~5 _
    ​
    , K5 N0 R4 }% |  J  r' k$ y. a4 p) s. a" z/ u& Q/ M/ g. T) W
    ​
      l4 k( Z! n2 @1 g3 h) m: w+ ^# c/ V" [: f$ Q
    二:谱聚类算法流程: ?% n! f" U: t6 Y% s& i; P6 G) i
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x / K; Y, v+ Y  F+ o1 ^: d
    1, m0 ]* b$ g3 V% X0 \8 `& Z
    ​
    $ h+ t: `7 z- Z; t+ `+ {) M' H ,x
    * ~# L. J9 w6 I* @9 t2% g8 y) t# C4 {3 J
    ​1 d6 O2 @( M9 r7 P
    ,...,x
    ; K7 \, K# x5 F6 Kn5 P  {+ q8 G- A& I6 M  K$ B& i
    ​7 a, F* e" x5 E* w1 T( T" l
    }
    - C4 G& m* k5 }5 z
    ' ^% j- K: K$ O根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)
    & ~$ n, L& j) l# a; x根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD+ A# M8 `+ o/ Y5 I( z$ G% }4 G
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    ; j- d' U9 o! X: {2 G8 }得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    8 u# e" P0 ~! w/ v' [− 9 ?/ o- r5 S- A4 N. v
    21 ]3 L8 T7 `# J7 m2 _! S
    1& g) i9 r$ t" k- E& |
    ​
    7 a) P4 z  D( \( a. z$ e
    : c# ]6 ]+ G0 ]9 I3 b; W LD 8 E6 W0 c8 _1 t4 }
    −
    . y+ A  T6 O- @$ b: @9 ?- e2/ r, a2 _5 r" f* |% O8 D3 d
    1
    ) z  f* |! Y. z8 z5 d# I; w0 O​# G1 P. g; d& e, N: f
    & U! ]: I& K$ p
    8 x5 y# m% W: ~9 Q4 f
    计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D & q/ K+ V/ M7 ~
    −
    - s& |" e3 h. D$ ~1 l  J1 z2
    * U* g7 G' n& q9 c2 _, |1
    - |. `/ E& p8 o! h, M​
      F: I3 `" w( O
    5 V3 U, ^" m6 ~& P LD
    # D8 L# ?- p2 d4 c: f) q- ^− 1 e& t9 M/ ~. `0 g2 `, Q( k
    2
    7 u: K! q2 ]" P* u- t1
    8 j" R. ]) k+ c$ @; @​' \6 L6 F' j/ E( _5 D, t( o! _

    2 A5 e! f$ L9 W8 w; d7 O 最小的k kk个特征值对应的特征向量f ff5 f! c0 o5 y0 X# R3 q, a
    将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF3 ]5 G/ [, P8 z7 b
    F FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k ( A; F4 z4 G2 M" z
    、
    4 p. D. ~' n" Q5 s# ^* x; B- H' C9 V. U2 Q: g8 v4 ~" I
    得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c
    2 \: i* u# v! J0 J+ F9 o0 o1
    $ L% S. a. c  u6 o" I+ r5 j) m5 b' @​( K+ z& b: W- b$ h  {% B7 b) n7 T. J
    ,c
    / M6 P1 p! j4 A! t0 {; x2
    9 [, i  v& v( K" K+ K) A​7 X9 ]( z8 i+ `
    ,...,c
      O5 \8 ~4 L( t8 A1 P' x3 {# t9 sk ' R/ C3 t# {3 }% P4 ?/ T( b# |
    、
    ( t$ Y( C8 D- D$ }) j
    4 D' @; R+ \1 C; u​
    . R1 W1 Q% B% L# H( E0 R# C) Y. T) {- n )* n" f5 f. D/ {6 Z& l1 B
    三:Python实现7 j9 Q! ]; j6 H& f$ t% U
    import matplotlib.pyplot as plt/ a0 q5 `' g/ }3 ]; K
    import numpy as np' N% q  @; ]" s" L; o
    import pandas as pd
    7 `4 N. i2 U7 j7 P# V( F0 P" C  }from sklearn.cluster import KMeans' C/ ]" c& x: }
    from sklearn.metrics.pairwise import rbf_kernel# M8 Z1 P+ B0 g& a1 Y1 d
    from sklearn.datasets import make_blobs" |# X6 m' Z8 ^1 r7 x3 I0 R
    from sklearn.preprocessing import normalize
    ' @" w( k$ {  F- G, U
    1 Q: V3 |$ m5 U9 N+ d9 Hdef get_affinity_matrix(data_set):0 a$ v# n' N" ~/ x
        #  利用高斯核函数计算相似矩阵(全连接)
    & J/ y% r9 V/ M2 ~4 i9 I    rbf = rbf_kernel(data_set)! c  E' a! n9 s
        for i in range(len(rbf)):1 b$ G. V& L; n. {( o! Y
            rbf[i, i] = 0
    - G& w  K+ w% m$ t6 f0 N    return rbf' d9 u4 z" w* w. A6 J+ v% q

    7 X# r% d8 N+ h+ {( b4 ~5 F: S) R8 f; V" _  a6 h( Q. k
    def distance(x1, x2):
    ! ?0 C( @8 H3 o" u/ Z( i/ E    """
      C0 f3 v1 O8 t5 Z! W. u    获得两个样本点之间的距离
      G4 H' m6 R) X; p3 b+ w0 Y    :param x1: 样本点14 B! B+ s& K+ @; F; t
        :param x2: 样本点2! C0 D0 P3 e% S
        :return:
    ( P6 M1 {; e1 O    """
    ! J5 S/ M5 ]/ W! T    dist = np.sqrt(np.power(x1-x2,2).sum()). u; R. d- Q& ]3 `
        return dist& F, R2 u- d$ H0 q3 K0 K3 [

    & {( K# N6 J2 t, Ydef get_dist_matrix(data):- R9 ?6 L8 q. F5 G
        """
    0 G: H7 o( r" F4 ?. N' [2 Q    获取距离矩阵
    7 W' M1 ~' C: l  m  ^4 W$ Q    :param data: 样本集合+ ?1 ^; |, [2 {
        :return: 距离矩阵1 U: u# h! k1 j5 w( m6 s) W8 n
        """' K$ X0 K9 V/ a* G
        n = len(data)  #样本总数
    , k$ g2 b: F9 d2 D1 }% d# }0 E* \    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵
    ; m) m6 c$ k2 J    for i in range(n):* }# }$ e, ]( ]
            for j in range(i+1, n):# S& s# j) O2 C& H5 Y, C$ K* e
                dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    3 z) R* o/ @& ~# _5 K1 m2 X% l    return dist_matrix
    0 I& _: i6 T7 U1 v8 l3 t- o
    ( s- G, z; F* Y" Idef get_W(data, k):" p+ s: L1 z- F# x% L3 \# r- F) ?
        # 获取邻接矩阵(K邻近法). {8 [2 |  Q3 y, F$ a3 K
        n = len(data)
    & O  t$ }& _' C: D/ f/ p1 V1 _. c    dist_matrix = get_dist_matrix(data)
    " ?! H' D  }9 L( F3 a+ p$ r  A    W = np.zeros((n, n))4 {. R8 U) v' p; a: G
        for idx, item in enumerate(dist_matrix):8 H: r+ J0 Z5 m" O  Z1 F
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    - g: O- T0 J* P8 p        W[idx][idx_array[1:k+1]] = 16 C  l$ m4 A! z6 A
        transpW =np.transpose(W)5 K" }7 E" q) J8 o+ N
        return (W+transpW)/2  H1 [9 N8 s- D, a. H7 D4 ~: S

    - k# R% E( T! Sdef spectral_clustering(data_set, k):2 r4 X- `6 s. o0 O2 {' P2 }
        # 利用相似矩阵S得到邻接矩阵W- e8 Z9 ?3 o: k7 j( T
        W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)$ T6 ^: e4 W5 k# Z7 P3 _% d; |0 J+ u
        #  W = get_W(data_set, k)  # K邻近法
    $ R# I" p$ ?% R/ G
    0 |! ]7 o( t  H4 z# v( ]9 E7 z    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)
    $ l9 g- H$ Z) E( g    D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))' }9 c, F( I8 _2 L/ t5 d

    / J7 o5 F( ~: h; g0 m/ ?    # 计算拉普拉斯矩阵L=D-W5 E1 v. S; I* M6 p
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    4 E1 ~7 ^1 r+ u8 L$ K    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)4 }! q# Q% j5 {# Q( S8 g
    * Y7 X0 y' J, b% ^! M0 X' T5 `1 n
        # 得到特征值和特征向量" t6 Y2 w! s  a
        eigvals, eigvecs = np.linalg.eig(L)
    - |: i+ ~9 y. i2 D, j5 l8 J2 R& m
    ' ?  I& H5 F  E2 L2 u8 k. ^    # 找到前k个最小的特征值(索引)( A* R1 p( Q' v' M" u! o. c8 x9 u
        k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    0 \% T$ l8 R4 M  J' Y9 |  _# P3 y/ A9 k
        # 取出这k小特征值对应的特征向量,并正则化( Q' ?6 ]# T; L
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])0 K2 X  n. e2 {6 y! D2 x
    9 D5 h8 v- D  {5 \2 o- {6 n7 s
        # 使用K_Means聚类
    2 i+ O  R' _. f% r$ O8 T% e) m+ U/ S    return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)8 P) T3 D7 t! M# {8 Z7 g2 ?" L' t

    ; l4 Y& w* \6 r& t# H% x# |& O. _' m, y8 R4 g8 ]
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)4 m. Z/ y8 S5 X' x( P8 o! {2 Z* w
    raw_data.columns = ['X', 'Y']' \5 H+ a, d2 v1 j
    x_axis = 'X'
    : H# |( ~2 e2 y# U2 R3 H( u" Ry_axis = 'Y'
      E  G8 d3 e. O: }% ?) \
    + l. Y8 e2 R* D0 O- }! j1 ?examples_num = raw_data.shape[0]$ @8 l" f8 h3 ^1 }
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    . v5 t9 w  y- k; B" b' M( t* f( }5 C6 w2 U& u; C. G
    & k0 a7 K# {) \+ I" L: K: N
    min_vals = train_data.min(0)
    9 b, E0 s$ W: l0 C+ m" o( q( G: fmax_vals = train_data.max(0)3 U) n0 j3 H: D  B2 \, h- x6 \+ D! b
    ranges = max_vals - min_vals
    8 y& i5 v, P4 y8 B: pnormal_data = np.zeros(np.shape(train_data))% t. m' [$ a6 x" ~* a7 D# o7 \
    nums = train_data.shape[0]/ ?0 n9 t  ~6 C
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    / ~& x, {% [# w$ b$ y) Mnormal_data = normal_data / np.tile(ranges, (nums, 1))
    + w* C  J. v0 J8 }( R
    ) X* K+ v3 ^. S) u' Klabels = spectral_clustering(normal_data, 2)& l) q( {, l7 W! h3 v, N

    ( |- x; L/ K8 C8 _" m/ _# 原数据3 \* e/ X* }- `" ^) L# o
    fig, (ax0, ax1) = plt.subplots(ncols=2)/ ]3 P9 V" u1 a; N- x& R# ]( |7 R
    ax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')
    # [" o" e- t4 X( n9 s6 Sax0.set_title('raw data')
    1 Q, |, |" `' A7 h( [# 谱聚类结果4 s9 R5 O3 {  v9 u* c
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels). }+ P2 L8 d: d( {$ q/ j$ f
    ax1.set_title('Spectral Clustering')& l1 W" `3 j/ t8 u
    9 s! |  m" i- m! e# v7 s" l- `1 D* W
    plt.show()' @3 w% X/ y) @0 |) ]

    9 G" o( [; P; ^6 B- \2 V; N19 y, P) |* Q' _- S
    2
    , {0 W! n6 Y( N( c3
    7 B5 Z" J0 e/ W. L6 J! x( l& i4
    1 T0 C5 w; Z) w9 T# X  e5
    # c3 v/ ~; S- G66 G0 ~- f  U  f
    7
    5 P* ]; e* E7 C9 z& O7 H' C2 y8
    " v% i) w8 I$ {9
    3 [% {$ |3 c1 s1 f10
    , f  i6 c: _; N" o8 {11
    9 F0 Q6 m0 k$ t& L! X* q2 _12
    9 g  C" B) f" z6 Y6 e; f9 d13
    , ?7 L( E5 P. S8 ~& @0 T14. p7 g+ k+ r5 F2 Q) @( ^
    15+ ?5 w8 t5 l) I. B. J8 G0 K5 }, |
    16
    / K' J+ Z: Z" i7 I: Y17, }- b! t  E6 ?3 G" p7 ?9 l  ~
    181 M# u2 J0 y* }$ W" m6 \+ x
    19
    9 E; w1 \. O  J. o20
    + O% D" ]2 D- ^- M21
    6 V1 K& }1 e/ v* t& G; e$ W22. s% _* X: _6 L, z
    23
    2 l$ z9 `! \! q+ P247 _1 F$ m1 R, b# b, b6 `6 H
    25
    ) J* I' `5 ~  t$ s4 p26! n! p# N' a- |% R
    276 j/ P& |5 y! w: n
    28. B' Q9 ^; Y2 X8 w# l6 y
    29& k! y" ^8 W1 u+ }
    30
    ( I0 A' @/ j" K5 S- q; b& j$ D31
    ! g" C$ X  f% Q( U- x32
    8 i: V$ {0 r+ J33
    / ]: N6 F1 J' G( W/ e% R8 P+ e34
    : _% S0 e1 R( G) d* p35
    - l+ R; N" I+ j8 C, F  T36
    6 z6 j' O" h) M37/ M2 \  q2 Y$ {6 c/ C
    38- D# C- Q& [, ^" f, c
    39
    : j: G3 C1 X* J  W40
    " j9 d. E; o$ c! @4 l41
    1 H. Z3 J% x9 H) m6 p0 g& s0 m42
    0 M% a1 a8 L1 Z* P43
    1 V5 c) ~6 K5 Y; m449 `& y9 U5 F% D' v$ g; I; X
    45
    " [( l: z4 a8 l. D2 }; A$ H460 u3 E; U+ v9 x* N
    47% y" Y$ c# g2 K& c0 J. [, h
    48
    + L4 J& j$ H- m+ ?) @) b1 A. D# a49
    % _/ V* B$ ~& H6 L% d- p( g* A+ k, {50- y0 S, E) ?' n$ Q! @4 c0 f
    51: K" V) y2 V9 K
    52
    $ Y: k  [4 @0 q4 X  `  Y" I4 x, M2 v  b533 V; f$ o' b- ^. g
    54# Z. U8 X4 w/ Q* b7 D' y
    55: e8 I( I# c& I6 [2 a  ~1 j$ E
    56
    9 U+ k, M* |7 n, o57
    . M5 V7 Y# F! k2 }) C0 b( ]58
    9 c; S% X" b8 o4 \5 E8 u1 j599 y& L; L0 W4 V+ O+ _% ^5 ]8 `
    60
    + ]/ y, x4 K. Q61( c- q0 T1 ^# _$ N' H: c( l
    62( a) y! a+ a8 @: b) p3 g* z( g
    63
    9 \9 A# B  x, ~64
      x# u. n9 q1 t. q; @, Q8 r65
    ) f' h$ b. @3 N% l4 S& [' Z% m, J66' G. U( ~) O. x9 c- y
    676 O( G+ L- E, k" [
    68
    5 n4 l9 x$ y0 G! [69
    3 F6 Z! [* P; K( P70$ H* u/ f2 r" Z5 G, k7 v. a# _' W
    71* l3 V& ^: Y% F" e4 u- O5 S. m* b
    72
    & u# e6 h2 S& L! F' ?, t+ c73
    3 k: z; C" G  Q4 C9 f74
    9 I3 J9 I+ I1 e+ y! ~75
    9 Q0 _/ m8 c: y# B* @763 F% S3 j# h& V% k
    77
    0 Y: R/ j9 k9 @78( B* v, [. k5 P2 h: l* E8 C
    79
    $ h5 i' D5 ]4 B% J" r- [80  W' Q" ^0 d! h2 s
    817 N, i5 l: a# r' h, ^/ T1 D
    82
    " ^2 Q- ]* N( p1 w4 Q4 P1 x83
    / }3 p# T+ I2 n% b; U$ I! Y" B84
    9 d) O5 _2 P/ p6 {1 U3 k' t0 @85
    9 O8 P! R* B6 a9 W7 Y; o86
    3 y, s# W" J2 T  u- t) P, U1 L: S3 l. O87
    $ o' i" ?2 ^1 P9 x- J: O1 v88
    3 r# f* m) q$ k5 {* G89) h! Y4 T1 a+ S+ O+ w" Q: J
    90
    8 v% n- E3 M. D! P. k+ \919 E; C6 j7 x# J7 `+ M
    92( p; ?' A6 L5 {1 U
    93
    ) _1 ?# E( F4 J! K! N4 H94
    6 L7 A/ k5 S: r$ A9 d- Q95. A. P$ F% w9 Q
    96
    + [9 u  `% \8 c97
    7 J; g4 q7 z$ }# k& b% S98
    1 l( O' D! ?- m- Y- t3 ?6 B99
    : j& m% Q1 L( O) H3 a# P, b) }100
    & K2 O, k9 b, @101
    % G0 ]# u  q/ N9 {/ U8 M$ ?102
    ! g" R+ w& s: Z4 |# A% M" X# p; t' U103" H9 f9 w: y0 m$ C
    (高斯核函数)1 p( v& J, A+ @$ s* d
    / L6 j* V( k- J' k
    % H: k7 |$ G3 |/ i, A) B7 d0 d
    (K邻近法)
    / R! F2 {( C% H3 t  r, o3 U* @' ^8 g+ b3 E0 w  p7 O

    . ^1 ~5 t! U7 M! b9 C' c8 a, g四:谱聚类算法优缺点3 N# d: `- L5 w$ q# m4 _8 o+ B
    (1)优点' F* r% h8 f9 \- S" A9 r. ]
    谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效
    8 ]6 H# U( r2 ^4 a2 ^8 ]8 ?1 Q' K) ?使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法' \5 u' u/ ^+ @; W) o
    谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解8 i/ e% M4 B, l8 U' y$ ^# a8 w. k+ ?: Z
    (2)缺点! g& j8 d* D0 c8 ?
    如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    0 h# l/ \8 S- {. F; g4 ~9 P聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同
    & U5 ~1 S; t- {————————————————! e5 d" q( v/ Q1 c
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ; n( [( B" [. M$ q( O原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494. ]# h# Q0 u6 L9 F  L7 }
    2 v& ~' i7 B/ |& P" G
    ! s/ q1 z9 F9 P6 P! z/ Z
    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-10-9 06:08 , Processed in 0.398003 second(s), 51 queries .

    回顶部