QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2950|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现
    ! g5 ]% S  ^, l3 u! B
    3 b& k5 y& j0 m: i+ V& ~" O本文部分内容源自刘建平博客,在此基础上进行总结拓展! }' n# r7 t& [1 k
    & [5 I; u0 r4 s/ P: @
    原文链接/ {" X5 Q) y3 b' @6 q- [
    文章目录; c, F% i  D' A  l" d
    一:谱聚类与图划分
    7 L8 @5 R; x! l, P& @(1)比例割
    , S2 C& i7 D# B5 u(2)规范割(常用)
    7 i* a% c) ?/ [& T* W! P7 H5 ~1 j/ r3 U二:谱聚类算法流程
    2 B' b" s: Q( c- A4 Q三:Python实现
    4 u# ]3 \1 j8 n四:谱聚类算法优缺点
    5 V4 W" j/ ^5 m- h5 U$ D0 S(1)优点- `( @: J) |0 r, S9 i  n1 A
    (2)缺点/ @4 r' g$ m/ ?& v
    一:谱聚类与图划分, o/ s+ @8 l- b1 J: \9 @
    无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中1 d# g# s, x7 q+ Q" C

    $ t4 n/ G7 \2 i' c& J- Y每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A $ l8 o0 U) B# O, N' c
    1
    ( x: _7 l/ L) T! h7 u1 q  ]" D. c( T! x2 V
    ,A
    & [5 x9 [9 F2 \& s4 Q( a2 \25 g$ q- z2 f1 J9 O. \  D" j0 i
    ! I; |. m* C; }; D7 T
    ,...,A
    % Y8 Z- _! h% A' n  Tk
    1 _+ q% u. R3 d3 D
    % C* d- ]/ d, [* [4 |- w  ` },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    # s. h6 l/ z! t9 b1 Z6 J  Ji
    % [1 A$ x, i5 k1 u
    / S" e+ y! ~- A( R  o! @  J3 H ∩A : S4 [+ o9 c9 D4 C. ]
    j5 v6 H, @) M  S, ?

    0 A! ^. f0 [5 m0 |* U1 J =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    - O  J" g& \  z' t, N1$ B8 E8 T6 ~- L# p! H

    ; ?5 b% k- F2 x ∪A 7 u. o. ]" S) A) j* U
    2
    # Q) c& X7 t- H- y% x$ \. C
    9 i/ R4 ]  b6 f7 w7 @7 S# O. c' ^ ∪...∪A
    * s& p; x4 J0 A: c  P- U" Xk1 B' T- y1 G! D# [9 T
    ; d/ K/ g* h. M4 A
    =V
    " z) r, [' D& i对于任意两个子图点的集合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)=
    + R' N& n! z( D. Ei∈A,j∈B
    ) D  T. f' t2 a* d+ ]/ u
    + e; `+ X5 M* l/ p+ H4 I  Z( E! ~: ?: k5 D5 K! a5 P( N' w) B6 I
    w 7 a% A% Y: E" Y+ }" I
    ij
    - R2 [# A, u- I+ _4 z6 p/ {/ H+ z8 E; H% {
    ! V+ I  c7 Q. D7 R5 I
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A ! d9 o' d3 h; ^- ]* d
    1; x$ g- O2 a; P) _3 A

    9 l; f1 u* c- j  @ ,A
    / w1 w0 q, K+ E& `) |% e2
    : U6 c+ E# ^$ b: q6 Z9 O3 }0 {/ f
    0 z' C" B$ \  F* l ,...,A + D6 \  o7 @+ s1 J$ m
    k3 V) G) z& A+ l; i# H/ b, w0 E' E
    0 a3 `" u* F8 Q2 u4 ?
    },定义切图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
    / N" w4 h+ E  Y3 `" {5 P2 ?12 r/ A( W6 Q$ g9 a! e' R
    * C; H0 x  w; R& h$ a
    ,A
    4 ^& M9 P  I6 a- i, Y' D# I) a" L2
    0 B# H( @2 _) d4 {$ J& ?* {7 v& M3 s' m  j* `
    ,...,A
    & ~7 h7 H2 F, g. l# Xk
    9 p9 j0 b1 u+ T6 w2 r$ |; k1 N& L. `8 T5 b2 E9 Q
    )=
      E) r2 S  I$ X9 J2
    8 Z  a  u$ v) _& u; B1
    & K" O' Q$ g4 h8 Y' D3 C/ g' C8 s* k" Q! ^; W" _; ]
    8 W. {' h% U# d( I
    i=1/ J1 M; L/ `( ~3 k$ f3 K
    + j: ], s" Y0 }0 q7 q) z2 K
    k
    ! j0 W" n5 k5 C# s, [1 B' F  g) }8 m2 g) J/ v: B
    W(A ! Y! s, I. u, j, R- J# U+ }. }
    i
    ' b8 l1 j" r0 `- |& k
    7 e  s' ?' |4 m- v  i! F. f5 |) J ,
    & _* G" `1 _, b8 vA+ }2 k; \& d3 m3 r* J
    ˉ2 d2 v8 }# o6 j$ z( u

    3 @: ~, S: l: G  y: u5 Gi; X) z- f$ c2 e  }7 Q% r' ^
    4 }" s& V3 F% N% F+ e. ]
    ) (其中A ˉ i \bar A_{i} 1 H3 Y" ^$ h* P8 t
    A
    8 f# Z- C" W; ?$ gˉ8 R# h. |0 @' A0 ~. R# |6 B( s& B

    6 O! X0 h# v) Bi
    * d8 ?* ^; n1 M7 i3 n
    2 h. d6 J% \& W8 w 为A i A_{i}A " X0 r' S# c/ ?$ T8 y9 n* ]6 `
    i
    2 a% H. \+ _0 D4 Y6 c; ~" x& u; {. C
    4 ]1 B2 u/ P0 u% ]6 }7 e/ x0 X 的补集)1 H" x7 [: W* @9 i; F; x4 `- c
    可以看出,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 - d) @3 V/ q' k7 x6 J3 p
    1, y  c, f" k2 u5 X* T

    % t: |6 K# L: h3 ^) t9 c ,A 5 g* d1 x3 Y0 I6 i- w' E% z! h
    2, F( g) K2 |5 E( a

    0 }4 b8 b! S. q! [6 D ,...,A
    ( B# ]/ G- E$ x8 o& c3 A' V* c, k) Vk- l5 \( h6 f# q2 A' z  D! F$ ?

    , i5 I4 @- Y9 v4 D2 L) }" C )= # N9 M6 C) Q. y3 S0 I
    2( t# p/ J& j. g; B' r3 R1 t9 S' K* [
    1. x8 D8 |/ |; R, \$ [) S
    7 h, W4 ^# c% F2 m# \+ i2 x! j

    & _& s$ R* ]5 O2 e3 h  s5 Ti=1
    7 X- z; k: x/ B
    - B" r1 E+ {( X; v$ [& w/ wk
    6 \( X" \# ^* i
    - }7 S4 f" E: c6 ?& P1 D W(A
    8 h, o: ]5 ]- @4 Mi
    , y8 b2 \# r  F4 y1 a- |# d* L, y! ~1 l# M" |0 t9 i
    ,
    : P+ S; ~+ t! IA
    . F' x# D+ [, _5 R! vˉ
    / B. [" R. [2 T# G' C/ p' o, x$ l1 L  X( J9 L+ ~
    i. O. r: c+ C& \! @$ ]" h! s

    & a' I) `0 d, A2 x" [2 i )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A 8 Z* N2 l! Q7 m
    1
    9 L9 c8 _/ P: V$ A" u( J5 m7 _2 F% i6 u
    ,A
    1 h7 Q; a' E( }: M1 ^2
    ' c, Z  P8 P% e- w1 Z, J! I4 X5 P; l; G+ \5 E: w4 m; ]
    ,...,A 4 t8 @0 y, v0 R8 K% _
    k
      |# ~" t# t7 R. J! G, L! @' Y6 e
    + v+ f& Z0 M( W2 H )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡
    0 \) w' O* @/ Z! F2 M# x3 L, R2 W$ H8 W) `5 B6 x) K: m# Y
    例如下图,选择一个权重最小的边缘的点,比如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
    7 H6 b: e6 s7 c! a8 x" o1( A- }3 h7 k, p) ]) F% \- l

    # q: p' k9 Q5 w5 M8 t' c+ A4 D ,A . v1 [+ E& R3 H  f
    23 Y' }+ ^* w  J* z" M( a  P- t  m

    ( t- ?3 E. W' `' V  a ,...,A
    $ B# b0 `) `( C5 A) S8 [k
    - z! O3 j/ `; H, i. y3 v- [7 b$ Y4 n7 `& q
    )但是却不是最优的切图
    . v# n( n+ X3 A' y% Y% I
    . m( s/ j- _2 P; w# J/ t& v为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    % k' W% o- p; `0 `+ q, I
    $ h2 T; f$ q1 U$ H9 a比例割:R a t i o c u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) ∣ A i ∣ Ratiocut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}\frac{W(A_{i},\bar A_{i})}{|A_{i}|}Ratiocut(A 0 ^( J  m; Q. E# ^" B0 E
    1
    " v7 r1 \5 _* `2 N& k5 z* s% B
    : V/ @( J4 R3 s8 l! M' ^5 d ,A
    ) i: c& e/ E9 z' J- g2
    9 M. U7 l% H* X, {5 G% e. n2 t) |$ ]! x
    ,...,A
    ) u0 y$ u1 Y  e1 ~5 qk% L0 u+ z! \& W& `/ G4 W& Q

    % B) t( z. @- v$ K )= ; A9 Z1 U& ^( H
    2) ?; u& S, _9 d- d3 H- x2 r
    1
    4 C( |# A" z/ E3 J9 A4 U' s6 Z5 D8 d8 K

    0 r3 s! \( L+ n- Ni=13 }7 @& p# v( w3 m2 F1 a, f

      ^  r) e) w* R+ ak0 f: z3 f6 H3 p; R9 c! m5 \. ]

    + W1 |; m* \9 t# h1 m
    ' r8 ^# j( L# v1 Z∣A 7 a2 w: w6 j6 y
    i
    3 i7 w' O% b! L. d1 z
    4 D7 z) h! j+ y$ a1 k) ^0 a0 l6 {; Y6 j; v* e' Q. @7 x
    W(A & @  p0 @6 X3 r! I% u
    i; {/ K7 ~. A8 |$ b0 z

    + |6 R5 l& \6 {' }; ]7 d5 |) ~0 ^0 v ,
    " y: l4 n; w1 \" M2 LA) t2 k1 D$ H/ z
    ˉ9 y" S! x( R, a3 F- ]# f6 G

    / q! ]9 a0 r& J# S8 vi
    3 v: k* A: \! D5 I; I( Z
    6 j% t# }' @+ R# L# L6 B. B )4 t+ u+ J* J2 H. q3 I

    6 q8 S" ?" `. e5 M
    7 M; h5 o- d  X( E. O规范割: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
      e4 E0 [3 Y+ K  A; k; r  _11 W4 L9 |3 M. h5 ?) B, O  E3 v

    1 P" i- X/ ~5 D0 w/ J ,A
    2 m, Z8 R. _! |1 L2+ d  h2 z; L7 M( h7 O+ T2 V

    9 Z& ?( |+ f% `: L7 I  T ,...,A
    / P* a& r% ~3 m# t6 B# a+ B0 Zk3 E4 N% o, n1 Y
    : {) U6 i% `8 Z* X# H3 q
    )=
    8 q5 y) q% c0 J1 r/ w/ q21 D5 p2 N& [4 l! o
    1
    3 d! p5 E$ z% Q2 W  P% K& E% R1 d

    % v2 Z+ l( v! [i=19 s& p, K% q: t2 c. d; o, a( l3 Y
    ; ^, D' @: f* E$ g+ _9 n
    k# E. l* Q: K, P/ _7 L6 {2 n
    ' i" t( F  [. O: v1 o( I$ P4 I  V' J
    8 z; C. q. [% ~9 J
    vol(A   _, q! ?4 J$ R- D% h0 L6 |5 q
    i6 w# F7 L" d/ y# k% I, @5 X7 g; a

    ! T$ A2 A7 g% F& D# |1 E )% e; T  z+ |+ K- X! I3 a6 x
    W(A - H$ g7 \& P1 J& p  n" L
    i  C2 P) A5 B, \

    $ R; N( e9 J4 e; Z% T( g ,
    $ r  x  l( K4 S: a4 T- ~A+ `" ^+ d$ E" o6 x8 s
    ˉ
    3 f; U2 M" p" Q$ C. s) L4 d2 T8 M
    i
    - G8 `6 R( B4 g* o& ~# ]# j& Z2 J6 _% G8 f% c: w3 y6 E! R
    )7 J8 A' [/ V' a% u$ T3 I; g3 |

    * b" ]9 h( i3 R" J  N, t% c  N% T9 n% A+ O0 B' h! v
    (1)比例割
    " G# H7 |" s6 }& p8 X引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h 3 E2 X$ o. ~8 [3 A. }
    j) m" T7 W  W) [* m8 y, p
    % z% t* k$ X/ G9 G
    ∈{h
    1 R( E6 v# a. ~2 H15 \* u8 W! h$ ]3 B% h

    % w9 M8 d) w  Z1 n ,h 6 p6 M8 C2 i" v, ]0 q- C$ o8 s
    26 d$ r8 J' r. m8 E5 t  [% C

    " P. K4 \" C; P ,...,h ' m( k9 i4 U- Q2 q0 w% W. Q
    k
    8 X, h8 N( ?$ l( }6 ]" j/ h! @) @* m
    },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h
    ( b) |, O7 ~' s3 {2 y& J$ }8 `3 lj8 t* F+ T- b$ g3 J0 w
    ' P% }+ Y+ S8 i' P  |
    ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    2 Z  P3 y$ w( x3 O, mij7 W5 U" }* l- J; O2 P: n
    # h4 z7 U. k) c" J- G
    如下7 o% a+ N! c3 q7 w9 ^
    / V0 Q1 i9 u" D' U
    h i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    3 g" [; G% D% {1 t  _. F{0,vi∉Aj|Aj|−−−√,vi∈Aj8 E+ h( U7 d0 r( w8 T0 t8 L
    {0,vi∉Aj|Aj|,vi∈Aj5 K& [# l; G+ s6 Q1 s8 D
    h
    - w% u( ?" v  V5 q4 a, v7 B$ wij
    * y+ s$ i+ Q) m' F- Y
    ' m% o! A+ }: X, y+ m& L) k ={ 3 r  J! P& H& r5 G6 `
    0,v . x' u4 k# A" J$ T( o
    i' r. k. N+ M2 R" a+ a/ D: b' u
    4 r3 Z( ~/ z0 E( ^+ }  r
    % |; E) t' L4 o1 [
    /
    5 R. V& R9 x* d% A- EA
    - C0 c0 O3 k4 F; F1 lj! h( D: r+ k! X# }; j. t; i+ m+ n

    ' R1 K2 b* L$ d6 S4 @* n, g8 V# Z8 y1 j9 E. x: l, O
    ∣A
    # K. }' |& p7 _( d) h% g5 n5 uj
    & g5 c% d$ B8 f
    + J8 W+ G* s% }1 F4 i! I8 ]6 K/ S2 V$ m8 e' A5 N/ X7 r. L+ K

    % z$ V% B9 A, n" N1 z& F  K ,v 6 w3 W$ }# x8 R
    i
    7 ^8 i$ g6 P% @& a
    0 U8 e/ v. Y# k8 a ∈A : \3 G4 _$ s; x( S, V
    j
    9 e# z& E  G1 R) k4 G
    , A+ ~; \( u( b$ l8 l, G2 o, Q: N
    ! W" t" R5 @: b7 C- j

    * K$ b% c; ~$ F, I( q* m4 X: ?+ T9 L3 T4 j  M, l9 |7 B
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h ; E/ b  \$ Z0 l1 c
    i
    % w* i  X$ f7 O* l4 dT
    # n# ]8 ?; u9 j" Z
    " T2 |  ?, p  u. n Lh . a! N9 C+ _8 z4 D9 Z
    i
    # D0 }0 q3 \9 P* p2 r* I$ Y9 \# s2 F1 y5 J; ~$ s6 b+ O; U
    ,根据拉普拉斯矩阵性质可知
    ( o6 {% j8 X/ J: Z9 K& _! a
    7 V$ p0 l, B/ A1 F! t" ?对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f " }2 ]6 V1 d$ Y8 p# K
    1
    3 i* o/ T7 M$ b7 G. S; |$ C
    / D5 \' K+ ?7 G: M+ }, a ,...,f ' X4 S' U5 w) Q; x8 g
    n
    9 }: x5 M* A* a- ^' F7 Y: W: d% }* J/ i! M; H
    )
    ( z2 n8 B! y6 g7 }7 H5 W3 JT' S6 B+ p" R  j8 a
    ∈R 4 w8 n' z" o' J% A  d, R4 b. \
    n0 ^  `5 i) O4 n; c
    ,有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
    8 y5 e' h6 q- l4 W( r% YT" a$ _; L4 A+ B8 P
    Lf=
    + B( w( u/ q1 g, k. a2
    & f+ f/ j, y- w  Z) w& y5 r1
    1 w& ]3 e% [/ \3 |! s3 {4 Y9 y
    3 E5 |) f/ R* ^% x# g) W+ A
    9 P  i+ ~$ w3 x6 J+ Z/ U' F% Ki,j=1
    : V% V3 U; L0 ~, b4 P/ f5 b0 a) H! D1 u: ?  Y
    n
    ) ^% p1 p) M$ D" _! }# l+ r) g, }: j! ?1 l1 h+ a2 D
    w / c& J% C+ Y: ^& V+ d
    ij
    ( l2 ?; d& J, {2 T! D- n" p: \. M, [( _+ A
    (f 1 n0 R8 r; u/ @
    i% r6 e2 p, `0 s5 @" ], r/ g: ?

    , \3 Z' D! `% }, \: Q% T" ]5 t −f / o" Y# H5 P! c) D' u2 s4 f6 ?6 D
    j
    * y9 k# _' I% a0 x* W$ @2 M# T0 s0 l1 }* N2 _: p9 f' C+ k& D
    )
    5 z, h  X8 D* Q7 z5 }2/ G4 Q+ T0 U5 @
    . h* x4 U+ x$ y% z! v+ O
    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}|}. F/ }" V0 W0 S# H; S( k
    h
    7 D1 a7 w% h' ]& Z, y: ai* w4 Y8 N) n1 a6 n9 o; T
    T
    ; O: J' f; t% U, m4 v5 U- n2 p6 h, Y+ X; r
    Lh , ^0 W7 A7 d- i, U( S5 u  I
    i  P0 x3 n6 z" ~

    8 o* w* w5 J! s = ; R) ?, \. [+ G
    2! r2 w0 b8 D+ C- T7 A; ^
    1
    4 X+ f7 R$ L% T; @
    5 `0 N# T$ y. M0 U
    ; b6 N* \! I5 z6 E6 G9 i4 um=1/ i4 r+ F. j' K0 Z. @8 ]' x

    5 S7 p1 i# C  l3 o$ G1 G5 n4 j5 u0 N5 Y5 b
    - J$ a5 i6 f, i# R# K
    n=1
    / \% s, F) C- ^! |3 D& q. N; g  a; r+ V7 U5 F; ^

    0 l7 L$ [0 z& c, {, ? w
    4 R8 o: W6 ^) o+ [+ {& smn' V- y/ D/ C& L

    4 D; e/ T' @2 X, R1 L4 ] (h " i0 @. u/ W/ I1 k# a7 t: \
    im
    ) b5 I4 y* ~" w0 r2 Z/ C* J! N+ x9 d: |# G! E
    −h 1 o* g, ^7 }" m* h- w4 L4 Z
    in7 q, H1 W8 g: J/ a/ F+ _

    ' X/ E  p6 q# X& l )
    / q; D5 M! z  |# d( }2 I2
    ( F( V; p# y  b3 z/ v = ! U' w0 m$ n; g  Z3 J
    ∣A
    - i! z# K2 ~$ R; ti1 c* w5 b# C* w* o+ e9 s
    . }8 x- C* h  |0 C0 L% _

    6 [+ P3 D+ u1 tcut(A
    8 M; y$ b- V. H+ B! e5 ]# @5 Ti+ b) E( l8 u: i( R9 C2 u- Z9 ?1 Q
    " L5 j: P$ @; ^! n; J2 `  d
    , + m1 @1 q1 U7 I8 W2 V1 b/ H
    A. f: H$ o/ `7 t0 X& j5 ?0 O
    ˉ% W, y: O: k( T! {- {

    - ]1 Q' T1 x, T: v( Zi
    : V3 |. t% Q  P# m! x  U3 G& @- G$ W8 M
    )
    * Z4 A8 I0 |6 J" O  h
    6 S7 v/ ~; `# r2 @- U6 n
    0 i) W( ~% Y) e0 D/ T: W5 ^7 C6 h. H2 ~
    严格证明过程请看刘建平博客:链接
    6 }/ s. @' O: v( _可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h ( ~; a, ^* j7 K2 c
    i
    4 d% z9 J+ g# a3 M- E( p6 xT
    6 x* _( V& s0 v. y
    6 @; s+ O% v4 j5 H Lh - v" B0 ]1 ^# [6 c+ m7 o% C" U5 s
    i
    % n) O3 D+ U" Y* S0 d0 m0 o' s$ E& Y( c6 I0 g! j
    ,那么对于k kk个子图/ Z/ T, l8 B7 W# b

    # y* E! V; h! o! QR a t i o C u t ( A 1 , A 2 , . . . , A k ) = ∑ i = 1 k h i T L h i = ∑ i = 1 k ( H T L H ) i i = t r ( H T L H ) RatioCut(A_{1},A_{2},...,A_{k})=\sum\limits_{i=1}^{k}h_{i}^{T}Lh_{i}=\sum\limits_{i=1}^{k}(H^{T}LH)_{ii}=tr(H^{T}LH)
    4 u1 Z1 a5 r3 A1 j+ S  w& wRatioCut(A
    0 t# X5 {+ e' ^1$ L4 F' f9 W& {

    5 H5 W7 O" u: g0 \/ l9 q& j ,A % G2 B1 @' j! g6 M7 ?' n
    2
    1 M% ~1 ^; O9 ?' V$ W2 c! _4 C- {( B7 ], Z
    ,...,A
    , ~( D8 O) i: V( T7 k. }6 ~1 r$ r- ak  p& f- g8 W3 V9 I6 R

    ( ^7 u4 M% u( I5 t )= 8 @1 B0 f7 y1 Q8 Q: n# E# h5 S
    i=1  k" g3 x8 p! R) K- ?

    & |: m6 I' D% Y- z  d; Jk0 c* r- E- @" m+ d+ z# R2 i7 v
    % M: f/ c) v/ }& G% p
    h
    3 u. Z  p8 L8 o- [, \0 {i
    % i2 L2 \. ?- a; P+ |; Q  l1 [# PT
    ; V# A! P% d9 J) Z- j2 _7 \  r' b% n# C( Q2 h
    Lh
    4 I+ ~1 r- L$ V0 b9 y9 c) fi
    / ?; t  h4 E! S- M0 U( H$ I! D
    " k% V, E& r2 \! P8 F  [ = + l; e  ]& _$ a  S! Z  s
    i=1
    + b$ Y& h. `% D0 _0 v4 R
    ; O7 }5 b7 N: X' A3 X* Q' d* D4 q$ }- lk* L+ k- V6 a4 l% u, C

    8 ?/ j& z$ W  w6 h) P8 [ (H
    ( V* r* p! h1 }) k) _% |T3 n: y" ^9 V# ^( R8 c, L% z
    LH)
    3 }' e$ ^9 P' s$ U% n) S0 M; Lii) c: M; W8 z/ p
    . _; U" N) Q! F8 D; j, X4 v
    =tr(H
    6 F% ^# K6 X7 g; T1 \5 eT) W* e6 b$ }  f9 s* j
    LH)
    2 O! C3 ^$ m& m" r9 x! {& H! l, ?6 A8 U
    因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H
    3 i; Z  E! k" ~4 |" t* ~T. {; a; m% [6 x0 V' X; ?
    LH)。又因为H T H = I H^{T}H=IH
    ' e6 |) x3 @$ M# S) R  n) B# G- PT* m+ M& m8 u+ ?8 x
    H=I(单位矩阵),则切图优化目标为, T, @9 p0 P; e* x% `
    - |- k& J1 b  R  F7 |/ E
    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=I4 w5 L- f# a  v! O! c
    H) r* R7 y. L/ Y& b. G
    argmin
    $ D# T7 `# \9 p
    * T) j* }6 @& d7 w9 _. [) W9 m+ i% a+ ~/ c
    7 q0 F6 \3 @: y' M- Q
    tr(H & V8 C7 z, q( t0 g, ?
    T
      o: Z+ V1 Y0 r5 |( e6 d LH)s.t.H : w4 W. J0 l5 t6 X9 p# }
    T4 W* [" e: X  y
    H=I
    ' a8 T) m% B5 Z* a9 I7 `$ D0 b$ E; y  O" w# A1 C5 {) I4 v* @
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H
    4 d4 V+ t8 A; D* h+ v/ ct
    % I5 w# \0 q. D4 K; C LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h 9 ~7 z& J6 V. {; t' I) F
    i
    ' _( x/ a3 A/ Z" MT+ u8 g, A  {( {2 J
    * E' W" O5 g8 W2 ]& L
    Lh / r! K5 z: m% o& f) D) A
    i
    : w; b, V3 S  v8 m4 S8 B# l9 @2 Q0 w/ G
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h 9 X6 K& p/ A, B/ A' t
    i
    2 ]5 R( s- `8 h) z0 a1 nT* k+ x+ V, M( m2 \# H, k. ~
    - P* T+ Z' L& }, ?
    Lh ' o; B! ]6 b$ W
    i1 r8 Y8 u: u, y1 s" ~

    1 p4 G  ^, ^7 p0 i! B+ c 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h
      n" `4 p# W  z+ w3 F1 D+ X9 {i  R8 f: C. o5 r& s) j6 g) k* Y
    T
    1 L7 M* E& D- ]* d; X  w0 A0 c( w: ^' P" {2 y
    Lh . ~+ h! e2 N2 E1 n( b- p
    i
    + w2 g2 U- o6 X! \7 K$ m+ {$ Q2 f, V/ v5 M! n
    ,目标就是找到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
    2 _# A5 M" q. h; nt9 d- N1 c2 e9 W5 t! h6 W
    LH)=
    6 i8 w& Q' K% r5 w; x/ F7 _9 ui=1
    9 ]; O& G' B5 N- R: v- Y0 j8 l# Z- a0 J6 B( M. _) ~) r$ t7 x- a
    k
    & X8 ~3 l6 a6 i8 p! v; C; ]
    7 Y% f/ d% t. I- f# K' M h
    1 N5 D8 }$ Y0 I: {3 C* u5 b6 bi
    : M( [2 r3 A0 p: {T/ {8 T" {, G( O: o, t, p6 U
    / x4 i6 }6 b' t0 J7 x+ a
    Lh
    3 \9 W/ l) M8 y& b7 k0 u) {i
    ' S/ g+ V8 O$ e2 u9 ?# ~  I& W: G2 X; T9 B4 U6 G) C2 X
    ,则目标就是要找到k kk个最小的特征值2 M- N3 B& U. C) q

    $ |' \0 k- t! r" D因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下
    " k5 C1 g7 P( U. g; W' |' ^. x7 p0 J$ I7 i9 p/ q4 O3 G; Q
    一般来说,k kk远小于n nn,也就说进行了降维/ H, o4 {1 f) Q4 z6 W+ n( v
    h i j ∗ = h i j ( ∑ t = 1 k h i t 2 ) 1 2 h_{ij}^{*}=\frac{h_{ij}}{(\sum\limits_{t=1}^{k}h_{it}^2)^{\frac{1}{2}}}
    $ x/ i1 J9 E/ A5 Q- r1 Bh 0 G$ U2 N6 \" m8 g; m7 x+ U0 h
    ij
    . ?1 F. W& f5 ]9 |* N- c
    % H+ s4 u" D0 M' j% g$ U# A. r9 \& U$ p7 ^8 W# }: o/ e( V
    =
    8 j, I8 ^) L/ n! G$ O4 X0 [( ( e4 ~) H4 ?8 {
    t=1
    - Y# B( O$ M) S$ k# O+ q4 O( y6 p5 K% O8 j/ X: O
    k
    0 ^1 k- X- r+ _+ H* ]/ P# [3 U
    % t  G2 L1 O+ B. x6 `: m h
    ) D; t, r6 K$ r7 pit
    , d# p" N# K& ?' r. I( V: Q2: {9 s3 d, H+ V! ~4 l

    - P, l7 [5 h( D" p- m2 x ) 6 \& |+ ?; N) M& g
    2/ \- k  O/ ~/ A+ S, ~
    15 H/ k/ ]- A9 j+ o% K1 J/ y5 F

    - b* O) z5 A; I4 @! [4 D
    " o! ]" X1 M' x1 ?, d3 r) Y
    9 y& C) i# a8 g: x8 U$ zh + q- R6 b2 \( q' W& g8 t9 E: j( Y
    ij
    : _$ q$ a; v& |7 h$ u
    ( A3 z  d( O5 K# M+ C2 d/ D9 _; l' z- H% R, z: V6 |
      b" Y1 |% L, E" F- {# U' E
    9 @* B5 ~  Y# d  e8 U0 M6 y

    ; W# Z) W- Q) r3 y这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类& l4 E/ X- z9 X6 Y$ D3 S. b6 c
    3 a+ e# B7 j8 T+ y) ^/ g/ Z
    (2)规范割(常用)) x, k7 Y: k! q
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A / r% w. Z. M- X6 Z7 M7 x1 z
    i
    + Y3 M6 z4 `( U6 h4 t% z8 s! Z7 `% p* r0 A1 X( _
    ∣换成了v o l ( A i ) vol(A_{i})vol(A
    - H+ c8 M' N& ^$ a9 z' Ti
    8 s/ O8 l( C! F) K7 ~: [7 @+ N5 [) A3 g1 N
    ),定义指示向量h i j h_{ij}h
    0 m" m1 s1 t& w3 Zij
    5 D' O2 D" [8 A( f, l
    ! F- t+ g/ [0 z+ G0 Z 如下
    ' L; i5 i" \  u' v6 G* f0 E& A
    0 H9 y+ s$ V% D. E, r1 Dh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=3 G. p. U# w( \
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj( ^8 k& x/ B9 U; V8 W
    {0,vi∉Ajvol(Ai),vi∈Aj
    " m3 V  K! o6 F9 {" Q" R( ^h " c+ W, ^% r  u2 S1 ]: ~
    ij
    5 n% D7 ]5 v( e
    7 k' r% q2 h1 [; Z# c, d; J ={ ( Q: l# u( J% v, h
    0,v
    0 Y8 R) o" I7 B, `$ B3 q( I: W$ @i
    2 J$ O0 b3 |' X7 R7 i2 ]" l- K2 \+ [  d8 ?( V) r% z, I
    1 h* p" o& M8 `* T5 d8 i0 [
    /
    + s& T. i& w6 |A
      [- l* `; S$ b' c. e2 U5 V4 Mj7 [* Z+ l6 T% S  w+ a

    0 l9 J& l9 M$ l& v% U4 m$ a
    9 q  E3 I8 Q! Svol(A
    4 R3 r& p" V; e& y' R; q/ z) oi% @: t3 K2 D8 @. z7 N/ M9 _. }( ]- I

    5 p! S* \8 g6 j0 O )
    $ y  f$ W  f1 P" V' p
    9 W  i6 ^+ F) |% M9 G1 F; W* g6 c ,v
    * w5 G5 Y8 N8 ]. p, qi+ ~; \: Q# ~  }" C0 M
    6 w5 g: Z+ r4 k" |, ~
    ∈A , s5 f: N; E9 G4 n
    j. p* W2 d8 O2 x/ Z# s2 n& `0 H
    8 Q+ H6 ]* d4 d. c2 `
    4 |2 c1 d" d3 Y9 s9 O. C* B+ L

    0 e: R0 d5 Z$ C+ L5 ?# v: n) ^. Z8 J# M* B2 s

    7 a4 l, N4 |. a, b7 P于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    7 y0 T* B) \' [' p0 B4 D* E) c) u$ qi
    , }. h1 U8 Y  n- kT" u8 Q$ S: }7 N* r) h2 V7 _5 G

    7 m4 q9 \. w2 b Lh 8 X; V. B9 r( u* f
    i
    . F" Y4 V7 C6 B( K3 s/ J1 G" `7 @* `2 A* f; u2 l' U- w/ s$ R
    ,根据拉普拉斯矩阵性质可知
    9 \9 J8 h# C2 R' x' I$ @! |8 R/ i" g+ K  \9 }6 x  ?9 }2 h
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f : f, Z  w1 @" O- q+ _
    1
    0 A- N/ p+ V- z4 W$ [9 O7 @7 [8 ^3 m! H$ A
    ,...,f 7 h5 ~4 j- s- d6 i+ q# P
    n
    2 S, t7 V5 e! r- B: O0 d8 Y' P. b7 Y3 R5 H& @: v/ K
    ) 6 V7 ?) H. r' |3 G1 a) w
    T
    : T1 Z  |0 p+ l# p. t, U ∈R
    . N" `& C9 O" s6 K2 `n4 |$ W8 t1 ~5 [: q* v
    ,有f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T}Lf=\frac{1}{2}\sum\limits_{i,j=1}^{n}w_{ij}(f_{i}-f_{j})^{2}f 7 C% V# `# j  O- i" O
    T5 w' `4 Z2 t0 w
    Lf= - a8 m6 @5 i. {# N
    2
    ( `5 I, Q# H$ S; O3 l) d1( a) H9 u; E+ F) Q
    & N' D5 [" _/ L% p3 `3 s: |  t

    - F/ u# g  t" M1 X$ X5 li,j=1
    5 k: e& [7 x- |2 H: `; q7 S+ h9 D/ @5 F- J/ c. f$ y8 S* S
    n9 T9 {+ w5 _8 x3 ], D
    , e) y* [  I0 u" |" f( ^
    w 1 v' t" K4 S; Q" S: S
    ij$ }) B' d) F* V! ~1 f1 X" E( [

    5 _% `+ \6 T0 J1 I$ B (f
    + D* T' Y/ B! t7 Xi- Z( w8 L, ^; a' d. }7 i" B
    3 m7 X) m+ i4 @+ {8 z. {, V
    −f
      c3 S% K* {& s# l  X( qj! h8 C4 h& l' ^. D& C) y( z2 ?% [
    ' E  |2 ?3 b7 Z
    )
    + g# C6 H8 R( P2
    & g( K) Q) d, [! d' Q: `+ L$ n) s) g; b2 d
    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})}1 P. O5 C' R$ Q* u# l" |& Y8 l
    h
    & j+ D3 ~3 u. S, ]+ gi
    - S/ S/ U# S6 T" A! |7 aT: j3 S4 D5 \+ `7 |3 X/ r
    / f0 d% y# n& E  U9 `! V! V2 _' s
    Lh 9 q6 j  x0 w2 W
    i9 h- E/ h5 [' L1 X/ m" f6 E9 u9 W

    + o6 h1 R2 n  L: Q3 M/ r9 d) D =
    ; Z' ^: f  K4 B' S. }' ?20 r1 H3 B7 G  A# o% w7 S5 Y
    17 B& D( i) K& o" C+ ]8 U
    ) X4 C* M5 k/ F0 g: _' x" Z  [
    ( o+ H- S0 a* r% k
    m=1& V) r9 h$ p8 A
    . A7 y; |# p0 ?$ I

    ; M* g" A$ U/ R( x; f6 d1 k6 E9 I9 o
    + V& [) O: t2 ]4 t2 Z9 r+ Z2 t  i, |  d+ _n=11 |( B$ K$ l# {
    5 M7 |% I3 I+ ?) K0 @9 q

    . y) x4 o" n. Z1 s) i4 r1 Z w
    - S, \+ `# ]* Y# K9 T& umn, v8 @9 _2 I7 G' o% H4 ^

    2 V% O1 r5 M/ U2 | (h 3 n4 d3 b* n8 ?9 [8 Y, \
    im
    8 w8 L4 d5 @1 _) D' x2 c3 ~$ ^
    7 Q; m# J' i2 H8 N7 ] −h ; K, k- G8 x5 v  v6 C
    in
    , w0 U8 @: u6 a
    5 V& r# x+ f% e4 b! {1 y2 k$ Z )
    , [1 m% k& a0 b; a' o* ?2  E0 I; _+ H0 {4 U
    = + U, n4 _4 F7 ?5 c- J$ }- ~( c+ l9 ~
    vol(A 7 h6 z& B' g2 ?. ~8 G3 ]  e! |! R
    i% h8 A, J: L( ^# M) [
    ! Y! W! {& {% d8 |# @. {. u5 z: C* q0 K
    ), Z3 C- O0 i$ z2 c6 X! A8 {9 b6 Y
    cut(A . R, b* u* Y" e' s( g# {$ X$ f
    i
    ; N+ i, M. ~* y0 M9 t8 _! v6 I! A
    & g+ t( G6 F3 c. C/ Z5 k! m8 o1 K, e ,
    , M/ F% |4 w) tA
    : `- j. a  a5 ?4 n, k! Q, Dˉ
    ! b% m' h- P$ W( [0 k6 O9 b3 t4 ]$ I1 i) e8 {
    i
    / X. Q* }; q. i( Q7 F4 ?( b+ Z
    ' I; q# [9 i) q/ C/ X )* d+ S, L9 n: h' X6 w+ Y$ c0 ]

    # Q! h, ^5 n; M' N8 i9 s) G/ h5 B3 t+ T
    1 Q" |2 b+ i7 a8 b* S
    严格证明过程请看刘建平博客:链接
    7 E# _, w8 y/ [. R+ n+ 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
    6 v0 B' ^) M: }i, @9 F! n5 A. w! A/ `
    T
    " w0 k) ~9 S+ H+ z1 \/ G. k/ V7 i$ E2 Z, F) Y4 s9 v) c+ Q
    Lh . Q, y$ l& b5 z" O4 L# V2 E
    i
    4 v1 x8 J: t# h) U9 G& I' H+ q4 T4 R3 g% ]- t, Q: T
    ,那么对于k kk个子图
    # m! E9 M* A- o! Q1 j8 N- L# d2 m) O4 M# Z  _% p/ G
    N 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)
    6 z' K6 B& L- T" iNCut(A
    0 u; H+ I& }7 t  t$ q1
    . O/ w2 [) W! X0 ~/ |- [* F. p8 u$ Z
    ,A
    & `  \" J7 P" N; K/ L& Y9 i2
    + e* @9 u. f+ w3 I; N- P+ d% l% J9 ]8 i6 Z, I
    ,...,A ; D1 T: O' R7 Z  H4 m2 S* v
    k" F9 S# K$ u$ J" I& ^

    , E, R4 L. T, _/ e. y, W3 _ )= " o+ ^+ q) Y9 ~! J' O( l
    i=1
    ( O3 z& M9 j# ~+ |! R: l# V8 s
    2 A2 `' g/ T) \0 Q# c/ Qk6 I. J, M/ y3 U

    % f( F5 `  P& d, i+ u h 7 v; a. P  h  P$ H
    i" F* c6 S1 v! U; b$ w
    T; D1 r. z# J7 {
    * K- X9 H1 t( @" X& H/ P. i( ?
    Lh
    " Z+ F  I  W: o& N, T, J  d' K+ Ti
    & Z; V" E6 |; U& C/ {! `
    3 _3 D. f4 S$ L0 q# K = ; y1 V4 `/ O- @7 Y% i+ O
    i=1/ |1 }0 H3 a4 b) ^

    / |, v2 @5 {7 J% n* ?; gk! C: J* R, n+ D
      a" S  v" r; D) W1 P
    (H & J5 |8 M- T& T: m# b& K1 G& L* u  h: ^2 {
    T; G3 f) c- f) T0 p$ Q6 z9 |
    LH) ) `8 \3 s& v  R# u6 H2 }
    ii$ k% j, F8 O* K

    ( v" G/ U2 y# z! L" C: s; a =tr(H % G0 ?. A! ?9 p
    T
    3 U2 Q5 p7 L# K' S1 D) i* z LH)' v- W) l6 {9 _: l, [4 m: D
    , S) ^+ M0 @* E8 \
    但此时H T H ≠ I H^{T}H \not=IH ! R# {4 S# |1 B+ P4 s
    T) e8 }' v( T7 o) s% H/ `4 Q
    H
    5 b; y4 N8 e+ c% ^; Y
    4 i7 g7 `/ U/ {& Q7 V8 u=I,而是H T D H = I H^{T}DH =IH
    $ V" [5 f  N: I# ET
    . }" C2 e: }) g, u- l& C DH=I
    : {) G% [; _% h# Z/ U  X
    # \! Y& o, t% L  i0 R6 K) B这是因为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   |' i- m; A8 z/ p3 {
    i, I9 h3 K3 w; K" I( V
    T* b$ v0 k1 J2 i4 G6 J

    4 y* u1 L+ w% z$ K Dh
    " N& d/ J$ w2 `% t; I4 q5 ri
    6 A5 [) M9 l8 C* {0 J1 Q
    0 h7 N" ?! t/ r: v" E9 E = * L& A5 F! o$ \! r! z: {; f
    j=1
    + d+ s! b9 I1 i2 L' L! x
    0 J* d4 v0 N! Z/ O. Pn1 s$ K0 X$ k' J% E* m! l

    ; ^* P* L; N9 O( b8 w4 v h ' s/ w% x& A' X( J, Q
    ij& I, y$ n# h& S0 C) R, C* f& Y
    2/ m9 m' w+ F3 O" ~6 B

    ; ?7 Y+ D2 s8 s/ _  L d
    , N3 Z* _# V  x+ S- b6 Uj7 n, J3 y% y0 w7 Y( U, ~

    ( M' l1 G  x! d =
    ( B+ `2 C7 B: f0 b. }* s$ @7 |* avol(A
    ( e: Z8 o8 x; s. V0 V5 bi
    " u# O& K+ B0 \6 g/ M+ ~, }6 u+ ?7 Y; s3 G+ e& ]+ w
    )7 G5 B- e/ d4 Z6 n' t3 D  {0 F
    1& G" h" t2 _& h
    & v6 C( C; P$ P7 `. e

    5 H3 \2 C6 `* G# O5 O+ `6 r+ Mj∈A
    , E5 k3 I3 I  a% k& F) n, t9 |i
    8 S! y) U5 e) H' C' R: e8 F: {8 w6 Z+ S9 Z1 v

    ; {2 C6 j: F6 z- \
    6 y2 I/ h2 r+ k
    . L/ h' b0 Q, a2 v$ l# r; L( C: Z d 5 u4 @# `0 _7 r& k
    j. h8 r- s9 @' J; ^3 p2 C( L. I0 p
    3 t6 a+ f; n/ I3 ]# ~' k. Q
    =
    7 S3 R/ B1 V& ?) j4 g# [vol(A - R. p- y0 ]1 W
    i
    ; m7 _5 ^0 X, g! D- L' ~4 r% V+ T- `- d4 n$ o" I& }* [: i4 b  `
    )
    , r& z; V1 G6 D6 R6 |5 l1+ A9 K! f2 j' o$ W2 E: q+ E
    5 o8 E: w+ `) T4 Y* Q
    vol(A 5 E) s+ Z# _" W' s- @4 C1 {7 |
    i7 Y4 O5 v$ w7 h" P4 c
    & c. v: L! i  h/ j% }7 Y* f
    )=1
    $ j# b, I, i# L$ o  ^/ ~因此,此时切图优化目标为3 D# s- U! g3 ^: x) D
    " _; M1 u1 s# }
    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
    ! J, V% x9 v$ {4 P1 x+ R6 G4 uH
    2 l  ]0 M: }% J9 Largmin9 b% X$ |; j. V! I* N
    # z) T* M- m0 ?- z; w+ t* b0 P

    * V) F/ E; n% v( ?
    7 F7 x" ~* B" W1 e. v& k0 }) g tr(H
    ' H9 M/ ?4 L0 `( y  T9 OT
    ' g! F& L7 {) ` LH)s.t.H ! ^. v1 `# @7 [. \; x
    T
    1 E% M) J: n7 ?, Z  T9 {) L DH=I
    , u# i- p- P0 {/ Q/ }% W9 b8 \- O7 P0 H0 g: E8 }
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D
    1 Z9 G9 Q7 e! R+ i# L$ w  k* P
    ' j* K: C' i* K: u* ~2
    & r( q( ^! G' L1
    7 A9 Z, R/ @2 w. a- \; [! B1 w7 S4 D$ r5 n- D# `' t& r
    ' ?: b$ ^/ w7 F) k
    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 . B: Q6 W1 y0 P/ A
    T# `% X1 d0 T7 d5 A
    LH=F $ [% D. V. ~2 n4 P1 [
    T
    ) W' q" F$ A7 V7 Z7 n+ b D 2 b, j+ b$ E! ]& i/ m# j

    7 m/ a) x$ w9 ?0 `* @2 I: c22 ?% F6 E  Y' i0 U" n
    1. F$ f# Z; Q! P6 {

    9 ]$ e4 a. m  [4 z
    7 e6 y  a# p9 ~: N0 R4 n8 h# v* Y LD
    & g! l( ^0 V5 T6 t/ s  ?5 D. T; t" V" e
    25 c# b9 l6 B4 j  B$ K( s
    1
    : D/ r. @. ^, B) f! u: A. N$ x4 P! P) h) ~+ l! z8 U/ I
    9 `& ~/ V5 ]* `! d: Y$ {; F" ?; [, f7 u
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH # \) R* r. ^$ y# T  u
    T* P; R, w7 D! v& P+ I2 Q
    DH=F ; y* e$ T( y4 k8 i# \4 S& M  K, r( \+ F
    T
    6 T* d8 O. y9 G1 T$ H" @ F=I,于是优化目标变更为
    5 s" q# d& f0 r) C* \! Ua 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
    8 ~+ C' O3 _; h! Q+ SF
    $ j$ l0 ?) z- H: g+ F+ |argmin/ H% l% S0 U8 `2 V3 Y- I8 J
    . m% F, A4 N1 \* [" n; I7 {& R

      e4 H, z8 ?( X. H+ |/ k1 W5 ~) v, T, q
    tr(F
    $ S1 Z) h% r, _5 `' OT$ X! m3 s2 O9 r' P
    D
    2 m" u6 b5 f  l6 {! V5 B- `$ N6 @! C) K. N& G* g( |
    2) `8 K& v6 P: T! c
    12 O: ]+ K; \7 z/ n% Y

    $ J% W" i% ^# Q' @4 Z7 i$ j6 c3 u+ }( U. f
    LD 3 `  |- j6 B6 D& m: x/ p: ^* q* c; M; U

    $ E2 Z! G! ]; ?9 |% B24 x. ^7 }6 o" i9 D0 v2 ]
    1% W8 I7 f4 [) x, W7 U! a. j

    3 {5 D5 q. _7 A: A: ^. ?" I. M8 a" l+ g: y
    F)s.t.F
    ; ?- g; u" e' z' P5 @/ \T
    ; F7 Y9 s3 E& N2 s! ]" b F=I
    + H+ n0 r1 D/ O8 I% g+ f; r4 F9 U  O: r' ~
    现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    7 `# }1 R) r4 E6 E7 V) i4 Q' J! r1 Q* K5 q
    2
    , ~0 Y8 v5 e3 @  M* ?/ E+ G" [# C0 r/ C; @14 e; s8 t" \. D5 }2 g) W
    8 y$ @1 S- G9 q2 J; W4 L; W

    * f4 W# J6 f6 [8 ?' i: F LD 7 j7 G6 g* v1 q2 f
    ' [9 G0 Y& U7 @: n3 F2 @3 F, {
    26 |* x' y! r3 T' M6 F
    1% ^. [  r4 a! j9 h5 E- |5 U2 v9 {( Q4 \
    3 D: y: Y3 Q& P
    4 i7 T7 ^7 f7 G0 v: T/ X
    (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    ! `$ b; F( a$ r6 o
    + j7 |$ \0 B. s$ U: T一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D ) W. B& @) U9 t0 A" n' R& w

    % Q" B' y$ J; ]: w) I2
    + Z* R: e8 i7 Q1; g" j. t3 s1 U! R7 ~! F; S( ]  r( X3 I  ~

    . s/ X) I/ b( Z& z
    - \1 i+ y; D" s0 I LD
    ) n2 W5 E- B! a( A
    - g/ z; ?1 v( O1 a* n2
    $ _1 G9 o# S7 I5 m0 n1 W" V14 e* W, z8 r) _- t  V

    2 d. T  |2 V! b% d: E* O, ?: ~/ n8 n; N, t9 v5 O# N: n
    相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}}
    ; |: [  `0 i0 Nd . L8 t6 ~- u: G3 {  N
    i; I" L3 c" @) B$ N6 \& ]) j
    - |$ D) j0 B. Q! r# C
    ∗d " W1 s$ J4 i, v/ w8 `: m( i
    j6 _9 |! e% F' ^! x3 ]3 s
    / ]8 d0 P/ x) Q; v6 G' R; e
    4 C  O# Y5 ^4 T8 J7 Q, }' ~

    # }! j1 s' u; K/ W5 ^8 l; @. F) V$ T( d7 Y- G
    L
      |( N1 K. ^+ _7 ?+ _ij
    ' {4 ]3 D1 J2 C; z( `2 ~! Q$ ~; v8 c

    6 k) v- E' i$ d) G; \2 `! o% Z6 T) ]$ y; A4 Q$ J4 o  j+ ^5 e3 U
    & P) X3 M9 }) R) R
    二:谱聚类算法流程0 j8 R( K9 b3 A: }* Y- B+ h4 q
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x % e6 e$ \. ^$ a4 i7 p
    1
    6 M5 Y3 {9 H9 S( s) _5 ?) U4 z- G0 C4 i9 `/ x
    ,x ) I, R6 f, z% i& s8 y% T5 p6 m5 P
    2' o% q! i( I$ X

    6 \0 u* }3 N, D8 s2 @ ,...,x 9 T8 V, s) |) z
    n' {  o- `; _! G1 u" |( @' q
    / w, ~5 A3 t% J/ u
    }5 p: W. k- R) {

    9 G( M! I+ T' @* G根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)* Q# l' q8 Y+ I' H
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD3 X) h; d+ ]4 f8 f9 Q
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    " ^3 f0 ^) ]/ j8 S1 Y- H得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D # L9 u: `7 w: S  h( u9 m1 l( v
    ' b9 G/ _* K1 g
    2+ w8 U1 u' H, ^; y) z7 C
    1  U$ c) h, G: u0 X- y

    + ?1 t" j/ n: J  Q" |, }9 m' C6 a+ L# n3 Y
    LD
    % E# r. z/ `" q3 d3 B5 w* m6 S$ X/ T; c; O  o/ F
    2
    . E/ }$ f' Z( X$ o6 U: c6 F1
      o5 f' A" n, u5 H! B; R5 j; g1 g# p1 i& O6 X3 k7 m7 u! D! K
    ! P. v1 W  Z7 W& C
    * C: X3 v) Q8 C) x- @. k2 f1 w
    计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 5 |# t+ N  t( C! @- S. q0 v1 u
    # }8 {7 T/ I: r, ?( j
    2
    9 K' p, m2 T3 K2 B; L- P1 {1
    : z6 e! B+ @" C0 Q1 e5 l5 J* N# g* Q- @; P

      u/ u( e/ u9 |4 f7 ` LD $ N) U9 |# @! S

    / k7 v1 `( j2 G% K6 O2; A8 P8 I2 D1 q- d: p2 X3 t/ p
    1% c$ |' ?7 _3 ]8 O/ T

    + S* W) y" y  _8 Z4 I* k: z( m# E8 T7 `  K$ {  e
    最小的k kk个特征值对应的特征向量f ff  G) m( V. @/ G- g: b# V8 x
    将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    : l# J6 @- B# O! b! [; q+ N7 ZF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k
    1 u. i* A- w$ K1 c# F: k2 W" _( G1 y
    6 C  S7 p& U: B. {! |% a- k/ p$ M& e( V" j2 f
    得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c * X8 N% F3 L/ U6 @4 K* a& R9 C
    1
      R  B! z& ~6 r& ~9 U/ |: o, S! D6 H; u. W+ M; i
    ,c ; @- w8 k* @/ }7 O' j
    2
    $ O9 F; @- u; z1 X* R+ m/ @! N& P4 S; D( F4 x4 c
    ,...,c
    1 m7 F, K, x8 @% ~6 |% L' Kk ' Z- Y0 ?. [8 b. X$ x: I* r
    5 J, ^/ p: i! G8 b, w' [6 R

    " z9 y, E& G+ R  n
    3 |: @% H1 E7 I1 z3 v: U )
    $ U1 H$ [( S/ t3 o$ I, Y三:Python实现
    ( F. ]( g9 l  h+ eimport matplotlib.pyplot as plt8 `  j0 N9 b  W* e; C
    import numpy as np) n. F$ e/ J# @" ~2 C
    import pandas as pd% M/ a) Y9 _+ ~8 @
    from sklearn.cluster import KMeans  h1 A+ D; I2 G0 J9 _* h
    from sklearn.metrics.pairwise import rbf_kernel8 @3 u- ], d, {  `! Y7 e
    from sklearn.datasets import make_blobs
    6 }- L1 ]3 F3 d$ y2 Zfrom sklearn.preprocessing import normalize
    ' {- e6 ?/ A6 n. J' m* t6 `% ?. C. A. x+ J
    def get_affinity_matrix(data_set):- x4 R! }# T, @- {( i" M4 ?% Q' E
        #  利用高斯核函数计算相似矩阵(全连接)) o4 n% S; h, k* O: J4 m
        rbf = rbf_kernel(data_set)
    " b& W" \4 o5 E2 A- l- r7 a    for i in range(len(rbf)):+ a) e- Z. z/ v* C3 z; y
            rbf[i, i] = 0
    * ~6 P, L( Z/ A5 i$ V    return rbf
    3 h8 Z( Y: d+ j, y4 @
    6 u2 t, g* r4 x, k3 j$ F! W3 @
    def distance(x1, x2):
    0 `- {" q4 w5 I; e( n    """
    % S9 o4 l- `# e1 E; O    获得两个样本点之间的距离( c  {& `- m$ ^( r
        :param x1: 样本点1# h2 w" X. J# d0 Q$ b- |
        :param x2: 样本点2
    # C0 p* W% C" M) ?    :return:) B9 n. x2 [, Y1 M
        """
    8 B, c! {' R/ [* O, v. P    dist = np.sqrt(np.power(x1-x2,2).sum())
    ) a8 |1 h8 n0 T0 H% ]; _; t    return dist
      z2 X) X9 W$ g+ c% q
    % d. G" F1 D3 F' K! C; D( Ddef get_dist_matrix(data):
    3 o0 w1 D# B: l$ J    """6 B( i! r3 j1 z- B- s
        获取距离矩阵9 M* y4 G7 m9 D+ V# O* j5 \
        :param data: 样本集合. q( m+ X5 l7 k
        :return: 距离矩阵, U% h3 j8 c4 y9 K! P
        """' w2 ^7 c" k( n: d
        n = len(data)  #样本总数
    ! e4 _8 |4 @: R    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵$ p2 u' e8 w% z/ T) C
        for i in range(n):
    + @# t+ l  f' s& B        for j in range(i+1, n):
    / P- l* U* n+ ]            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    $ S$ ~3 g$ |, f0 a% O- S    return dist_matrix5 [# ]" H& S0 c/ m

    " [% Q+ |2 m9 mdef get_W(data, k):7 x& g& W$ ~6 p& a$ s# b
        # 获取邻接矩阵(K邻近法)# j/ K3 G  }4 H2 X
        n = len(data)
    2 w4 U2 O1 ^  Z3 g1 u: s    dist_matrix = get_dist_matrix(data)- N6 D$ I: v' j8 Q. G
        W = np.zeros((n, n))
    : M7 y6 B) r+ A, l6 \" M9 r    for idx, item in enumerate(dist_matrix):
    + Y3 T4 k9 {4 Q' l/ D) Z, ]7 {& h( U        idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表. U1 ]0 z4 m- ^5 U- N
            W[idx][idx_array[1:k+1]] = 1- h5 \- R5 X0 t* U% J& m2 w) l
        transpW =np.transpose(W)
    # w! I, I, i4 @8 _( ?# e$ ]    return (W+transpW)/2& x! ^) z; ]6 C& v; [" X

    3 Z1 ^- k( T0 g( z  i$ r; p( odef spectral_clustering(data_set, k):7 R6 g( Y( E! v- h( l% U$ l
        # 利用相似矩阵S得到邻接矩阵W
    4 i  E& V+ x0 U. r8 q) ~: U    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    * I; z8 U1 i; e) |- U4 T# Y: x( |    #  W = get_W(data_set, k)  # K邻近法' h9 b& g! D" o" y

    * ^" _5 l, I6 \    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵). J. D$ m$ V7 O; N
        D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))
    + S$ h% g/ c2 L* h1 O, L8 G
    . z" f+ n6 N6 {2 z    # 计算拉普拉斯矩阵L=D-W
      X* t0 ?9 R8 A; n8 e2 |    # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
      @1 P. W3 ~& y. ^1 d% D    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)  [, O" t+ C' d! H. }, Z
    4 G8 U% |0 C0 w  z0 f0 @2 }
        # 得到特征值和特征向量) _* X2 {0 c! b0 d# y8 w+ k
        eigvals, eigvecs = np.linalg.eig(L)
    ' @9 @; V7 i& U! g5 X
    , J8 u- ?' u7 w' z8 P* j& |    # 找到前k个最小的特征值(索引)
    & p# Z& E0 Y' c; s    k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    ! \! Y) F. F. I9 \" W4 {+ |
    7 \0 Q: ]: V6 H8 `    # 取出这k小特征值对应的特征向量,并正则化
    $ l8 `8 l5 J& f# C    k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])# k' V5 ^- r3 e0 T+ M- z$ w
    5 O! m! {/ ?1 O8 |/ t! p
        # 使用K_Means聚类) r* s3 J! r: I4 J
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)) a" {" c9 M3 ?

    8 q7 t& q  o& f9 `+ k% ?0 x4 w
    % ~) P8 m& X( u' G  _- ~raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)0 q& V. ?# @. ^; L, w
    raw_data.columns = ['X', 'Y']
    ; x) c: D0 s' @/ h4 N0 Z0 Tx_axis = 'X'
    2 h! W8 r/ B- M. X1 s# Ty_axis = 'Y'+ ^! h) \$ }& v0 n. p

    5 A7 t2 u5 O* y4 p. zexamples_num = raw_data.shape[0]
    3 T+ g0 m% N' i8 I9 w# `train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    5 q( Z1 O. }% A5 B% G
    6 Z% w- k; [4 j( E! u4 V
    3 S4 u: f3 a8 u3 z' g8 nmin_vals = train_data.min(0)8 K3 M6 \. B( j+ u" Q- j& @
    max_vals = train_data.max(0)
    ! s( ?$ P% D5 _7 V" E- oranges = max_vals - min_vals
    8 x! ~2 a* u+ j! Q/ I* R( vnormal_data = np.zeros(np.shape(train_data))
    ; j/ P: ~9 Y- @  z, |1 ]5 ?nums = train_data.shape[0]1 r8 B0 k, q4 Z" ?/ g+ p6 V
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    ) S9 J. u8 O. N9 V$ Q8 r' R0 gnormal_data = normal_data / np.tile(ranges, (nums, 1))* L% `$ p: o& ?/ }% g

    5 H; U2 ?& f# E4 f0 Rlabels = spectral_clustering(normal_data, 2)
    & ]! s% a1 j0 P. C9 s
    9 ]4 W8 Z* A2 c& s  _) x8 F8 b+ A# 原数据
    2 b3 s# b- j7 }- X; D2 \, z9 Xfig, (ax0, ax1) = plt.subplots(ncols=2)
    & R" Q2 N" [5 v3 M$ v6 h+ Qax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')" z9 x5 i( t1 X! p9 W( b+ J" [
    ax0.set_title('raw data')
    2 N  w/ _8 Q+ P# u  T8 i. e# 谱聚类结果
    ; }& \% z6 g  X- rax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)
    ) }1 [# L5 b% t  m' I. {" w5 Aax1.set_title('Spectral Clustering')
    - O3 k! z2 t% F" O9 N
    $ l' L* V6 k: T' p* oplt.show()
    2 u9 b7 a, A: X5 N) r* u% ~  l4 }' I# p( S  }; f
    1
      G# m. z- [4 @# s% L20 n; |# r1 C1 f2 x8 J
    3$ o" J& k1 t4 }- k: m! s8 A
    4( S& v$ M( j& ^, r: b7 w, j
    51 O# c1 o3 v  c4 S. D
    6
    9 I0 A7 j! V7 N1 S7
    # U' L; L( ^6 s% F( W0 A) M86 p" _7 E) K; Y0 _: W$ C7 v  g2 o8 Q
    9' L1 d# y' M) j# p
    10- x5 A9 G! e* {, V  y8 @, ~
    11, s: L) o$ g/ J5 L: L, N
    12& C/ L, w4 h0 {! l' E2 V3 }
    13
    0 R9 p, G$ M, m& {9 {149 p, u/ l- ~9 w
    15
    ! k- B& Q5 a* C1 J, ~- X0 Z6 f16
    5 _: h' y4 R+ T& J. y17
    $ L) N* S" K7 C& @18
    # y6 o4 }5 @7 i0 v% p7 Q1 n19
    0 D8 M# d6 Q& D& Q5 ?3 j2 p20# p5 f6 \8 x8 I2 b
    216 g0 W" g( q3 A- d4 k
    22- j3 X+ t& Y3 V/ \
    23
    6 u) B2 A1 n% p2 r" _' B- t24
    2 r" _6 w, k, C! t25
    7 \7 \3 I# H) `$ H5 X. |3 N26
    " ^- y/ J2 t! {8 O, E27; P' m& H! D8 A( ?4 h$ s* P7 G& z
    28
    , |) {' l, M3 `7 z) Q29& ^6 {, U. a" J0 f' y4 E) v
    30
    ( I+ J9 o7 H  h  _0 r4 q* `3 @315 L7 L5 L5 r& j) L4 b, J
    32
    : k& B: h/ }7 ~. I0 U33
    9 c' ]/ G4 m' L4 _/ P* D) T34
    % g- h9 S6 z, C35
    9 W" J" k9 u) B! T36& |+ w4 L2 F$ U, e' Z0 e# b
    37
    . J% x5 N1 c, h7 g' K' P; m38' A' O$ [0 h9 w. r& ?; s7 M
    39
    6 i0 S4 m& C- C; G* V2 @40
    6 b) \& Y" B1 F5 d+ W41
    : y. y/ V: B# ~1 s421 U( N1 w  E" U4 C6 D$ g7 o
    43
    1 ?- Q5 i5 I" L  x6 T44
    ; H- m" h* I! k45
    : Z0 `! y  D/ C46" W" O5 o# d4 c
    47" D* d% W! H% Y. r
    48
    4 Y# D- I+ m& e5 C4 }. f( b49
    % ^& E3 c9 c/ G; _503 |8 m! W* M, m
    51! z4 r  L; v. J* H, q# d! g6 J; x
    52. n; D/ g( \4 e: @
    53
    8 B' r4 M+ [) l4 O54. l/ p; [! |$ f
    555 C1 a5 h5 S6 g9 K  ?
    56$ z: N0 n0 L+ C' G( y9 {
    57
    . @4 t* I% v" p) B58% ?, \0 @7 C& j7 N) Q7 i* b
    59
    & M' x( w6 m7 a! O/ [& |, X4 V$ P60
    % q( h5 y$ L( C5 C; B, C618 f, r9 K$ a; o! I/ O7 X
    62
    ) f$ Y7 d7 }! X63
    7 x* y) O8 C) V6 B640 S# R- ~# Z4 I4 ]" E
    655 R) g( g$ ]3 |% s5 n6 S/ ]2 W
    666 b+ p; V3 U" Q- y! H1 M) N" @
    67
    6 `4 q6 |7 ~! |8 P687 H# h, ]! Q2 s( ^/ c; w0 s
    69
    . R+ e4 j% X; W( b70& A$ p% O& Q5 U) C( o. m! A' }3 M
    71" T4 {6 ^* b% z5 Q! U3 R
    72
    # g# n( B. |$ J$ d73
    6 I: E/ x. q7 ^1 L/ ^3 z74% @/ F' ]$ D# }: E. F
    75
    + X5 e. Z( S8 K) Z! }8 M1 Y" f3 T, P76* [8 S, _) g5 h0 }  [3 B" S
    77, S) ^$ \, @, q! q0 R( E7 h
    789 j* w! `9 s. c: l4 U& q0 Z
    79
    * }5 K, O2 e2 Z) P" {80
    . F% t1 |1 _% f; |% V' r, u1 {81
    * N: p* b4 l" L; n) ~( L4 J! S82( ~( W+ b  [0 g3 P
    83
    & q4 a; \* A6 k5 O, `84# R; e- |4 p1 O% H2 R! j
    85
    6 x( }5 c4 T+ ~7 `86
    3 E) I2 Y- f; m# R3 Q9 O. g8 P+ C87
    ! T- ?3 ^8 R0 {88
    8 P; H* I7 s0 x2 G2 U- d89  r! z# h  W; \- S; E7 U
    90$ V/ w% J$ h0 l6 j
    91, O6 D( G. L: f  g" U/ b
    92* E( x: ^9 [( |% l5 |$ Y& G( y* z! U
    93
    1 d/ Q+ P7 Y! d2 f2 u94
    " \3 n( G; v/ i: R: r& w, P9 d95
    $ N3 a9 H4 s( l2 s96  I/ _1 }( P. z% a
    978 R" n5 D2 P" |" u. @; C
    985 z" ^8 _! I2 N7 l  a( I, z, j1 ^
    99
    2 I: ^3 }/ ?7 |& G" d" G1 W! I100# g$ S% O3 Q5 H6 }
    101
    4 i( _4 }- c, k8 Y  M2 P/ M102
    1 G8 e4 _# S5 J& @: T103
    8 [, p0 _5 u! Q6 b1 {, }(高斯核函数)( J3 h) v5 G  q  {$ e4 R0 {4 o) K9 o
    ; Q" j8 Q4 D! i) C8 @9 N" @* y
    " l% x. T7 u3 y5 ]
    (K邻近法)
    1 P# z9 v+ [3 _1 g
    $ Z" p* @) L; T9 G6 S( H) T* Q7 k5 V1 ]8 |
    四:谱聚类算法优缺点4 \/ A5 c4 h4 h1 |- e
    (1)优点
    ( V# B+ b: y( Y. c. X4 `# j- z谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效
    , g& U) ]6 P( |, N1 c使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    2 b5 D6 Z7 m4 {1 p8 |( y% @谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解: h/ r$ j4 \! c, D
    (2)缺点
    . G  L" ~( C8 c如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好) T$ w0 a8 d- I% S1 s' z6 T
    聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同
    $ e& R, m6 r, b8 ?3 ]————————————————3 e7 J* ~2 l! ^0 q
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。+ ~8 s0 k& d6 J( r( c
    原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494
    " @' _% |4 I, Y1 V
    ' j( j5 x4 @2 I0 a. j0 v2 F7 W1 z$ `) k' n
    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-15 15:49 , Processed in 0.468277 second(s), 50 queries .

    回顶部