QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2282|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现
    8 u& C; A2 r+ r9 j& x, o2 a, h! P0 n$ s. L- h% W* S, O. d# L
    本文部分内容源自刘建平博客,在此基础上进行总结拓展# t: ]- \5 f% ]9 D/ w) C4 j9 i

    ) U' ~1 p3 \1 J( x原文链接
    * a% J" X+ j/ c( J1 m( y& t0 n文章目录. I& p( Q! D8 M/ Q9 s! ~9 h8 h$ p
    一:谱聚类与图划分
    / e$ P$ y) G1 p/ a: O& m. U; C( z(1)比例割- X% x; i% ]: q: W& g0 U7 }
    (2)规范割(常用)
    " H3 C' H8 m: d0 ~2 n' H二:谱聚类算法流程5 T3 l+ z* y0 Z$ D' g
    三:Python实现) N- c2 G/ g: B9 Z$ ^( U  Z) e' V  ]. r
    四:谱聚类算法优缺点
    ! [: y: i4 p" r) L/ x" Y! A  u(1)优点) m, T4 h, T- x2 K8 m7 ?0 X
    (2)缺点
    ( v1 S3 a2 o. x1 p4 ~! I1 |一:谱聚类与图划分
    8 o2 y: o* `/ B& U4 y" K" \" L/ n3 p! T无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中6 e& x; ]# i" n) i# G' H. s

    & N. Y1 m: s8 e1 F+ N  r每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    6 e8 L8 ]" ]8 H! V% ^; C) y$ q& ?19 U5 s1 r+ ^2 P. b
    & U4 r' N' Q+ x! ]8 V) W7 a
    ,A 8 O  ~& x+ O' k
    2
    # X. p" G2 E" M: c- n1 P, M) _9 w3 {1 v7 E7 Z0 k" k- B# b
    ,...,A " S; b9 E" P8 U. J4 k$ w
    k
    ( a& P: E  r, G, C# K$ Y0 c: L; R5 E( f# c) K
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA + d+ U4 H; t; l/ T% u- Q8 f/ \/ l
    i0 G: D% N# |4 G( y/ F. Y5 K
    ; e1 Q! {' W# s. Z* t. m! W+ [+ [% p& s
    ∩A
    ' Q0 h& J1 R8 }) Q' zj
    2 O" V* r+ n5 ~0 i/ P9 s
    2 z% x! r5 O) V =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    3 ?' @: j3 M! S1 n2 _7 i1
    - f9 }- `, J  X
    4 ]# J8 A: `* g2 }# X* L ∪A
    & U% O' l& c' i( E6 g5 y2, y5 v) G% g$ X& C# h+ o) q

    ( T( P- `, H8 t0 |! B7 Q; c ∪...∪A
    , Y- y; k: v2 ?1 J4 {k
    / O/ `& o% R. e# x, Y, v; R1 X! U; w# R( T& d8 u
    =V* m5 C" d9 ^: _( k- O0 T) K
    对于任意两个子图点的集合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)= 8 z. M, ]) Y8 w) l
    i∈A,j∈B$ g. i8 w! i  o$ f' Q& X3 B

    # p* K, j1 g6 t$ ~* a: g  o
    # I7 P: H/ S7 G: } w
    ! k$ J2 i& r% s& x0 Fij
      x3 k- I7 m/ p" {& S; m# ^# W1 K' w
    # L7 c" R: \& f5 L1 \. j$ w+ [
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A 7 l) b8 f2 w4 |" U+ y) Y% Q' j
    1
    * `/ L+ z$ B% e0 e+ ~
    . Q) @% V: c0 x- j7 T ,A . ]# i0 |4 B, e2 V1 N2 {' G" E% M
    2' X0 X( J" l1 e% l. \3 R

    , C9 z* s0 v7 s ,...,A
    , J( [' V. Z: S  E9 F  E1 s1 ik. B$ \& ^  _! F3 Q) ~- S% R
    / o  {9 s  R0 q1 h4 z4 @- \4 b
    },定义切图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
    7 H+ c8 J$ v  L8 T2 O  d) q1; L1 v3 y: f' X8 D- t

    2 [4 [$ _2 q; e, T- r8 o8 z! v ,A
    . d4 b4 q7 X: F2 W% y- \( h2
    * O; d0 C" \$ m$ A1 \& v, ]; \4 k
    + W/ D/ N$ V2 \- x! { ,...,A 7 x  K$ H" w% k- A! q
    k. L+ I0 `& }3 T$ @& A
    2 r$ P3 v. I) v& f1 z; A* \+ v
    )=
      e. Q/ J9 O, J. Y0 T1 a2! @7 i9 N# v. @9 U( ]
    1) A* _; p' C2 W9 U6 |

    " V0 ~7 U9 Z6 t2 T5 J! K- j2 ?" \% u5 O6 k; n
    i=1" T" E3 {8 T: W2 P

      J+ y, o* @. a0 ?% j: m+ pk
    % U1 u0 P# k" C1 ?& R: u7 V
    * c( R9 `$ _5 H# e2 O W(A
    : N/ |- V: s+ S# n; vi) t; K2 P0 _1 J

    3 ^. g9 `3 K6 O  G+ J9 |: l- w ,
    * b6 d; w" c5 a$ V! hA2 b0 [$ j: a+ F5 t. J6 D: ^! o1 E7 I
    ˉ" a. b8 E3 g, k; ?( S
    0 j+ @, s0 t) E& U- o
    i) o5 P1 E  s! D' Z
    2 ~! x5 t$ M3 c' ~; O1 n
    ) (其中A ˉ i \bar A_{i} 5 N0 d; I3 x% g
    A
    8 `# T) M0 y5 ^ˉ
    8 X' {& Z' p5 K& h1 g$ X( i3 b
    1 v& a% |2 x) ?; W0 a' h2 @, li& H4 R! e, L# Y" t

    0 t9 Z: \. M! h/ q8 u5 G/ U 为A i A_{i}A $ n+ N: G( G- Y; S$ k
    i! c% C4 D6 ?, A4 X5 P$ z( d- d1 B% L! l

    ' Z) ]" t  }4 H/ z) Y' q 的补集)
    7 _  s! y5 p4 P1 R" r' K2 W可以看出,c u t cutcut描述了子图之间的相似性,c u t cutcut越小那么子图的差异性就越大。但是c u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) cut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}W(A_{i},\bar A_{i})cut(A ; ]: Q2 i; A# m+ H2 ~
    1
    5 c8 c8 P  e& S% |2 D4 e% O
    9 x' K! j/ y. V. K+ N. [ ,A 2 l* [  ~* J: u2 t3 G6 c
    2: n0 ]% y6 n+ f# _, d9 F( I6 c

    ! R* l) K+ R6 M$ Z0 w! F7 q/ k! X  y ,...,A % z( }) j6 W9 W
    k
    9 o- U+ Z2 N: z/ @' u! X* I# X' k, A# i9 e
    )= 6 Y' t# J/ I- X  B8 C; ~
    2' o7 b  q6 ~8 C. ^& t9 ?
    1
    2 n" o5 A! D& G# _1 h" U4 V/ u# l; q* @# K( d
    ; p' i% w  S% i; ~! t: g
    i=1
      p: K7 x0 e/ b; [! l
    4 K' H# {" U8 [k; E1 C% `# y1 f2 ]2 R6 G2 w

    ! M1 o5 Q& o7 e2 F0 ?( W* r W(A 2 V5 b" N+ C! }" G) L
    i7 v& ?; A$ ^' q. ?  l) f% i2 P

    8 Q, ^! x" v# V" r8 r2 y; a ,
    * M+ O1 m; a6 x3 d3 fA
    " _3 X# w& A# W$ E5 p* l/ aˉ
    & p- s8 `, U6 j4 z* u5 t- z; D
    0 M* a: `# W/ P+ f, mi; B) x9 _( [/ b8 G& {$ Z4 e

    * [1 ?. Y$ s8 ~& b )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
    " h  c2 o" v7 D( D  J3 Z+ u1
    * D4 E& c5 L' z5 O' ^: j2 o1 Q% }, w9 q2 T5 |0 f- D
    ,A : d2 e5 v! W  M# `$ [' {  ^6 F/ C
    2
    5 J3 b9 ^; {) R- @
    2 X% }) e$ k/ u/ J6 @' ~4 G  W ,...,A ; g5 P0 j# ]1 O
    k
    : h7 N6 _: V* Q4 C( J/ X
    & }4 R; b5 m, M9 |, Z6 T: c )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡
    # u  h$ Q7 d& r: l  F6 w  c! u
    9 G) Z7 A! S! W$ g, t3 R& y$ F例如下图,选择一个权重最小的边缘的点,比如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 " g( [/ S& l6 o) _
    1
    ) f0 J  T- n- N5 K! M1 _) c2 Z( h0 G& ~7 F' Q
    ,A 6 Q/ A! N/ A4 W2 j' m" H
    2( z' B/ G& P6 X
    / V$ b  r+ I" j, G! W9 W; u. x! y
    ,...,A 7 J. t% k6 C' d  d4 a
    k! T% L0 H3 n- }2 R% i) S% W

      x; A+ _+ t  m' n )但是却不是最优的切图
    4 L8 g5 Y. l# N# H
    - C6 C1 ^! }/ F$ p! ~5 w为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割+ P% P; Y0 _; [; j' J  G
    % v: [, h' j- R6 @
    比例割: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
    ' d& @) J2 r' Z1. T  k$ K' M4 R( @

    . d+ u1 e  I- R) d( Z ,A
    " h" Z6 j# T1 L( f3 x7 N2( E, s3 `0 R: l
    " }' [' d+ }1 V+ d  B
    ,...,A ! S0 s) @0 c' \: h) ^
    k
    3 q1 \8 ~/ U; k2 N' j% \) K
    % \9 D. ~% S- r; ~$ x )= ( a- j8 l7 [9 D+ ]) d8 N
    2& K5 A9 [' k* r, ?6 c& w
    1
    ; I$ Q" s- x) m4 i+ c& i4 z+ X7 P
    + N* a2 `3 O/ W5 `8 h  G4 e
    i=1
    2 u% L1 ^1 ]% j, O7 F; }* }3 @) I# C& b5 i
    k2 P/ ?, N+ S1 Q" ~1 R& _

    2 r- m0 a2 L9 |# t. F; z9 k) K1 s1 d: \( M+ L
    ∣A
    , q. G1 `8 [6 {- w" X% h3 li7 ~3 c+ [. T) P' K! N6 {
    0 X+ K9 q5 e* t
    3 k6 ]& k, I4 s
    W(A
    . O7 A# F. I. wi
    7 P( _# F4 s3 w! ~* v% w# m# H& p2 i- M6 m& u: e3 \. i$ O
    ,
    ; U' G) m7 R; v8 w, R& {A
    & X' x" P- O. nˉ
    ! _  ~' S1 u0 n; q- j  S1 d& v% a' I. w, z; d" {
    i* i( I+ o" p" U* z* P3 `
    + M7 {* p0 `5 N4 B4 `; X
    )
    ! C, |+ D  N1 q9 |- H: P; S1 e) y% Y; r3 P' f/ j$ H+ {
    " k4 i' n% V# Y. A
    规范割: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
    # ~; f( b+ P  j+ n1
    2 C; o! l3 w. i! T9 A; t. Y& b9 n7 t/ H  f9 z! S& p
    ,A # `3 b) s3 G: a/ P3 @0 G/ d
    22 g0 w2 o( K+ S+ w1 Z( K1 {* v, y& l- t
    3 C& k1 ]2 F0 f4 t6 `
    ,...,A
    ( U! `! l! r# g2 |& Tk
    0 I0 Q( ]: \' R
    3 M; S: h5 a" {/ K3 L8 |( R )= 0 p. h  f! ]8 S) w8 T. [& H
    26 v% K( `5 ^$ d. i7 Y$ I. B, i/ p
    1
    7 a) m) z; B, w! T* K! |" P0 c/ l3 C
    5 [5 v9 Q2 B- y* T1 P3 ^
    i=1$ G9 X: V5 d" z# |# r
      [) G! i- n( @! }7 H3 `; Y
    k! f5 e; v, T. b! t

    $ H' M6 l; N  \( U3 Q( h% b) h* u" H/ X4 B4 X. g, H# m% j
    vol(A
    8 n+ l- X$ J; [0 Pi' a5 u5 N0 ?: l0 `0 h( ]
    " A2 g1 O2 D- S1 ^* M
    )
    * e7 K7 I3 P1 v' LW(A
    / V; r; a" {# ^* L* Hi+ \( K, A, Z/ Z" W2 g
    8 C3 S  Q  _) G. H3 A& A
    , + X7 V3 d" p, k; f* D5 i! l" m
    A
    3 Y1 _2 y8 g- ~2 yˉ' _6 [. a" K) v- Y3 O1 Q! w
    $ H3 F2 H& _& d) \: j0 p: Q
    i
    8 r5 b9 }* @$ `& g1 U7 N  I$ w
    # ~( P& S. n( Z3 }0 ^ )1 i0 C+ ]: K2 ]7 E
    9 {0 P4 [% y5 {+ n8 ]! _+ J  w

    ' O' x& I4 J/ d& b- U(1)比例割2 a* C6 O2 a5 e5 ?) |6 `
    引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h
    ' a" B+ G! y2 Jj
    + x4 I0 Y0 r# e5 C9 h7 s4 o" b% \* q/ N6 O
    ∈{h
    ; ?2 k6 F/ N1 `) t. z  N' W1; u8 G5 o/ M! }) R0 _+ ~) z( c

    8 Z' F3 W3 ?& {! t% H- C3 X ,h 7 Y- `0 W* O! I; j
    2' W+ ^# p% u5 w
    0 }# U# {$ g. q
    ,...,h
    " b, j8 K$ \+ r$ rk( X5 n7 [" _1 ]( t% _( j
    ! C, b% M' b5 S" Z, b
    },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h 8 L7 _+ F( S* m. |* m! _
    j
    & C# j" S( v" K3 {" ^. F  A# Z9 v+ o% m: v  `2 a
    ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h 9 O+ u3 I$ P4 P0 B* |7 j& I
    ij; p! O# [3 K# f2 G) t

    : ]4 B/ v- H! L! U& S+ l 如下
    * n, c2 U) ^$ I( e/ U  I6 G. A7 W6 l4 g. Z
    h i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    / t0 ^8 D2 i" s0 Y0 A{0,vi∉Aj|Aj|−−−√,vi∈Aj# F0 p8 S1 E- r% v9 h, h: L( S0 P
    {0,vi∉Aj|Aj|,vi∈Aj( f/ D* ~" k8 G4 o0 ~, K
    h
    1 n5 ~; y1 T  @3 E9 o2 j4 qij& p2 {5 Q# F. O7 Q9 S2 X

    8 T3 z5 T/ V. b/ p3 i ={
    8 Q1 Z; g4 J& t1 r, J6 f( y0,v
    0 J# D0 D( L, F, h& m3 r5 yi
    2 ]( `. s! {0 `3 W0 Y( {/ @, ^
    - Q5 u7 X  k; }/ ~: x( W
    9 V1 v( {- x) A- v/, f1 {- }- R8 }0 D' d9 g# F. A0 k- `* F
    A
    + ~' L* f9 q% X4 u5 k$ Zj
    " U/ Q# ~4 s) ]1 G& r+ b7 X; y/ Z1 q, Z4 V4 U3 k
    , N9 w3 z3 Q7 t" l  W8 S: Q6 g
    ∣A
    3 ^1 x' n& h6 F2 `- u2 K& B0 ij
    ) G% H# w# }/ C9 x; ?5 c0 B8 A8 C% x0 Z* b# {2 e! b$ Y

      b6 b( F5 h  H4 Y9 c' B) Y; L! ~, P+ {5 E: @, l: q
    ,v 7 L6 c( n1 a3 B: g
    i
    6 ]1 G# d! g/ j; `  I4 N5 h1 c- e1 `" _! i
    ∈A
    ( M2 t: }: v, M: Q4 P  ]* F  ej) Z5 Q  \/ f; b# A
    $ G6 K3 x0 _& r  g* @
    1 c+ W, d2 W" l7 [5 F. W
    . y- C# o$ |: m5 X0 P5 ]4 q
    ; ~5 A7 J8 b% j0 E8 J- p

    , F$ Y! e: p/ r; c于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    6 @+ m+ a+ D) ii
    + \% b. @4 Q, X) y1 ^. UT2 f" q3 y+ R( P' }

    - t" x0 ?. i" E! q0 o7 o Lh ! ?- q1 M& b# x5 h
    i
    ( a/ |6 Q. j! U3 v% ?
    , N& I2 w, f. M' j" Y1 @ ,根据拉普拉斯矩阵性质可知6 X$ R: y# u+ m: _
    - D' D4 L2 h: h4 F8 A
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    8 `, b: X1 H3 P1
    3 Q! P3 X$ ^' `  C6 k: J) Y9 e2 j7 j/ J: ]4 P
    ,...,f
    * k7 L3 u. Q4 f, |, D# Z' i" y0 Qn9 M3 y) m2 S  d- e0 k0 A
    + B& ^6 O5 D2 x4 W9 j( N3 I
    ) * _  V0 O' b6 u) S
    T
    7 r' H  v( X1 d. E ∈R / _; E* g: l# l4 s
    n9 m4 \1 L2 T% n" Z7 W" K; 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 # S$ t  A1 M0 L! b
    T
    / o8 n7 r3 @* M  C Lf=
    2 g* Y* N8 }5 D* Q2( j6 h! Q+ E; I4 q' J+ h9 N
    1
    + o1 K' s1 X7 j8 x* H3 ?! y" Y9 N5 o* b7 G

    : x" V; `$ _6 P) yi,j=1
    ' [* \1 z/ i1 z/ a  w( N
    * l8 L8 G$ J* X( k0 i* |n: ?# n2 S+ N0 d& Q

    . v+ t4 M; h/ ?" U w
    % \" J7 }% C( r' J* J# |% h' @' }. X4 R0 mij& A- B0 _/ ]6 E! T. W) u
    9 @1 u6 C1 _  k' y$ j2 {7 T
    (f
    / d  K- Q0 l& x1 t, P  P' ~i7 N; M; K) ~; A- d: C
    # g! L6 s' ~, r9 Q* V
    −f 0 p0 ?* _! Y% g& P5 U9 B
    j. I6 {2 K+ b5 E4 y1 G

    / O4 _* |1 d* u! s- p) ` ) 5 w7 `/ r5 }  y; }) z: [! Y# e1 G
    2
    $ {* h5 D, [8 A' r* v8 H
    : V) O7 `! x8 b9 b' Nh 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}|}2 g& p8 o& K: h5 Z
    h
    1 e; ]" ~5 A" k$ T0 s2 Si
      Q3 N/ r3 c4 x9 t/ ST$ v8 m% @/ G+ j& F; d) n) K
    : F6 E: x- `% f5 f- S" Q
    Lh ; |$ D5 a9 h% v# i* c
    i
    % U. ]: _+ v* ]3 F% U" q3 J+ v# t) q. D* K, ^$ b9 U4 Y
    =
    $ w% A# ?! ?/ w, i# o2. v6 U7 v  Z  U# i" h
    1
    6 `' [' G' d0 \0 N' y& Q% J1 {3 ^6 x% E. u& i" C) W
    $ e6 M9 W8 g  y# I: U7 |
    m=1& Y4 G% U' b+ Y9 N2 O% }1 J

    7 F  {: w9 m# z
    : o6 V1 F: }; R* s; o" w# L/ z( X
    + I( m* Q& |5 ]& _; Z! ln=14 ^  |' x$ y" u! y# @# n

    4 _' Z6 E/ r% C- U  C8 T  G/ B( O: o5 ?' N( A7 [
    w 6 q' ]  }6 Y5 I
    mn6 Q. F- r6 W- z4 C

    # @' k: @" ]4 P+ t (h
    / m$ W* [- z& K1 sim& T& A- U8 q" n* j
    2 q5 D% L. o- F$ q. B4 ^
    −h % a6 ]# e7 C; @+ e
    in$ v" ~' v' B# s: V* |8 u) r7 ~

    : i# \: I7 R6 S  ? )
    % K: y' X4 N1 F6 G/ f2
    . |7 o" h9 d/ G =
    & ?" e  L+ K; Z0 s/ b∣A / P( q( z) Q2 N' M* \1 G6 o
    i+ g) H* l8 j5 C" T" z
    % y: ]& {6 F2 |) A5 h6 X! v4 L) x
    2 W! n) d9 [! ^0 K; _! {$ y0 D. J
    cut(A - Z' \; s- g" m5 I( G& b8 z9 C  E& T
    i# A/ B' S; U" E: w$ e
    5 N* X' ^- L8 O. ^
    ,
    7 x) `6 a/ |$ ]0 e( p" v: Q$ VA' L9 |  q5 |& J7 n2 w7 S+ U
    ˉ! C% G6 k. w2 x* I, x; @
    6 I  Y$ i& y, e0 z# o
    i# o: V- I1 n! `- w. R- b, V

    : C6 X1 p- C9 Q )
    ! w0 y' V$ D$ ^& K' A/ N1 f* E, }  a9 l5 L; \

    ' G( m; i+ s9 M2 @
    0 g* x% j" a% y# P9 h严格证明过程请看刘建平博客:链接
    ' g: s- B* c3 x) ?# _可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    7 X7 x0 Z" V$ u. Ki
      }4 O. R! Z+ c* vT6 S& z% E" _7 B
    + n6 T+ O# u) D+ \* J/ o
    Lh
    3 L. t5 X# Q; `8 u! b% D+ [6 Oi
    0 ~% x% B8 ^4 T( I0 V
    3 H( I1 J! n* f- L4 o ,那么对于k kk个子图! U1 _6 e3 j% d. P

    3 N7 D8 e  Z' m4 CR 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)
    ( O! j5 X: n; s  K" ]% p! p( wRatioCut(A # U. N& X0 }0 v2 F) b
    1$ t  R6 X! }7 F3 {: {
    9 j3 g: E8 V# B: a
    ,A 8 E6 Q7 R( o& J
    27 B1 S9 I: F1 O1 K# D$ v

    - l- @$ G' K, O5 @- `  ]2 X ,...,A 0 c5 N5 O+ v& M% K) U! L' M) D
    k
    ! A" a% j- c# L. x( N1 Q
    8 |( P4 i' K$ T )=
    $ F4 r' x$ W/ O5 ti=1
    . X5 Q9 N  u& [2 @9 G
    $ d8 ^, T6 R6 \& M$ `" `; Qk8 ~- q$ c: m4 p6 o# h; m( V$ h
    , |$ p0 ^2 u% q4 M
    h
    3 W# c7 a8 M- t* F- M5 F- ci
    - ~  o* T+ X9 g0 h* f) ZT
    $ a, f' d7 t% N$ _5 n# @5 L9 I: C) U( m) ~' m* y9 q$ q2 G
    Lh
    + z( F: e; X% L# Q* k; {i/ c7 f* @+ ]/ J* u6 S
    # D  `' G9 v1 |4 I% P' H
    = % d; B% [1 X; `& H
    i=1+ h6 `9 Y/ c" T% K, v' p

    % m  k( w+ ]2 P; L; A* y0 M) fk( @' ^  g1 |( v& R+ M
    4 k; _% Y. I0 W& _# q
    (H
    8 D: @! r* e: y5 |2 X& {" s; TT* n( ^4 `4 t% ^6 \
    LH) # Z( Y: x* ^$ q0 p% W9 W2 i
    ii
    * o  Z* O' t0 b& g) W
    - k" _' k2 x' d =tr(H , V* m+ ^  t6 x7 `8 L9 P: h
    T
    $ k/ N7 N" ?) |& A2 h6 w5 w LH)
    2 t% e( {# N5 {& Y" F- s
    + X$ Q; J6 A/ N8 t1 \4 J: u因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H ( |. X1 @7 H: r) ?1 X& _0 k
    T( U! G8 s8 r0 e- r% ^
    LH)。又因为H T H = I H^{T}H=IH 2 H0 V4 K" j. m( X, a
    T
    ; q  d" R, L3 `. j) @# L* L0 U H=I(单位矩阵),则切图优化目标为
    % J0 K. e, I# P8 U: @- S9 e6 G6 n- T
    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=I
    8 s( w) @) o" M: B/ X% ]. P/ b3 V4 ]H0 Z9 U& O% t* f; x( t. C1 I5 M
    argmin1 e0 U" a" y; ~; w7 l
    % N, O+ D( g' j

    9 `8 @5 o& C- R8 Q+ ^7 z
    3 W' t% z6 M% a; Z tr(H   }  M' U0 i, y& \( e2 h
    T1 \& }5 U* w# A2 ?+ m3 K/ s2 s
    LH)s.t.H $ O7 r1 o1 W' g$ w* m! B
    T- }. ?" c" Q! j, p
    H=I
    ) m6 S0 q* I1 a$ g% i% N
    ) q. C8 m, e2 l" A; r/ ~对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H
    0 U+ t5 A- z  U: u) Wt6 t1 r: o3 E3 y& S2 _
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    1 V% ]( @, ?3 m- O7 P; wi
    # i! k0 R) d9 l- PT2 }5 c# K4 `# p- t  Y2 g

    , S5 u, F, D4 P5 e) {! p Lh
    * z1 X1 L( V; O8 \- Qi( }% E; u, p) p6 B$ u

    8 Y, r- z" D9 o% m* C2 N ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h
    , X3 D" r* J" [* {6 yi+ C& B7 N3 _7 U7 z
    T1 ]1 J5 D# L* u: R
      U) a, V5 r2 t* P- z) B* w2 x. e
    Lh
    5 E/ n! K6 b; K6 E& d+ {: @i* W$ @2 |" y. K# M0 W

    & S+ M' n3 L: j/ B 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h
    2 a# _6 D6 c, K& C: Hi
    & A/ s: g4 S# M( IT3 n8 U4 P1 U+ D8 r, `, L

    - \, I3 M. [1 ~" N2 z; H: c Lh ! ]2 C" w0 s& W. a1 n$ N6 ~
    i
    2 q+ z% Y* y  R9 x6 a4 S1 g& R4 l4 r' h( v9 f1 w
    ,目标就是找到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 . l# E- }- H0 ]% v6 P
    t
    ; ^, N7 _8 @+ T# U LH)=
    3 S) e' E, Y4 }i=1
    - P" e/ t; T, z- ]' {% v8 E7 U
    & v) e! T$ \5 vk
    + J+ d3 [6 Y3 N6 f8 O5 V, s  q! s* x3 Z# H
    h
    & k1 K3 Q/ D  o$ Bi
    4 e7 E. _- Z! |# [& `T
    9 i0 Y2 Q! N$ h0 u% a2 w4 _- a/ C9 q8 c( X! V5 ~# G9 c6 w7 @
    Lh
    " ?2 Z7 n0 r0 e, V; Pi
    . C5 i- S! o! N; ]$ Q4 `4 g! I4 O' F4 k" Q# q3 k; Z
    ,则目标就是要找到k kk个最小的特征值- S  @  r* h+ u( P: v" [
    3 }3 }% {6 r' |( f
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下
    . x6 M5 @1 ^) L& W7 g0 K+ b9 q2 G; R4 d! H, G. b
    一般来说,k kk远小于n nn,也就说进行了降维: X3 S1 ]7 c0 _' ^
    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}}}! I# ^( K( l% t7 V( X. E) P
    h
    2 y& B) q1 |6 t5 v: g' f  {# Yij$ B( j5 X# _$ D; r6 k
    3 B) _" }" f2 E& V+ Y# _
    " f8 d7 v, ~$ d5 y  |1 o$ O/ y
    = ! S' J' d* w# u
    (
    4 Z3 g* |7 c: k2 d- Bt=1
      |5 W% C% K$ M! }7 w" G
    8 N2 K6 h2 n! ]$ yk$ O2 s& Q+ i7 T4 W; A/ `

    # G) z2 o) L: ?8 a% e8 F h % \( W, j# J4 ^: f
    it
    2 F% J! G( a  ?3 h2( ^8 F0 i- P1 z$ I, Q% V5 B( W

    % ?$ o$ f6 x* z7 | )
    - ]5 H# G* R: i% s9 }: S2, v8 a* o# I& N! ]/ l
    1
    8 d; Y1 R- ?7 G& x1 s8 r1 P% y/ l7 N: h: r

    9 [8 {* J4 \7 F# T: h$ T% x, S
    2 ]' j& S6 g5 r' K! zh
    ' g! D! n3 Z: d6 Sij) N$ y. ~8 F$ t2 F* n* N, j2 i  J

    5 j$ q! W0 ^) O. B
    / l$ o4 Q6 u: D  B& [1 }; b* h
    0 G( T% u" e, ?6 w# [3 k
    " y% z- I5 Y% \' u
    ' K' R# ]& {7 z' x. Q) \这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类% S" E% }% S, F

    % M- h2 o0 L) p+ o" |3 F6 o$ u8 r(2)规范割(常用)0 r, w# z' t% h( b% Q$ ^/ D5 o
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A + ^" e& L2 g6 `" h( m; Z
    i
    7 V5 ]: l5 A, z# O& z
    9 z4 w  |% o0 l* J% i) ^5 @6 ~ ∣换成了v o l ( A i ) vol(A_{i})vol(A 8 ~" P7 X! r) H4 V/ R6 R
    i6 a& K6 Z) e0 t& A) ?% M% ?2 ^- q

    & K  d' z" b( E9 p  \6 I* H ),定义指示向量h i j h_{ij}h
    , @/ ^# l  _6 \2 y2 hij/ t1 J$ Q9 A0 `( l
    5 b; I) O* k6 Z' }( D- f
    如下
    . f+ Q# B0 w# i' f# U: O- C: U& o
    ; r; v) U, C" l2 nh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=
    0 I' x# o& ?) ]& U{0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj
    / X8 \1 H& p- t4 a- q6 q) L{0,vi∉Ajvol(Ai),vi∈Aj  f5 E+ O3 g: ~, T' R2 [
    h : @4 T# @" o$ C4 B0 d) h
    ij
    9 z4 d$ o' I: f% n2 I, M9 @
    $ J# y( V0 r) i3 S) c4 f ={
    ; ^/ |* X- v9 C0,v 4 m2 ?* M3 j+ _+ v+ x# J
    i
    0 A. @6 ?$ b7 X# q) b+ S* H5 N( n% o7 W  V* H8 j9 v6 s
    $ C* Y+ X& K9 @# ]3 m8 l  ?5 g
    /
    2 R/ m6 l) D4 c# i2 }( r9 EA 2 Z# P4 r2 M3 T8 z+ M8 H" Z: s
    j
    ; Y' `: _) F7 a4 E7 \$ s
    - h6 G1 u3 ]5 F4 [/ ^
    / g7 [: C' K: zvol(A ! ]! g* T, z, t1 }+ L5 ?" v
    i
    8 [; m) p% n0 R9 s1 f3 c% F0 p4 L' W' w. v. q2 x% P
    )
    * {6 L" V) _, a
    + c* Q( Q3 L) N7 O9 \" y ,v ! m! ^. i! x+ j7 s7 d- i
    i+ E8 P0 `% r% P! o7 v& S+ n. M

    ) m2 F0 }" I/ r5 j ∈A
    % D8 ]% X% N2 i* a0 ]j
    3 @6 q% |& i% Q8 ?" i* b: x4 h2 E& |; q( }* ^7 `  o" w) m
    & |. l2 Z9 x+ }- C; l/ w( ^
    - {$ y! d+ q5 C9 F
    ( E: t7 R- |7 |- G$ s8 a# Z

    9 ^2 h1 {; Y: J5 ^: [1 ?; A于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    * A+ H2 d! N4 i9 `1 O7 s0 M/ Ai4 B- v! E- w0 Q1 J7 ?% ~$ W5 A; a
    T; e. J& s9 S! o2 O; p  F
    - f( b8 u# e2 r. p0 y8 H
    Lh # ?2 ]  T) C5 k( B4 V
    i! w8 C9 W. |3 v4 k$ \0 Z9 y9 _
    , q& Q" P. M# k
    ,根据拉普拉斯矩阵性质可知
    - P( Q( j$ E/ Q6 p; U. {$ r$ s' E2 T2 J' E2 d
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f 5 C9 X: K. D7 a) a% i( l
    1/ h# h2 S, O, @+ {

    , ?7 T. [0 ?% c/ J, W- U( B+ O1 f ,...,f
    ! v: K1 K- a* ?2 a8 j) Tn# ?9 S' H& q. z+ ^
    - q! l$ m* ^( f+ O  w
    )
    , [; k1 C: ?) }T
    ! {9 V: D* q' P* s9 d ∈R
    ! ]# k, Q  \6 N' \& Un& [* j# J7 C2 Y0 _* N/ k- D
    ,有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 " z+ G! m7 r1 V! P
    T
    # R% Q: s) v6 @ Lf= ! F; n. \! S( v; F" j5 h
    2
    & C. u  B) _" u# p  z, y14 W. ~! D# e- m  _* i& V/ |
    / {' C% C+ Y# @
    * o) s# Z$ p1 [& T& m4 g7 p. a
    i,j=1! C+ a  c( J" }1 @

    ) ]0 q- c; I7 B3 Cn+ {' S2 |8 E" m, D

    6 U( Q1 d' Y- J0 \% r w , }# J8 Z9 t) P% x
    ij8 I& A- G. c: d3 k+ u" b

    0 G; {' G+ W4 c (f ; |, K+ `$ p. Z3 b8 N! _
    i
    0 k+ f. z6 Y& ]7 s( w  B
    & a$ f. g3 q2 J −f
    % B0 `0 l( l  l5 cj
    1 i+ e2 X$ E3 e/ [. O( ^9 O6 A- T0 ?+ @! M
    )
    : y! W( H' Y' _3 A% A1 m2- I, {# V4 H7 A) ?* p6 ~
    " {" k. Q4 K) {
    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})}
    ' C6 h1 p" @# G; p, H) ^* eh
    : ]- \; ]3 U4 pi
    * N4 I- x% u* J9 {. p' R& e' MT
    3 G) ?  Q. C4 H" S( v. M9 C; a: X: _1 ?1 |# [3 H  d
    Lh 6 D; V9 h; R" j
    i/ c7 X3 D% ~+ q2 \+ J" T4 p

    2 z- T; L1 }( s" y = : B/ ]- y8 v  ~/ h. a
    2$ b$ O( j7 J/ x* p& x8 d
    17 r$ q2 W' ]4 X0 |; A1 G
    % X. Z. U- [2 |0 ^+ f% s

    % O9 h. M! U! }$ i3 ~, cm=11 \* k$ g' x6 Y* @) L) @) Z
    8 f4 S# E' O4 ~

    % N, X& ~% q: m: J
    % R; Q5 [; f, Z. y2 O0 _% n; ]n=1  `2 i  U% h2 s3 A# g0 l
    $ F' J: I/ X$ m, [& D( C
    ' ?: T; |6 K* R0 F% x9 ?. }
    w
    # L6 J) l! k) x7 ^  U6 c$ Omn
    ! B% k8 F( F  z5 H
    ' D2 T! |$ s1 @- v4 ^+ f/ { (h # l: B+ V; ?3 p0 n% S: Z
    im
      N* W& I+ u. t1 j0 c: D- k# c
    $ i) D1 b2 Y! i4 A6 ?- A6 _2 a −h 0 t, v4 |, ~. n
    in
    + h9 Y5 u5 |  O9 F
    " Z* L* k( k% [9 l9 [( q2 U7 b( | ) . `9 I7 ^" d6 H0 @, _" O
    20 U! a! w4 e& y! G  ]7 l) x
    =
    " x* I; c. A, E* svol(A
    ( m1 h( G! x" M! z( Hi/ L/ c# ^& u% _# C' Y, O( }) R- k4 O

    7 g; y' a4 I. s4 y )  y2 J9 ^8 N2 E* \
    cut(A
    . `# f, g- }2 f2 ?$ g, qi7 t0 H4 X  e; \. U! J/ D
    & p0 l% Y, L; A
    ,
    ; o; U; M. J# g& ]4 ]+ L/ P7 uA
    . _0 D- J' F3 P. H; b! s/ t' B9 uˉ/ l6 v; ~  ]+ X0 O0 k

    ) \: T: S' i% Bi# W- Q: {: Z( w/ t
    / N3 O& K; {, Y8 G
    )
    ! [% o5 Z$ Q% ]+ h1 x- O0 P! Q/ s& q$ T6 P6 J! d

    & [' x) r% y) v% @$ t) d: o' y9 O0 l/ Q9 {
    严格证明过程请看刘建平博客:链接0 r+ i' Z. S7 d+ h# m, M1 w
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
      e6 x% C, t( z7 @i
    $ K1 G  N* Y! u% _! n3 Q7 k4 ~" ?7 iT' `# Y: v+ F) q: u. b
    0 {6 \. I  Y+ T# J0 d# C
    Lh 5 c/ O' s5 c/ Z, ~
    i* v: U( {  M' f

    ) f" L8 i1 U$ V: O) S+ k ,那么对于k kk个子图- B1 x! v1 b) w( @/ b1 y/ g7 K
    5 ?  p, B8 q+ ~  b
    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)- N! M9 |/ H# n% e$ V
    NCut(A
    " I& H5 x- _( E0 A1
    5 x0 ~' ^/ ^5 a5 G8 V! T7 `
    8 d, Y5 z! U6 j% a3 c" w ,A ( j/ w5 \1 ?2 A
    2
    2 f% a9 u. v% m% R
    5 \" d; F+ h' J7 I% X+ H ,...,A
    % h3 [0 m4 E  Y1 z) Nk
    5 ^) O3 O6 t( t8 Y3 a. X. M! U5 Q' t2 M
    )=
    # {/ r, I/ M) F: K( Di=1$ l, o; }' {  o! \1 S) Q
    , d1 B0 k3 x, U0 g
    k9 k/ d- L; v! |; Z5 @
    - E$ C' T+ x/ ]: v* g
    h 0 ^- z/ A  X+ _( t& w3 E& [( I2 ?
    i
      I& Q  H/ T( B0 l1 zT6 [  Y6 c' P0 W/ O, i( ^' c

    - W7 b# W0 p9 n' j- L Lh
    8 N/ u7 c* @9 k& z% ?1 [: Ai; j7 L/ e7 {, r- I0 p& S# V
    7 c: A1 T+ G4 `- }% N; A+ ~
    =
    1 N3 O  o5 ?7 a% C9 G" a$ Bi=1
    0 f1 }1 z9 U' }2 E' }& p- C3 M: ^+ F0 x+ c
    k
    ' \! x1 J2 e& |( f5 z5 }4 c( O5 H
    ) o1 [# H+ A' y# d+ ]% r (H 7 o9 h! F: D9 L; s6 C# y5 q
    T1 t2 h- v/ |, e6 e+ {
    LH)
    + a8 O& s3 _5 G; O4 j+ sii" C( ?) M1 S2 y! j) A0 q; a
    / h4 N4 B0 r# G3 K% V  i* }
    =tr(H 3 b9 L4 w8 q6 L% \
    T
      K. c* c" s* x9 g LH)
    2 i9 P9 u) e) q4 n. ~7 ^! ^& a+ E7 t& b1 a1 F
    但此时H T H ≠ I H^{T}H \not=IH : y% J3 g  H3 S( b0 g
    T; c, ?5 u: }$ n0 A/ O: Q0 Y
    H
    6 g/ i9 B. I$ M+ J# S$ h8 z6 d5 b- |( i3 a+ A  K& A3 z; A5 e. p
    =I,而是H T D H = I H^{T}DH =IH ) s  i9 f4 s' G% e
    T
    " F5 x  d* p  R) G4 s9 ] DH=I: C: A& d. K1 q1 _' A9 o
    $ A9 ?/ L" r! O5 c
    这是因为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
    $ F% K8 p  j, A" E+ i. Y* V+ {# Qi1 G& D/ s4 j( T7 k
    T9 A- M3 t2 h6 x  A* r  `

      Q* G6 C& n3 i! c Dh
    1 C" [7 j. j/ _* g3 A1 Vi
    ( w' _5 N' H! k0 e+ Y8 i" N
    0 F# D2 y9 g! I3 n" ~ =
    5 U( b% I6 G% U4 O# Sj=1  E" Q4 s; j; g9 T9 x
    5 L; q  L3 D4 K/ u
    n( b- p3 S# ~2 d( z
    . X" @2 @) f+ ]5 ^9 q. M
    h
    2 a( K! D  }" g; hij+ V1 B7 N+ d; \% l, V3 d' v
    2. [" E/ a  f  i7 p! O
    ( N$ x7 a2 e0 m9 I  A
    d
    - _/ d" m  {2 c1 Fj5 o7 _& C  z5 ?% U  Q$ o
    7 ^7 P; a0 b& H: A  K* o/ ]1 |
    = 7 r- h$ M" |' t9 _
    vol(A
    , y1 ]! q1 o8 i1 U, a& Y6 |i5 {6 Q- K6 U3 \  {; b0 j
    - U6 {  ]* _$ |6 w- w6 C+ _
    )9 ?$ m( C8 m9 w! J4 \
    17 v  L! E5 O6 L6 o8 N# \
    7 E& l: X* J6 ?% \: u0 z

    & Z9 P) m. X! R, @% M- ~7 |% W' Nj∈A
    : W! c! z! k2 H* V7 T) j) ui4 b. K5 |* E' ]% E
    ( m! L& n$ ]0 G, R) j

    6 A2 J8 U% m  ~/ z% f9 @( m! O! e( h

    - Q$ b5 W7 t2 p0 F1 b' L" {+ s9 \, R: G d
    * M! V' g3 ]! U9 j  @* ^$ Zj" M2 r: w1 @2 v+ J' f, E; U
    8 [4 W0 l6 _0 V& k
    = " A' E# ~* P; Q. x$ D7 Q2 Y! u4 r9 `
    vol(A
    5 C+ v4 U0 z0 ]i/ }- l- L8 s3 H# M  Y# @
    4 L* Z7 _( m2 i7 L+ q
    )
    + [% A, p% _( D/ C8 J1- I3 Q! U0 Q& o% D" \' [1 B
    ! Y2 H: A; @& O$ z% E+ V" c* R0 y) p8 a: \0 L
    vol(A 0 \- y, ]1 D. E  f( |8 V6 M
    i
    0 L: Q  D- D( B- @, ^8 w& W7 J; n* D  \) Z) a
    )=1  X) X+ F3 N; R9 E; s' E: H8 \
    因此,此时切图优化目标为) X: x  r) B( }+ _) E# X
    5 Q& k$ n9 B+ v; H$ N
    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
    : P+ h+ C' ~5 ^H! d0 G* b8 h1 S: ~
    argmin
    & S( i7 A  e1 C! d" u3 v$ r+ o/ R
    * C' n/ j9 q1 C6 b5 p1 {! H9 Q0 y5 N: |4 M1 V) E

    0 Q/ F: {3 n$ u' ^8 \ tr(H . d; U3 I: B) V- e7 q- ]3 k
    T
    $ x1 y- y. E6 Y( s( H1 d7 m LH)s.t.H " [0 X1 d# o% d
    T
    * G0 r; o4 O7 L- t2 K& `$ e0 I DH=I! [5 A- \  }1 w/ u8 E

    - `6 c, {9 o; _6 W) O但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D - J; o4 k9 X& K7 ?" a/ u

    - U( n5 q  F( G$ }% V2
    : Q  c5 |" u$ S1
    * B- ]! ]: |' N9 Q6 g$ S  f6 P" Y' h3 x9 y% n! p  w+ F, b5 Y
    5 u& D" W1 b: l8 T6 P
    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
    * M; w" h' W* X; HT  x* P' |0 ]! k" Y: @9 U
    LH=F & u1 U7 j# ]" s' S; |
    T
    " W$ D, W- ]: v" S. A% l8 ~; R  f D 2 Z0 P% q4 c4 L# Z: a

    7 q) K8 z) ^; z& D6 R6 V2/ \7 @8 T6 Y: }& x5 W' x3 k  l! q
    1# T6 e1 I: v+ A/ b' s

    2 i- S; R2 B6 [7 ]9 X! P. e5 ~# c
    % w% E5 P  ?: `! y LD # U8 ?" @2 ?7 m+ W: \9 z  a1 g
    * |# e1 n* E# _$ }$ ^/ L1 ^
    2
    1 E% P" R' `' l. t17 |4 w% ?" b- u6 @6 z

    : [7 [- S/ u" }% D3 C# r, H& ~% J" K7 e
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH 6 z+ ?  Q3 I! U8 |( \
    T% E: ?9 \+ W3 d! \/ ~) O$ f( B( {# Z
    DH=F ) T+ T* t' c! l+ l7 \
    T5 c2 \7 a  ?, B/ o% ~0 e
    F=I,于是优化目标变更为
    ; F+ J$ ~5 N7 ]- s  s% ia 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
    * t% h. F9 j3 w  F/ uF
    - L& B+ f  N3 ^' l" Rargmin
    7 G8 L% c7 }8 T& K' x
    . }* q5 S6 o; m: i; Y! o0 J  f+ m3 S2 H. O
    ' Q. W+ `9 z) e1 e
    tr(F + Z" m7 ]9 S5 z0 e9 n! C0 E9 l! B
    T% S  Q1 N# }- o7 X8 ~- h/ H5 b% f
    D + w8 _+ r7 w/ O. a
    ; \3 ^9 P# c4 g) a
    2
    , y+ y6 o% t+ B  H1* t. c3 K9 N/ |2 |4 _+ x6 o

      z( g, m4 r% @: o; R% t' R( f* P( o5 M% T9 k
    LD
    $ I$ i$ m4 ^# E" z7 X+ P$ J6 ?* o: J9 T5 Q; L. |0 E9 b* \; D
    2( z0 a4 p# g1 H
    1$ v9 b8 w' J# M

    1 A4 ~' J* `' V4 Q& M$ g, W" l7 w4 C9 y
    2 U& }/ l- h7 L0 D' F( g* J, |' V F)s.t.F : i! S. Z4 U, j% G6 u5 N& h
    T" Q% V! _/ ]4 N6 k& [# F  j
    F=I
    1 t  _: R: g8 _" }7 x; L
      A) F5 o& Q  x/ X, ]5 a% ~9 H3 w现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 5 o# V  ]2 _( ^7 I+ K8 X; a
    ' L/ M! m& f$ p* @7 S. i% }6 y
    2
    ( a8 A8 l  ~& t/ O* x0 B4 X18 ?2 c5 `; W! }8 B1 p

    2 i, }8 c0 t. B3 b; ]- k! i8 g: @0 \7 r
    LD ! X7 d8 J' i) p( d" f0 K: ~

    & e6 X9 h/ a2 `8 e5 ~8 u2
    7 y# D  ]2 F) q$ \' _  S- C- W1
    ( K3 Q, Q9 s, k4 c$ i2 K- W6 M( E/ C4 f/ H- K* ?- Z

    4 c. k3 t9 f  a: d. k, \ (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    1 Z/ Y8 l3 F) ~. h2 K' f. E4 e  n0 t- E; P- s: }" m
    一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    7 n4 U7 v- P1 r* c: ]: V3 w+ C1 Z. t7 x  ~: R1 h+ l) e* N
    2# ]: u* U3 T& N; a
    17 Q& K1 o* L4 p' ^  N, ~
    * W* D* ^3 A3 x# T
    0 Z0 W5 a1 ]$ P; u
    LD
    1 C6 W" @) N* p/ w' r6 X5 K1 ~* @# X( y* F; h/ ?/ r, ~4 O
    2* n6 z8 t  Z* W4 [
    1
    5 Q3 v4 K' A8 X7 h5 }
    5 w. {6 [0 e8 X4 p2 z5 O1 e& j& O
    : ?4 {& i! F0 x7 e) Y 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} ) i( k7 ^, u! a( A7 i: v2 g
    d
    3 X4 [4 a7 ?& |- w$ l. E/ u2 z" hi
    . [( L6 Z5 K( u' a: e
    - m+ S8 @5 I% N3 m8 \& C6 K0 N ∗d
    7 _& x" z; F. Z0 s5 U9 z, u* lj
    - o" G% r. K# L: P! m2 D
    % r% G% Q7 U: a$ U
    1 B  D9 Q$ |/ F* s+ z, j" Y7 @& n) J# Q
    $ n, w" Q/ J4 Z& l
    L
    + W8 |8 ~  y7 x$ _( w/ |ij: d- |' ]( {5 u: J

    ) V& M& I3 f# q8 @( j& y5 p) X
    : \9 O& o# f+ E" |2 E! Q, b0 `+ i+ F8 Z5 L7 `( f( ^! ~: A- G

    # S8 M7 b3 I  r- p% g二:谱聚类算法流程
    7 _- j6 n9 w: ~3 p给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    + Z4 H  y6 p3 j4 K9 d+ c: ~% C17 X" R! I: y( {9 s

      g& w" b; a# I8 X: \0 {- e6 b4 D' y ,x * y" ^# v: m7 w) B, X
    2- v5 O2 }6 N9 p/ G/ B) k
    ! w& i7 N0 p! P& u  o  Y( [! k
    ,...,x
    " l* ~: D% F" j+ N* r5 C% }& Nn% x, Q( S& o1 s- _' @
    8 h% Q* b8 G9 ^  T- v
    }, @/ V, A: o/ Z: R8 X0 w9 R

    " v: R7 K. Q% b. @根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)0 M. D( m4 i3 r4 z6 \
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD
    4 I0 F6 W0 _. `( d; P* U计算拉普拉斯矩阵L = D − W L=D-WL=D−W* b' j4 w# n6 f0 e( |: U
    得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D ; b. |" T0 b. e7 X. O& q
    $ |$ W0 b1 @  K; `2 o
    2
    7 Q. o! |& S' A5 z. t1
    ; `; _- _  C% E6 z0 Q
    , {. z( R  u+ P( D
    " o9 b6 e+ ~/ M- e+ ` LD
    / F! [; K  I. V" I: G7 I' U* T  |8 k: \) w
    2: v" `  ^% q( K) G0 b9 u7 h3 N
    1
    + r' p; C" c+ K7 F5 l+ e
    / [3 b# `  p. T6 N7 X
    8 a" {) z% r+ ]0 e6 }* ]
    6 ?# _" f' q) n) \' Q4 Z计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    7 H# e/ Q/ P" j/ _$ g5 e7 n8 ]' y' q# G& Q) n3 o8 Q% i; j
    2
    5 E' T' z9 V7 ]6 O, J, C8 N1 U1! c5 e! s$ h1 ?3 w% f- z

    5 @. c2 z& A5 I4 V' U1 ^8 V2 e) d* H, N0 P6 J6 F
    LD " j2 s0 M% L7 y' c) a! N

    + K) Q% z& k3 x6 p2& U: F( K& |6 p$ R2 z) M& e
    1
    + L% N- q1 N, x8 {" i* e) E) P2 U+ H- f1 Y* X/ ~/ @, D% p
    0 s6 D. m+ p! q; [' V. f$ t" Q
    最小的k kk个特征值对应的特征向量f ff9 Q: Q- j# k% `
    将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    $ j. c' Z6 q  XF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k 9 l1 T" y0 Z' k/ d2 g2 r
    0 ^% q( h, ]" N8 K: \

    8 ]9 T+ J; l: Y" O得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c
    + c3 G- m$ {# g+ b1
    2 |; O" t0 Q! g/ q& C
    " F2 _) ^( ~! u4 s' a ,c . X" i% j: L0 S3 Q" s7 f
    2
    9 n5 P3 ^( u  q" u8 P9 C0 n% g" m9 }/ O
    ,...,c   ]6 o. X" c6 a
    k   j) ~; s9 x1 z2 m& u% {; Q
    $ J1 D9 Z' J. E. Y' k( S# Q. y! p6 R
    ) O. q) O- Y$ c2 K4 e/ n% R
    ; D- @0 ?/ @, P4 {; d2 x  E
    )1 R3 S+ _$ ^% J% F0 r
    三:Python实现7 W! |+ O: U6 Q7 t
    import matplotlib.pyplot as plt
    # _: K- J) m% b( _. kimport numpy as np
    # J% P3 ]" S/ T9 vimport pandas as pd/ V( q4 Z9 y$ z# n: U
    from sklearn.cluster import KMeans
    / f7 j( k3 H; o! A% r. ]: Ffrom sklearn.metrics.pairwise import rbf_kernel
    , b$ A. ?7 y8 q( D* g0 P. b" B/ ?from sklearn.datasets import make_blobs% e/ d5 b! u1 J: L; `
    from sklearn.preprocessing import normalize6 i. J4 Z8 L: z1 X, x! \4 i8 `' f

    * S9 p/ Y# U" ~def get_affinity_matrix(data_set):& _+ j& F) r4 u+ p; `" i, y
        #  利用高斯核函数计算相似矩阵(全连接)
    & X5 b$ U% f4 J1 h2 u- d% X" @, s    rbf = rbf_kernel(data_set)2 s! s7 {" L' i3 z/ o- C1 ~$ J
        for i in range(len(rbf)):" V/ I/ w+ i0 L% F5 p
            rbf[i, i] = 0
    " e( G2 E# X  V4 T  i/ i5 Q6 {    return rbf
    0 }4 @$ h) z/ b$ Y' Q) {
    2 a) o9 y  e. R8 f/ d( u& @' U9 b9 u9 A( v3 `# Q) r- T/ [9 ^, T* V1 c' I: M
    def distance(x1, x2):: T+ D. L/ N# \. ]& ]
        """
    6 b7 ]+ K. R: B1 X7 W6 N. s* D+ }: ~    获得两个样本点之间的距离: `5 w+ T% Z4 Q# _3 b, J# M  O0 @* f/ o
        :param x1: 样本点1" t2 Q: z% _+ M1 l
        :param x2: 样本点25 i" Y* C0 |; {0 i3 G6 s
        :return:
    8 t# @+ U$ o4 g( o; ^1 v    """3 N2 H+ Y; B) w/ F7 w4 F: A
        dist = np.sqrt(np.power(x1-x2,2).sum())
    ; e$ l0 B! a# {$ A1 `    return dist
    ; M% D0 w" Y& ~& y4 _: V
    7 p( F8 M7 k  ]" Ydef get_dist_matrix(data):
    - [8 A- D: r' P; D9 B    """; e8 r0 n* C. M- c( p+ b4 j
        获取距离矩阵- d1 L3 v. x5 `
        :param data: 样本集合2 l1 u  Y; M4 \+ g6 k  Y
        :return: 距离矩阵3 B# o* T. f5 x  @- ~' N
        """# c9 T1 O% h% T
        n = len(data)  #样本总数
    $ R2 |% F+ F$ w7 f9 u; m* X    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵
      Q2 k9 c/ H3 Z, n% F    for i in range(n):
    8 g0 M) U2 `7 K" {        for j in range(i+1, n):
    ) L; }* q( N: y$ @, o1 [2 x            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    5 n. w. @9 L+ ^# Z/ w- m    return dist_matrix
    . x5 B5 }/ Y; q' M4 c3 I- P1 M5 K7 o! `: I$ V
    def get_W(data, k):. M, `+ a* U, F) A+ Q
        # 获取邻接矩阵(K邻近法)
    / `7 w9 H; C) y    n = len(data)' G1 z' y% a( y
        dist_matrix = get_dist_matrix(data)
    % z1 \+ E* i' C  ^1 B. x! k5 \. J    W = np.zeros((n, n))/ g" Z* |. E9 a  z4 P9 X7 L7 b
        for idx, item in enumerate(dist_matrix):+ g! k+ X: m( g0 z8 v8 _
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    $ F& j. s1 d# }7 j! J" G& e        W[idx][idx_array[1:k+1]] = 1
    ( R3 R: k. M# M: x    transpW =np.transpose(W)
    0 E  g  K9 e# f5 E8 i' j    return (W+transpW)/27 R! C0 t2 ?# _

    6 k: t2 W/ D2 |  K1 `4 ndef spectral_clustering(data_set, k):! e/ z# P: w4 f& ?
        # 利用相似矩阵S得到邻接矩阵W+ a! A' x4 Z$ c2 ~
        W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    1 B" [; g# g4 I- D& Q* e    #  W = get_W(data_set, k)  # K邻近法
    $ H- n/ x& ^' \. J; H6 \5 _
    & G1 h0 {6 j9 i  W7 {* u    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵). U% ^9 V) |4 l% S, e7 V0 a8 z
        D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))
    8 i" I- W0 \' z$ y* y3 S* \* M# v3 n1 Q; _
        # 计算拉普拉斯矩阵L=D-W0 I2 w9 B- R( u. g+ \. b/ k4 [
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    6 X. G: E( V# b) ]7 f0 Z2 w    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)# f; L9 n% W1 m4 R) H; V

    ) I; e6 @) F9 H. F    # 得到特征值和特征向量
    - X; i- g. j' q: {, ]1 Y    eigvals, eigvecs = np.linalg.eig(L)
    : S  A( u4 }- v) o( P
    * H0 R3 T" }8 v4 u* Q    # 找到前k个最小的特征值(索引)
    3 S( v/ W3 H3 ~. n. K4 k9 K" S0 m    k_smallest_eigvals_index = np.argsort(eigvals)[:k]2 H) N; F' q# }( w7 ~

      j( q( v2 v' [! V' y7 g; |# X    # 取出这k小特征值对应的特征向量,并正则化
    $ X, E& P# c  ]    k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])' e: o% A. j% ]  T: e

    0 [3 X9 W0 N0 s6 j    # 使用K_Means聚类
    6 H+ v/ s; `5 d: P( k8 v; u4 i5 F    return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    , p7 m5 @5 j( P$ ]& Z- f* @8 @0 z$ d6 s  f
    $ ?/ W/ f" ~  ~* i0 f( T
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)
    0 j8 n1 W( A7 Y* a8 Kraw_data.columns = ['X', 'Y']
    % }; d1 [" m) r! g8 Dx_axis = 'X'
    5 a1 z' w( q0 w7 M% Oy_axis = 'Y'
    8 r- v  i( C7 e' U9 f, f0 ~% ^8 h5 e
    examples_num = raw_data.shape[0]" Q0 \' S. A; G" P3 ^3 f2 W
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)' x. ~9 }9 `! v- g1 |3 b

    5 c# ]& i) \/ T9 l' W
    ! U5 P6 H8 u/ s& Umin_vals = train_data.min(0)2 X% Q: a* a; n8 m/ G
    max_vals = train_data.max(0)
    & E$ W* e( A1 B6 u5 mranges = max_vals - min_vals
    * W1 w& [) F1 I; J) P4 n4 ~normal_data = np.zeros(np.shape(train_data))# G; @3 A6 n6 U- T8 R
    nums = train_data.shape[0]7 p0 n( G- E" y& g# M/ I
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    # u3 {3 t" c, ~' W0 ~normal_data = normal_data / np.tile(ranges, (nums, 1))3 V6 P2 M  v) ^, q7 I
    0 ]. {$ t# Y* i( U9 v, W+ A* [
    labels = spectral_clustering(normal_data, 2)  Y- z! N+ a  R. M
    7 g$ a6 G0 v& T7 U# E& A
    # 原数据
    0 i' V" o2 V- }/ wfig, (ax0, ax1) = plt.subplots(ncols=2)
    : M3 `' [: d! d0 pax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')
    / s- |4 b6 H2 B; Z" P' I: vax0.set_title('raw data')) E! [+ l& W1 c4 l. H2 `$ a
    # 谱聚类结果1 Z  |- t# q9 ~" g+ A5 h. ~! y
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)
    2 P3 X  J- N0 c- B; b6 S: @ax1.set_title('Spectral Clustering')8 p# l, ~( b- G

    , J. M0 L% ]8 w2 gplt.show()
    ' i+ V/ R4 [4 x( C$ J$ A+ A8 o7 z
    " x* |0 P8 K% j/ ^3 r% A, f1
    & I4 t( ]1 V, S2  a3 ?, y$ {! Z( ^9 e2 \$ C- Z$ {7 v1 `
    3
    & A+ h5 y& V# P2 w" r) F8 r, t4$ {8 E2 D4 d; a, L/ m5 {' r4 G( g
    5
    3 |$ b. {8 b8 b' r1 g  p6
    " e0 `% e2 F2 E# C6 L7! ~; L1 C3 d+ M% V; e0 a( q
    8
    ) s, n+ J. Q3 P4 [" N96 N  G- A( ^0 l+ S5 v9 S/ w! q( W& x
    10
    6 V- `. |% j) Q6 z3 A' ~111 a4 ]3 n" w: ^5 q) n9 ]& O6 g3 t
    12
    5 H7 R8 m6 \/ z# H) T13
    5 Y1 T( X# \! X9 n5 ^6 Z- R141 v! y9 _* }5 j2 u
    15
    * {6 l; e& @5 A' \8 U) b( V$ x0 i6 r16
    " @/ t. Z& B, x7 p5 L17. H: t& Y' R' ]# t( j  O" ]- b) c5 \
    18' T& F5 F/ d* r8 V9 e+ |0 w" a) W
    19- @+ Q7 y% @+ p
    20' \" u1 M/ v8 `
    21
    - L1 r7 a6 w) t. d9 q3 n8 x- t22
    3 |" K7 M# E, _5 o+ u( l+ b231 C, d$ F9 Q" K+ h" i
    24' r# J: x2 `, G- w
    259 y& L+ B! W% Y" {7 {
    26/ f2 e8 G% J5 A: Q$ Y( \
    27
    4 U( y* ~( _( l, y) e28
    " Z3 Z0 ^+ b9 V# K9 ^29
    # V& @9 P, V. u3 H$ ~# t30
    " I' A7 V, O! `; Q5 b# M  X318 X' K6 O9 E$ r! v7 |: C
    32
    / J) d+ H" ]1 N33
    / Y7 F1 [2 `( i# j# _; G34+ ^: r( Z' u  i* M  c' k0 s% u
    35
    ; D6 e. K* A* T0 q) A36
    / l/ ]5 p) F% X5 C- J37. W+ c% r: d+ u! V) |  Y
    385 U" p7 P& L6 _$ i4 ]0 C3 }
    39
    2 v  U4 l% M+ H  x! I# p# q40
    7 {! a) d3 g! l. h- P$ _7 h417 G/ J7 T' y9 B- \' m
    42! ]. c8 z7 _% j# c8 t& E
    43: I3 y: a7 d$ Z8 w
    44, n( D$ s5 F$ A( k
    457 I% u) C. i7 P3 y
    46
    ! Z3 X/ I. {& k: v! Z" ]47; J* P9 g& X( Y; N2 I1 `  \
    48
    ( R1 C. d3 i2 @& _$ Y; I49
    % D& I! I7 ]  y: a7 O1 t$ o2 P6 D. I& f502 D* Z+ F2 [$ c2 H* }! M2 Y, p$ O5 V( p
    51$ \2 P# D6 ?9 T+ B: x; b4 V, ?
    52/ J& s8 [# Y& _) _+ i
    53
    , }+ \* H3 f; x5 E" O547 ]8 @+ r  \' f2 N& R  s
    554 Y  z+ E) U* Z% s: z, f7 J
    56
    1 v3 F: i5 |' D* u% T# v57
    4 {; u2 B, x. }2 @$ M0 B  B7 i# Z58
    0 X( X  C6 N, k2 X595 p% C  j& M/ S2 e
    60+ \2 I( L8 k$ C8 L
    61
    9 K+ V1 q* _& N8 I, t627 T' ^5 Z0 p6 o* J  \" X
    63" o* ]' N$ F* s9 }) ^6 R0 |2 ?/ y
    645 n4 ^& ]6 I, y) ^) s
    65
    : u& z: W8 P0 M% n4 j66
    # i/ d# ]& a3 O( I) u$ l/ i( {, P67
    9 u, {/ C/ D) N2 G9 [9 |68+ \: p& ]# F" I. x
    694 k$ J8 n9 E; K
    701 J, J* _2 Z' t% v7 K9 b
    715 z2 z6 X$ v1 N( p( S( A4 N: a
    72
    7 z& I, }' C- ^( [+ g  k& x73
    " n3 K: |) k6 B74
    : w! \* s0 H  Y  I2 k5 l9 n0 t9 Z75
    , N: x0 x" t/ w: }" ?" U) V76: J' r. O. o' i9 @, m0 q( q
    77
    - E, c& n1 b. `78
    % i+ d9 c# h( `797 i, b+ b  \8 R- c0 t1 ~! _5 h
    801 T% y+ K% Z, |  p5 V; L8 a
    81' |5 O% ]8 G2 R! ?% Q
    82
    ; ]* a' N, y+ M5 a9 o8 n3 G, y: F83
    9 v4 Q5 w- X; w2 U; _84  U( R# y7 C6 @& V0 I0 `0 y
    85
    6 d% D! u1 T; ^86! r7 m5 Z2 F" `& M0 \; b
    87  y  U" }9 a2 c7 V5 o4 b
    883 [3 q0 k. v. J: ^! d( U- J
    89' r: L/ k! i2 i8 k) H* X
    90
    - z! y" ]. F2 j9 K1 r914 a5 d; b$ J: m  O
    92# P/ Y  u7 R( r7 `3 v
    93
    ) X$ i/ b: H) ?+ }2 b4 {94
    2 Z; I4 g+ r3 `2 V; E95
    . }& u, \7 P$ d2 ?: \' A" }969 Q9 z2 w  K% ?5 W( r
    977 @4 M) v1 V/ X
    98- S( ?7 U4 D# z( I
    99/ g6 K. H( K" t2 S1 T  }) p4 y
    100
    ! q/ g, o$ `, J4 s+ c0 e5 d101
    " B9 m4 W# E# }  J102; P3 w+ u# D- }/ r, m3 d5 K1 o
    103$ z, A- v1 \6 i- s5 G
    (高斯核函数)
    ' T! {3 N, ^5 D$ ?- e
    0 X' p- @  ?$ G' ^% _
    6 y! ^  x2 L8 B( V(K邻近法)
    ' I" Z2 N7 p+ N7 N
    0 w& D* _. ]2 ~" ~& u* h* o  q
    / Y! l& `3 l+ {# ^* L- I. Y四:谱聚类算法优缺点
    - \: E" }" ?4 Z(1)优点
    ( R3 d$ G9 t+ T$ e3 E3 S谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效. O0 E$ e2 W7 i+ C4 l
    使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    * a5 Z. a' o2 u3 M" K谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解
    ' \3 x" S' f( n' D) t(2)缺点
    9 Y- O$ y$ X/ n) O" U如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好4 G( o% z( y1 K. E) E7 x( q. v
    聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同! G2 \+ `$ V  e7 U: H
    ————————————————
    & x; Q8 _. z# f: {$ Z) R0 U, r版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。8 b/ A/ J! X* J" J8 E+ {; X+ G* |$ `
    原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494% n0 O: j5 E7 ~$ A0 M: i# i
    3 j/ h" x: E. `

    0 Y% c% M5 H1 V" r; o% r
    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, 2025-8-16 20:24 , Processed in 0.552585 second(s), 50 queries .

    回顶部