QQ登录

只需要一步,快速开始

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

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

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

5273

主题

82

听众

17万

积分

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

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

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

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2022-9-12 18:41 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现5 A! b7 O0 l% h* E

    ; O. Y- a4 b( [% b, ^8 m+ G本文部分内容源自刘建平博客,在此基础上进行总结拓展
    , J) Q% K+ N, w. {% R: D2 |( q1 z' K3 R7 A  ?% |
    原文链接
    , Z" j0 M5 n) {7 J文章目录" B( G3 z: Z. v5 t2 [7 n
    一:谱聚类与图划分2 _9 x; y) M0 e4 n( O7 U, O
    (1)比例割2 ~0 h0 r2 j1 s, H( M. o
    (2)规范割(常用)' G8 {1 d! o- m9 W2 l
    二:谱聚类算法流程' v$ z5 y' \& x( W9 U0 L  }# x! R- g
    三:Python实现* a% K) O" A3 a) R, U
    四:谱聚类算法优缺点1 U( p1 ]$ }& L$ J; E
    (1)优点% S+ e# q* J3 k  Y
    (2)缺点$ g/ s/ B! Y# Z
    一:谱聚类与图划分: ~. K$ O, ]6 O- n. @& i
    无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    % Y+ X; N6 F$ R# g2 ?) d, h( Z) I& F6 p
    每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    6 F" `& _" G' i1
    4 M2 \2 b% v6 Q; I9 }9 Q# F, X* C5 f2 v1 h% l
    ,A & ?4 U* F; X9 o- V+ h
    2+ y( Z1 {, ^1 C

    ( J  h$ y+ Q+ q. b* p/ p8 Z ,...,A
      r; E' c' k% x# A/ X8 ck" E9 @6 I( l6 o3 ?: u; {7 f3 X0 I$ Z5 h

    9 b8 F9 L8 }9 J& z1 ~ },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    0 m) E( _7 ^  |# {% ~: |5 t7 g" gi
    " Q; G9 h$ U; {* l: y, Y
    ) E8 H* F/ ]( Y6 \/ g7 H ∩A ' c7 B& G; D4 S, U/ G9 ^( D
    j* D2 L7 o3 ^) f5 p9 I8 m8 y

    * N6 v2 e0 Y# F9 C# y =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    ( A& ?8 I4 V' ?) D6 B1
    ; M5 t/ u$ w" t- o" y" L- I
    2 g) M& ?: n9 h ∪A
    ( U6 S5 v8 H/ A9 a2
    " L0 [+ K: _6 Q9 _0 {6 h& V
    3 x' r" e) Q9 `. N* c# ~ ∪...∪A
    ) U0 \1 P9 l1 W7 }( k9 Vk( j" \' {7 m; @

    8 m8 E3 Q  Y2 z; Y' ?2 y  T =V) m3 S5 {7 |: X$ D
    对于任意两个子图点的集合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)=
    ; k4 J7 E( U  r3 H( [( C/ Hi∈A,j∈B( O# Q! |- Z  T/ y7 S
    / `, |9 ^+ ~0 {6 ?( ~
    , Y6 z6 J  d5 }  V; x5 q' y1 F0 _
    w
    . Z7 x  v3 T3 F  oij1 }/ ^4 x4 q! U: Q  B$ C. }: g7 Z4 t: F
    ! K" ]8 e, N0 Q; {& ?

    6 n( O" d2 c7 B& B" N2 Z/ D" y0 Q对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    ) i, s, j& r2 S0 B+ U1
      ?* B9 Q0 q: `( T. ?, P
    . H6 K- {- P$ d1 L( l, _0 N ,A . F) G+ d$ ^/ T) M7 y, @$ H6 D
    21 j1 r$ A7 d  v5 k  h

    4 T' I  O9 M8 T& g+ o$ A. H ,...,A
    8 m) m" e8 u7 p2 O$ Bk1 j: v$ l* |) e4 Y: Y

    ' ?0 n9 O- U4 @" D" M },定义切图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 9 _4 B: q0 R" ?( @- j
    1; T# A( G5 F' B* w6 L$ H

    7 J+ R/ ]8 Y' n3 X. E ,A
    ' m2 ]6 y9 u- \5 k) x1 p% C2. p: N7 D9 N+ Z) H" ]7 ^+ I
      M. A2 _1 M& c1 s3 R2 F  Y) C$ G6 d
    ,...,A
    3 G! U' J: ~/ ^, Ak
    8 _) \1 a0 K2 U1 r: O
    - y$ p. m: A! k( [' i$ P )=
    # A/ b/ `" E4 p9 t+ s, m" F( Z5 a2
    $ k5 }4 c0 U# M4 e" C8 d1 g- }! D1: ]; X$ N" Z& ^
    ) R1 |; W5 w* Z' M1 l. @

    ! w1 ~% u" V( ii=12 b; _# I& v, p% k4 v

    . ?1 K2 F/ H5 f) Jk
    % m# U' t. c( g5 }$ x, F+ f7 T& W. Y  e( p5 U
    W(A
    9 H& G" M$ g" ]1 d" q8 y/ D5 X( Mi7 q# b3 s: n) ~7 y! b: f1 P
    # J3 G, t) p# V- R' c7 s
    , ( }& a9 e7 N2 E8 }$ u0 b  T9 t
    A
    3 k  [! B0 ?: L; A: _6 x. Rˉ4 Y8 M" m: g& j  r- o% j5 C5 V
    ' m4 \$ z9 l) M+ N! {
    i
    ( Z& H: \$ G# Q3 |
    / I) o9 [$ ?3 ^' z ) (其中A ˉ i \bar A_{i}
    2 X, X7 z0 A" I8 aA
    " E9 @3 t6 V6 I  D+ T7 gˉ. m: E# e& b" R' g# R, G/ Z

    ! \/ z4 e  E) r$ J9 [, M! Ji
    1 b$ i, E8 ]  ]# H. K; s! X9 @4 y+ O: d7 v% p! h
    为A i A_{i}A 6 L. T0 h8 L( {: o9 h) {
    i- J) H2 ^$ ]: N6 R7 t

    , q6 M; t3 J0 {$ ?7 b# W 的补集)
    ( O# w( T6 C# n$ V* N% O可以看出,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
    6 Z4 O% ^& z% B4 z10 f: v+ Y- J. X4 a: `

      T7 j6 W: m* k: z0 e ,A 9 G, u7 @8 l) v2 A: \4 `
    2" M. X" n! j& s8 I

    " S  s, k# K, x4 k' { ,...,A 5 D* d8 c& A* ]3 ?$ ^
    k: r, `1 p$ p5 V) M0 R" N4 q6 P

    - f7 v- F2 _# d9 ~3 ~" m )=
    # D: }) X& Y. }5 ]: O2$ l2 U( E* u+ U$ y. I
    18 d, t; [4 m" j5 _# [

    + J7 Z$ b% P' O; ^
    ' k! G+ B$ R$ W0 yi=1
    ( M0 F: ^7 t( M( r. m& j
    * g. z) n/ N# J# _k" K" h1 i! Q; p  a

    3 h' s/ T% s( C& T* W' X6 k) B W(A ) V' Q( @) Z4 U  L/ Q9 i0 y( v- _2 Z
    i
    4 ]! z. z. @' w2 P4 o, v4 I
    * H! y% }" M( {' ?! d% Y" S ,
    2 p! w9 Y4 y( V' n& V/ ~6 hA
    * H3 ~# Y3 W8 p4 d- Jˉ
    ; y% P3 _' y- f8 Z- _2 x: Q0 z" {# u. H5 T, {8 v
    i  s  X) r7 v0 E, _( u
    ; `% c+ S: P4 l) [4 ~% f
    )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
      N1 K$ b# o% ~6 s' p" r" k19 c3 N# L: n) D$ E! f( L7 K
    ' w/ I- D8 i- }6 t* p# k, f
    ,A 0 X5 |. k  j# n; C
    2. O2 k! h; _9 H; m/ ?
    , }2 u  f: i7 J& F, b
    ,...,A
    9 t+ I: h" [8 ?$ }; N. I( O# N) ok
    1 W3 P' ]) f! W3 H% t
    8 N4 `% u" l9 x- n2 o: R# c )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡! }; e% y' a) I( D6 e

    6 h7 P0 ~! U# x4 A3 \( S例如下图,选择一个权重最小的边缘的点,比如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
    * M9 x+ V2 W, H- G1# @8 u2 p! u9 l" o+ N1 R
    : d- B, o; S8 R8 Y0 o
    ,A
    % C; b& P9 }  ]  a2 b# y26 \" @! V% U! n% _+ L3 O7 k: {+ H
    ) T# h* r1 a' ~0 S( v4 i
    ,...,A 3 \; r4 Y5 @) e9 u$ g! V, ~
    k
    . ~4 |, x; Z5 C3 Q+ c: }2 S9 P1 q
    5 H3 n* u' f" v6 `2 g: T- [ )但是却不是最优的切图6 k. q$ j  m$ u2 T6 b8 v. v  u7 D
    + s7 L4 q2 M8 L5 E4 e
    为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    6 o- Z  G8 ~8 f3 m& U0 @* K2 }- c2 g/ E. g4 i2 U
    比例割: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
    8 B, u" l& s* n5 ?1
    2 U: K7 g: c- H7 w
    7 z/ a' U7 }6 I8 L( m1 G( o0 r ,A 0 e: i1 O& l& j( T8 y8 o( O
    2
    , j2 E  W0 M+ i7 {) i. C
    , Q* C6 B" b7 B, n3 a# a* i, W ,...,A 4 D+ I9 R6 b" n! g1 k
    k
    7 t+ z1 m9 k$ q" [: b  s% F
    + x. a; L* B+ \ )= 9 N/ K& y8 E, ]+ z/ n
    20 v1 b5 V8 n) p; v" Y2 ?( g2 ^9 L
    1
    ! b, y; y/ D6 u# V$ _% I# \, u9 ^3 x7 u

    " N. {2 x( d1 M" {- F  @0 f+ Ri=1( t3 i3 u2 C3 N, ?

    " q! }7 Y: _, _! ^$ v- r4 b+ fk$ H$ M& h' p% n: A
    9 q  u( Y( g( B: U& U9 q5 q
    6 x  I6 L, y. r' T+ p6 Y# U
    ∣A
    9 N$ _7 H. Y3 p4 j# |' ?$ m7 oi) |9 X7 B4 x; `1 ~8 M+ t5 P

    / N6 a" a( c3 ?7 \9 c. e- L* `3 b$ I7 x7 |8 r/ y" ?
    W(A , s; f8 E" ?+ i' s% j
    i
    2 T# |* T3 }" f" Q7 t- T5 h7 v9 p# P% v6 ]
    ,
    0 e0 q5 J/ ~) k4 c' XA( h: m% _1 m1 ^2 \* P
    ˉ6 x! F1 f7 x! m( f. M6 V: [4 h
    4 p- M8 R9 ^" ^/ i
    i
    9 [9 z, B" [9 s/ N# Y4 t6 I  i' }9 i' M' H, G# ]' L
    )/ V: H" G" M6 P; T% M6 i& `
    2 C: s/ z. A4 {8 A

    & t. q0 _9 b- }) r规范割:N C u t ( A 1 , A 2 , . . . , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) v o l ( A i ) NCut(A_{1},A_{2},...,A_{k})=\frac{1}{2}\sum\limits_{i=1}^{k}\frac{W(A_{i},\bar A_{i})}{vol(A _{i})}NCut(A ; ^3 h4 J9 t/ Q% j% t8 o8 [/ X2 Z1 ^
    1' e: T# f2 p( x" T8 |  }( n0 B1 I

    0 H: O: |5 k( ? ,A
    0 C$ A3 T% E+ I6 m0 J" k: S6 ~2* w$ r* N: o; ~2 O! ]' D
    4 F% M; O) b9 u
    ,...,A 1 d  i8 c: H! X( e. g4 y
    k! c9 p: D, {8 q: ?

      M( [& E$ D- V- Y) t: K7 l& } )=
    - D& }" e2 q+ o& K- `7 r2' {4 {+ _& H9 `; O. @' {: w
    1
    + L- a- I/ x4 \" _; y; `  _- }! N  _* f5 x( \. D
    9 _! y2 p) ]3 R% G
    i=1
    8 `, F- m+ f/ C  C# k
    ' a. ^7 N  n, e- M5 g0 g5 G4 ck7 z3 T, w( P# h
    & A7 Y' _2 J2 G0 W3 l! w
    6 R/ S; q) c! g4 _) c  y
    vol(A
    . D4 a* M' O; l- ui8 d2 W& F1 a2 Q; y

    8 \& a3 C& \1 K; F )
    6 Q5 N4 P7 J  ]# p6 K) ^. ]W(A
    . {. J$ c* i" B. }; p# k& yi
    4 Z& w6 U* |6 K4 s
    , J' I* d& u: r) A- m' [4 ? , 0 U3 N" X- d/ ^# T
    A
    2 v2 B; E* n7 k) [ˉ
    * L1 B  c+ G1 r2 w1 G2 N" t" Q7 l- a
    i
    2 x1 {0 ~! x! e% W; {
    # g# n+ G! L. N! d  @# O( m6 D )2 y8 \5 q; Y9 X8 R7 ?  O( k# ?
    4 @" r/ Z" C, B  s6 L1 M, l
    ! R. S' a# u$ [& y! ^- J$ `, U
    (1)比例割
    1 {, T. n8 v! x+ |$ ]引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h
    " u( |2 B7 p" _" U- F( \j- z7 d" N3 ^) C+ R) A9 H# v+ T/ k
    7 m, s! [4 A) l& x) \
    ∈{h : I! a; g# R9 C; a0 n/ _' l
    14 [. G& x3 p, n

    : |' U4 D( A) C  F% ~  ]+ R ,h # ~  R- j0 y# G; B
    28 K" U! J9 z. U" L7 ?9 V, D

    " s+ G8 ^3 @. I) C% r ,...,h
    5 U- p$ P& v" I5 Mk
    9 E  A7 z- |! ^9 e# |/ T
    ' U+ l  C% n3 x  ]3 x },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h 9 @0 R, L9 l/ E  r1 s8 b- j7 a, w) w
    j2 w/ w* w' [2 |4 ^
    5 j) n" h$ g" ^+ n' I; d
    ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h ) X: c2 X0 ~' |" e. T: f4 S
    ij2 {/ B0 N% R& s

    9 ^0 {0 Q' v& }2 l  s! v. V3 P 如下
    # v5 g: P/ |* Y( b
    + b/ S: n. P2 v3 i9 Nh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    $ }0 l% M& S% n: ?/ F+ T{0,vi∉Aj|Aj|−−−√,vi∈Aj) Z: j' l9 r. J( ^7 Z1 d
    {0,vi∉Aj|Aj|,vi∈Aj
    - W2 a% i' S, X  r6 Lh
    ! Z  w+ o. r( m& eij
    % P5 T- e' }' N) ?! F  q" I' a6 f( A& A2 o
    ={ $ u) z) v4 _& ^2 c
    0,v
    8 ~+ V# I1 H, m5 b9 K& t9 Bi
    % x1 S& A, i5 E" Q  u
    5 k; G+ A0 _% j( |, `. p5 l, }9 i) B
    /, E0 t) h: b8 [$ y
    A 0 n& M6 [+ U5 h
    j, z3 S9 p+ ^8 G9 i

    ( p. U) Y, f% i# ?3 t& z/ e+ j# ^4 I5 N0 g
    ∣A ; u. A( f* _# i/ P+ b
    j, \8 f8 e& P: F0 F' S
    ! l+ o" [& A4 Z3 U! Z( u5 L: c% e- H" |
    ; z9 [' Z) U/ b  F

    & i4 H. ~' Z- S5 _% L, ? ,v 1 K  y( x: ^" Y5 S7 K
    i+ K. d7 u1 f  c- T
    ( R4 J. k- p' F$ \( n/ z, A& x
    ∈A
    / H, ?+ O6 L1 Y/ b! S% h, ~& \j+ s# n! @" a, T- O% \; _  t, m% f

    $ y6 Y8 X6 }1 L1 w6 C; j) {, U7 J$ P& X7 o

    9 B0 z. C! c7 {( b: m& W$ l, W' X/ O. y# W- y$ \3 e9 \1 e0 S
    2 r5 O1 y+ [6 [5 z. G- v
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    - L- e, h" C& B- F% H. _7 Z$ a( U+ b8 wi
    ) E  E# V1 W+ x8 Y6 g7 bT
    ( w, d. @) U1 p
    3 d# E! V4 O+ R3 ?" B& K: v# Q Lh 9 r# I# m  |- p2 u' e) a. `$ ]
    i
    1 H1 }# L* h5 [! T+ q; q% C7 d$ A. c- E8 H" @1 z
    ,根据拉普拉斯矩阵性质可知
    & x* F2 _  P8 R2 p/ ~; z
    $ ]: \" f( B. U' o( @对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    6 d6 y/ U; A* s1 l$ g1! M' k' M- F: _9 a, I

    1 Z3 V6 X: I, n( i$ m: T ,...,f 4 I& Q4 k% ?8 z( L7 B
    n
    , W: i* B. c! J1 d# y
    # h, n7 K3 T& B+ N ) + E) _2 B4 t  A0 h/ _* w9 d
    T
    : t- }0 P& t3 Y1 ~. k* Q% R ∈R
    5 B3 i4 J  {9 H0 Wn" B% w1 B7 Q4 J; p6 Y. _- l
    ,有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
    9 a6 J' s$ U1 _: D' rT! o' n- S. M( S! n; ]- d# g
    Lf=
      C/ i, c& ]$ Q. n$ g1 `9 k2* `- p# R& o4 `' X+ e' K
    1
    1 b& |: t% W7 V2 f& [! V+ O
    5 U" H% b. [' b. p
    , N" I- u* v8 [6 E- h6 ci,j=1% i0 ?3 }9 L0 Q

    ) N& N8 B; x! kn4 q3 y8 K4 A" O$ F, v* A; V
    7 |4 X7 B! U6 k9 y) N
    w
    5 W/ l$ A5 ?8 Y/ `* @ij) V7 A# I$ u; W6 A; ^" z6 [

    & K* @, O( }) r8 C) \8 j (f $ [# H% _  s  k) v9 E, |
    i9 R4 s- {$ i5 }* o/ M2 |
    7 l7 |# e, u# \1 U3 s
    −f
    + E% ^) M2 _2 z- bj9 V: i# B! E! I6 j& d" b
    ( G9 m' o- K2 \2 M% K
    ) ) ^/ J4 h. Y/ v" k2 V
    2& E7 `- E6 [  ^. i6 q$ f! |
    9 L$ A' d, U/ [
    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}|}7 B9 R$ ~, w# F' D# h& ?5 X# _; _
    h + r) U1 T& u* N" r8 @& x1 O
    i# _4 d% K# P, \# r) k
    T- i0 H, `0 I) j7 `
    ) y  [6 ]/ S' y- s; z
    Lh # |% q' Y# G, D
    i
    0 I9 `* i6 w8 U" V" B
    + ]& I6 x$ m* j1 P. Z = 6 m1 S" f' }; _
    2
    ) K+ ?5 f+ r! w4 c  ?17 |& E3 E% ~, Z" j3 C2 I
      V+ T. b: [7 T. }3 p  y/ p
    $ |. m" G3 J0 q; ~
    m=1" ~5 B$ z+ n& l+ O6 ~4 X
    & u; f% l5 d; {' V# A. }4 t
    2 I0 ^* k9 {! |7 p; F' r

    ' E2 G! W1 h4 {5 i' B9 Yn=1+ \1 k: k! [6 u2 d5 }8 Q& c) [( s( E: R
    4 {7 @' Z  i! R( u1 n3 A
    5 }, d4 N5 g- y" A2 h
    w ' P, e& \. e/ d+ J$ ^( j( _
    mn+ l; d# i, v( m0 h

    1 g+ d5 a7 _9 S6 F- R9 o. o1 G (h & B: P/ J* @2 ~( S2 s1 M
    im1 @# L+ S0 K# `

    8 d' G9 i( d. M, D" @7 V −h
    , @! p- \5 m  k+ \2 D/ l* D4 bin4 H7 [& ^9 _' q9 B" c8 U) ]0 w, A
    ! k- p( I4 w' Q0 G' r7 w  f7 Q1 J
    )
    5 C" h9 @: U9 M. y0 H8 E! i( O2
    1 H8 b, ~( \1 V. Y =   C) V. M1 i" v. z2 _- ]
    ∣A 1 M  n, [7 U6 V' q9 U+ k
    i
    3 y& q# l: z1 I$ Q: r  P0 S/ \) v
    + `8 W% I  }* p9 I; E* o/ L7 T" }3 A" F  t
    cut(A 4 m7 Q, f6 }& Q1 X' t0 u1 Y
    i# W/ Y; [! T6 }' n  }5 y$ o

    2 ?0 b. E: X$ p( |+ o, n$ x6 V ,   _) Y$ Y% y7 e) B8 s% V3 p( E  `8 \
    A
    9 g3 D5 ]( Y. ~  K3 Xˉ; H& x! Z8 B( c

    + W1 J8 |3 \( V) {+ ]i  r) D' d4 c' @+ z" U6 v
    , W# E: v  W0 U3 ?. q2 G. ~" }
    )
    * P* ?4 ?4 X( f, [' @
    & C! v* m. R$ w2 a3 a" ~: w
    + w4 ^& \0 p1 \/ c' |8 o" V$ ?' ?8 h4 s/ p% I4 h5 {
    严格证明过程请看刘建平博客:链接
    ' X' x/ s1 n9 O: @" d  S可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    # f" }0 w% W2 w9 S  \i
    % i! E$ j( g4 N+ k! G) {T2 c  P( c6 ^  w" \5 l
    5 A. H  x) Q* k/ g9 y+ y+ J
    Lh   h5 B' Q+ i7 d, @0 a5 J. Q
    i
    : J, W8 l5 I# S4 T* ~5 Z2 p. e8 V3 U- A4 r/ ?
    ,那么对于k kk个子图
    ) e9 Q  b6 N4 C6 C! Y
    6 ~# y, l8 i- U) lR 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)
    6 u6 T8 m8 u7 z5 M& b4 qRatioCut(A
    5 c( b  _; R: b* I+ P1
    ' G; }9 F* G4 H# v5 u4 Z! R; }' `: t5 q6 e) ]) X0 [% i& h7 ~2 ~
    ,A
      Q8 e1 V' u; y& q3 r2, [% v% o. i  B8 O

    # `2 `7 P3 O# a: A$ K) w ,...,A 6 T- h0 |" v4 d, l- @
    k
    & @2 `+ Q8 z5 p5 @; g+ i
    # q2 |/ Y) j8 t1 _: v( e )=
    ( k. K. O5 ?7 U; @5 R8 ui=1# V7 l4 r, G5 j* r. U' d4 m
    4 m5 g2 V+ p# o4 i
    k
    % I. i: z/ W7 v# O5 C% m# E* E6 ]
    h - c6 ~1 w: P. ^8 P
    i
    8 [' d, g2 A! F0 h# fT
    3 ]5 v3 ]) C; B; A
    8 P, ?& R  V1 z& i Lh
    ; Q6 q. A6 ^1 M* d4 F9 Ti
    ) f8 l9 [7 N; \- ?0 g) ^! t9 o1 d! ^8 k! D/ \8 e. x. f
    = ; U+ i6 C4 y2 Z9 J
    i=1! E9 V6 x( x2 y7 w( T

    # s4 g, _- s% h6 C+ jk1 J  `& g3 T* s% I

    - r1 |1 p9 L* ~* | (H
    $ |+ Y  Y$ Y7 E- g) p; wT$ N# z8 |# {, B: _6 @) o
    LH) 0 r" u7 d, ^+ T6 F
    ii- J; b- v" X; ]; p0 y, ^
    # `3 }, i" ~3 R0 y
    =tr(H
    ( ^. r4 `2 Y9 G, b. E5 K* P7 T; `T
    0 M( q8 `1 E) W, m$ w) c LH)
    2 N6 A$ [% B5 W/ d& y7 K- z7 h. m3 T8 p% b# J4 K
    因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H
    7 h: W4 ?; T3 LT" G* H5 H: Y+ P* w. L0 _3 c
    LH)。又因为H T H = I H^{T}H=IH
    ' {7 ^# A0 ~, W3 W* T2 MT1 ?1 K" S% U' O# V
    H=I(单位矩阵),则切图优化目标为
    0 K* J) _. U8 B; \* d+ [! l1 D7 Q5 p, L/ r; e' l$ E! R
    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=I1 K9 ^) E5 w, B+ p3 _$ C2 b
    H
    9 b  R& d: ?; ~0 ^5 |- Margmin0 T) p8 i, s& n( y& L5 m
    7 h0 |8 z& ^0 d3 T# z. N  h: o
    & g# O5 h6 b1 B/ }% d0 P/ n& e

    ! n, q1 Z. l: z8 ]- h" o. D2 R tr(H
    ) v! d& g! I+ r% p  G4 rT
    5 [" u: ~9 [( Z" C- x9 Q LH)s.t.H
    . V  j5 ^( a- {/ }T
    9 Z, v. J! l1 ^& k H=I( Z: _4 _4 v& u# g/ K  ^- S& i
    " b. w% R! y' Z- A
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H ! v7 ]6 A  k" k2 k5 o- F" R/ V4 q
    t8 [" g: @4 P- D( n. P' a
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h ( g/ a' Z& H3 r' w2 ]
    i
    1 y9 {& f% k# B, q( VT
    ) o: W$ V4 B0 l5 f' R% f- ]$ j0 R) H) I/ n8 l
    Lh
    3 {( Y8 p, y/ o/ ^+ L# y3 Yi
    - d7 ?1 z3 K+ g/ n& p5 s9 h. Z& k+ s# d: z% ^' n7 h# A  @! n
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h ( H/ C" X5 T9 h  b
    i; u8 {. B, P  R1 J
    T% [7 K7 N8 v5 k5 E

    ) c  B* e) E9 J( M5 { Lh ( `$ d- O; D. m! ?/ ]  l  A
    i
    6 F( _2 y0 R' u0 m- v
    + y6 o& z2 V5 O 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h
    / t% g% w1 e# ~" r; M. t  W: Gi4 r; R6 S1 s" Q2 B# q: ]
    T9 e, l1 d. l: F5 w, S+ r9 L! d

    - u. C3 b6 j; v* i0 Y1 q8 B2 s8 w Lh 8 X* A/ X, w+ X
    i7 a1 \# C. w" s6 ~- X! U1 G
    7 ]2 `' v, n* W- y
    ,目标就是找到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
    % F3 V: K# p' Y4 i) o* _  vt) k4 ^# z/ i. i' c
    LH)=
    / v  I8 j# Y0 gi=1, A+ l/ a" W7 F% L, I

    5 V1 t( @+ k- G( D+ E& ]' Hk
    5 x$ Z1 C, h6 `# u" m) Z
    6 D, V$ Z0 p& v h
    ; l$ k1 e  [$ w) W0 e$ T' _& qi; ^( h( u3 d) P7 j1 @. m1 }
    T, D: }3 B3 q3 x
    & C2 D" P$ I7 e! a+ ^: E' o4 K" f
    Lh 8 V' g0 [0 X; h, J( S
    i
    8 |2 y+ |- k" H; L/ F4 X
    3 {, v, |+ y  V8 }0 L2 \ ,则目标就是要找到k kk个最小的特征值7 t; H# S2 d: A6 R% e1 [/ }7 d7 {
    , t* i# l) v# B$ h
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下& `; D2 C  ?, t. E
    ! Z! V, T: ?1 a" z9 U. C- _
    一般来说,k kk远小于n nn,也就说进行了降维, r3 \; `$ ]1 z4 s& b4 Y" q
    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}}}: B' q0 `3 Z+ G  \
    h
      W$ T$ v" U/ x$ u7 ]( q5 sij! ~: B. G8 I$ L$ m
    . T& E  [1 w7 t. ~

    ) F/ b, i7 G& g' ^, D  k% V1 Q/ Y+ i& u =
    5 f, _( C: R8 C9 p9 o* U( / z& ]  R$ u) p5 _$ Z0 l$ j( Q
    t=1
    6 d) E" t& f, Q2 Q, c7 L7 h0 D; h, ]: m/ s* r6 O, g0 C  f
    k/ ]* n' y8 l+ n6 T( |" g
    : |( N. M; B6 w2 I. Y% x# p3 ^
    h
    7 u: H1 X4 H3 c! tit
    / N4 |) O, S" K- M& ?6 v- W0 X: f9 R26 v: U  B% S) C0 g

    $ L% x  c, `) h: J3 L# N0 ]& H# z )
    0 ?7 b" H' e! D( ]7 _. b' b4 Z2$ C% H! o$ Q# [' z" V4 l3 {9 s
    1" O3 Z; W6 B" N" {1 w0 e: q8 V
    , k8 O# q( K7 r9 h: `
    1 Q3 z3 _5 y8 e2 C5 Y
    6 {3 O9 _8 S6 H) g& T0 T6 B
    h ( o5 {3 n  d7 L3 ]  N/ T6 y5 U1 E4 E
    ij1 m' A3 |' F. ?7 P: [
    6 l3 s; G+ p3 ~( T$ p( J
    0 |9 G5 d6 k9 i6 z+ w& b) x; J) T
    2 x. |, T# \3 R
    2 \. H6 v( E7 m% ^" P& O

    ; V, Y9 }4 v* _( b这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    ! P8 k* Y$ X: `
    ; W$ L2 ]3 N9 @5 y  a7 b(2)规范割(常用)4 A' L) q2 L- ]. ]6 `7 w+ ^! r
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A ) c- B, r. N3 G  i6 ^
    i
    1 m) B! p8 G3 ^6 j" ^$ o7 {. K
    ∣换成了v o l ( A i ) vol(A_{i})vol(A . G3 I4 p0 y( l  o4 _% @
    i
    9 V7 e- Z) e# d8 W; z$ L" r6 b7 n9 w
    , M4 L4 g3 u; c# E5 e ),定义指示向量h i j h_{ij}h
    5 Z7 C$ n" T1 [# m8 ^8 aij
    % M: C+ ^3 ?4 k- J" Q. E% ]6 n% i+ {: Z( z- x
    如下3 n" _7 ?! D' F% p' D9 s. g: T

    & T5 _' C" T. D" `5 G( Z' Rh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=' h7 S3 J& ]/ b3 ]' ^6 D; W
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj2 X6 `7 A" g* e0 f. v% i) {: [# j
    {0,vi∉Ajvol(Ai),vi∈Aj! u$ d8 H+ t; q' {
    h
    ) f. e% j: U+ \ij; S4 G* J9 b$ U) V
    7 I% a- r4 x8 H: @: {
    ={ + ^" ~) }. v1 @$ f  u
    0,v + @# u  C7 g# Z& u+ E* `! h0 G
    i: z% |$ V" _+ g% T3 F5 c, ?

    . B6 d" g3 ]) Z2 `( L5 D0 C- z8 G
    / S6 K& N4 X& @5 {% t1 E/
    $ u4 T, F: b& P3 u5 B1 R# U0 |A ; Z; H( D, Y- C5 X& G' e/ V
    j0 b, {% Z6 b8 j( \9 H6 f& E# `0 p

    1 q% @1 h1 ], C8 e8 W
    ! v0 X$ D2 n& U5 D# x  f4 H( cvol(A
    3 u4 g$ D, L4 a( n7 b* A( |6 oi/ x$ n2 h, o+ V( O; U6 P

    , a( S, G4 p: G4 `' H4 M6 K2 D4 q )0 G* a3 N9 G2 i4 I/ Y$ L' Y% u, q

    1 v8 |- [' o% m* P" g ,v 4 I$ K8 ]+ U& K0 E! y1 K
    i
    + q/ J4 W' G  f5 `; C! J* p
      e7 m/ w* O$ W5 i9 ^ ∈A 4 P$ O0 `" o! `3 Q1 Y
    j
    , t0 a: P& [8 x, G4 S& ]2 G  u- Y9 {7 i

    : g8 M6 C+ U) q. U& `( F( i/ V  {- X/ O, K+ ]6 x# Q

    * f( }+ m1 v0 p/ V
    5 i1 j; h9 v$ s  I$ f9 t于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    9 L1 I0 C% t$ V# [) a7 A& {i
    3 I8 A5 I( @  b! ?$ C  N; RT8 R/ t- K8 P# m
    * w; Y3 n. u+ u, f. M( F( Y! H
    Lh
    2 H) C7 o6 i  |* Gi
    * g( H5 v8 H. `$ f
    - i& V- D+ ]/ X* T% \# M ,根据拉普拉斯矩阵性质可知) y' ]* r. H6 K, s4 S+ k( ]: s- i2 ], M
    5 b& ?! U4 m6 g: X2 R" g  B
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f . q: ?) z: U; B/ E
    16 C8 g' v& {& Q% W

      U- l1 p# U5 B1 ?# c- p* _8 } ,...,f
    & b& c# V+ ~* h4 Un
    ! g0 J$ F( B, g. H
    ! M% w3 e! R) q8 b4 W ) 1 [- Z9 x9 s  Q' B5 K" I" c
    T
    ' E! l5 a3 D7 [+ W5 b- Q* _ ∈R
    $ _& ~9 l8 }; K9 Z% n4 J- x3 e2 rn' @; T4 T  G' w( H
    ,有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 1 w  `5 K5 Q8 s+ f" d2 G
    T% o2 v9 i3 H! W3 ]. F3 M
    Lf=
    + @' D1 I7 U9 Q0 ~2; W, L3 w) q: P! n
    1* e; R$ F. ?/ }$ ]8 v4 n, l& I
    / e0 d  ^3 C: Y) r; {/ c4 }
    ) u' [, ]: J, x
    i,j=1
    4 ]9 {) h! A# R) X, U! I! ^+ V4 W% }" [9 e3 ^; X
    n# _  s. A& s: ?( W+ V# ?' v* t& l

    " c; p6 C2 Q4 G* l1 Y% Y, \) J w 3 r+ {& Z$ [, e: {/ S3 S- f
    ij. W, f6 r; j- u" f

    1 N& w# d& s; z) Y. ? (f
    - `( D7 ~2 c# \/ A  L& x- Ki/ x1 J4 W; ~( S% m& g( J; g" H, o
    0 R+ m& D7 G& [8 k
    −f
    2 y+ Q; M+ I% ^! x; {/ Vj
    / k6 \# b) w) g( I  i- e
    & K- T& z; Q, I8 |5 R7 z ) / w3 v2 L- r0 W3 j# Q" K( N: D6 K
    2
    % \( \. x6 r; q: B, S; M
    2 E, l# M  l& B2 l6 n0 `) \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})}) G( x, Q. B, I) v$ \0 x
    h
    ! `, ]/ d3 w  e2 Pi
    % x* v. s. ]5 MT, m2 x. u/ H; i, k6 O$ @
    1 o- J/ N$ r5 y( p1 [
    Lh
    % ~  ?  u( E0 u; X/ J! Fi
    2 g0 @% B- S0 ~) V9 r" l- u* r
    ) A1 @2 K( i. W9 j0 r =
    / ?/ f" O) e% F- @9 G20 z- t  l$ D3 m& i
    1
    * {7 N9 p5 G4 h' J  ]! e$ a/ d0 ?' n% Z( g' r

    4 l  |* k4 e! tm=12 `3 d; x" V. j
    3 }- n& v" m$ p4 K6 Y) m4 B1 J$ e
    $ o, h. S% h. s  V

    ; `/ ?- N4 d, ?9 Ln=1
    ( i' ~4 E# W8 ~: ?, n0 ^$ N  {" A0 C1 f% U  {2 n
      ^) K9 l' C4 T
    w
    / M+ @- D- T2 r7 w; V# \$ Cmn# g' q) _0 g6 ^7 S, c) Q

    ! y; e$ w" F! _$ e (h
    * v( ^* A( e8 G1 O* tim  _8 |! _) B' z( E5 l- Z2 `$ s

    7 b  Y. d! j6 U0 f. V9 g0 T −h ; S, _2 d- E7 v- z2 ^
    in
    3 ?9 s- ?! i, V7 `6 c( x
    $ c, E9 S; |( T) n8 w* N8 k* W )
    % L& m6 a/ o6 s: l# q8 {2% G' }: e1 V+ J& Q
    =
    & F! [' w7 F1 H7 U/ l! z, Bvol(A ! B" d1 O1 h. y
    i, u+ u7 ^8 W7 x# O0 E2 s

    3 b3 B# F. ^4 ~& ~4 \# u0 f )
    / L7 g/ L& v/ I; J7 }  W. O2 P& ]cut(A % V5 K# r. r' V5 Y5 t5 P' U5 G
    i
    5 k/ f& R4 f, z; [
    * q+ v3 r6 C) u , 0 W5 T8 D+ F4 r3 ~: C1 }+ d
    A' l" C$ _% z" r2 D( ~& C
    ˉ
    ! J1 i" W$ W3 u" X, Z$ i
    + S3 K" C. A- `" c9 b) r. u9 B1 r: Xi
    * \  V$ c2 S" }8 E! t9 Q  Y
    * V4 B2 p' S- Y3 L& Q )9 Y: c( }9 z9 P! I: K. t

    # r' n8 m2 T" v( ^5 K; D
    , p3 B: O, p0 X) |, c
    . @1 {& E4 Z- S严格证明过程请看刘建平博客:链接
    " K$ ^- A! R: @2 m, {# A, ]( [" G可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h 9 }) o7 g1 M6 R, E9 J8 L' T* r4 {
    i
    * D. _" B/ E" h9 r" FT5 _+ {6 d* q* O7 T# A
    / H* a/ f" a3 E
    Lh 2 C( F4 Y/ p3 c8 M1 s2 X: `
    i
    3 z' e/ x7 ^' D0 L. U3 j; ^# L
    # M* N. c. C6 o* _6 ?$ c ,那么对于k kk个子图
    " {7 X( ~  I; l# i( u+ Y9 A* A3 z# ?0 D% @& I; ?; ]. s
    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)1 d% k2 ^$ t  w5 h6 w4 l
    NCut(A & X" T& U/ O+ b4 c
    1
      r' w1 a  ^) ~* Z. h; c
    # p- l( Z& u6 a6 h ,A 2 ?. T2 j2 o% j: S5 @# g& J! M
    2
    + o; Q8 g  f% t; J$ J2 a) H! K
    ,...,A : C; ]6 o0 e* j( m$ |
    k
    9 y% P" ~' X) s4 D# a& a! F
    ' ^' z$ ~7 v# H& s; G5 U5 U )= ( X5 Q- I+ w6 l7 @/ V2 \
    i=1, y9 s$ ^# l/ j7 l; I* n

    7 p* [2 f$ G; S) ^k& F: G$ S* F1 d5 |
    ( M* k3 {" n5 s0 d# z- Q2 }
    h
    6 \( \3 E0 Y2 \- ]i2 w7 O9 g5 N4 x  Q0 @3 _  y4 n
    T4 f. o/ U4 d. v
    ! j: w& p# M5 O
    Lh : U0 v9 O0 T  P7 N/ B9 J( T
    i* i+ p+ R; S/ |$ T) K

    6 W4 X/ f4 r; E% n) W- B = % z/ O% b, M6 g; H
    i=1" Y- \" K2 f; E' h( {
    ( Q% j: Y/ M2 v6 B6 k5 B
    k
    / T. T* ]* b# z' {
    + M, D  K* s' I; M# G (H " e$ z+ b, x# P! K" |
    T
    % ^" N" k; W3 I0 I& U5 h2 e7 G LH) , a% x' z1 L3 u& w+ i6 o
    ii% ]0 s2 p; f1 v& M+ m8 ^/ U
    ' C. v5 j/ D9 Q
    =tr(H   [4 ?; l8 v& I: J
    T! S5 b, H7 i+ e2 t7 }+ ^( M7 D6 J' ~1 Y
    LH)
    0 s# ?9 Z' S3 Q4 \9 B( X
    ; Z) h- H, d7 d  P  M但此时H T H ≠ I H^{T}H \not=IH
    9 }0 O% q% _/ E  {T3 a' P/ t+ A* {% M  p/ n( ^
    H
    . I4 A- z3 d  F# B0 N8 w* F" B
    % R) S. ^( K! d9 y( X8 t6 f=I,而是H T D H = I H^{T}DH =IH ' A4 ^. {+ d3 M! T6 n
    T
    & a& x0 W" e/ f- K: M, g9 P DH=I9 V# G  @5 e  v2 p8 E) m5 W3 N4 R5 X
    0 k3 A& ]+ y" b* ~1 E3 e. }
    这是因为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 ! l/ h6 j/ g  ^0 |4 \( E8 Q5 Q
    i1 u; Q+ ]9 ]/ w- [& _  G
    T
      N( F2 m$ A) H# _5 Z: k. k2 `6 l0 n- y3 {1 X% L0 i& Z1 {
    Dh # B* C+ [' Q/ ~
    i4 [+ d1 d$ p: [* C9 d$ O& [
    0 n/ w5 {4 d7 ]+ j% n2 g) X
    = ' Z9 o, X( w. y/ C. N
    j=1
    1 v$ ^: M4 N' O7 W: \% g1 K" T9 A- m' A2 z7 P
    n- ?* v: J; d7 \4 [9 g; X' d

    , }7 j: A1 J* C6 Q/ b h 3 |3 P! v9 X$ i% M0 |
    ij2 Q/ B5 z# x, f% |# L/ N" ]4 |
    28 `, G& e: ~7 y1 ~) {$ B/ z' j
    , v9 h1 _+ |$ {1 Q
    d
    : Y6 `" A7 x5 s# ^8 Nj+ [$ c5 l9 t: X- M+ ^* W
    7 J% ]" R8 {: W2 l
    = / Z, }/ g  E( @% z
    vol(A 9 n  f& |+ V# e/ A7 c$ R9 K' h
    i
    0 G1 g. i& r( c9 s1 |( ~! I
    ! t) K7 ^  k  F  f. _$ F )1 V, c% [6 b/ l" V: ^; b
    1; Y* M* u" V8 O3 ^

    * M0 h" j* l- y8 a& S
    ; j1 `: {0 t. G( Z; S" x# Sj∈A
      m$ u5 {  f4 Z$ c5 j' di) ^: j) ~0 @2 l  C# e7 V# w
    ; N8 T+ ?0 p2 u+ E2 l* l) D

    1 u: T" [  ~& s" F- t9 q. |: m: q+ E3 U- Z3 J
    6 b! L& j0 p5 F! [) \: r8 a
    d $ J2 i+ S9 {3 I5 N( ?
    j! `$ i" f+ J1 W/ E  W4 w) k

    2 \6 p) i" @' _) u' x0 \ = * S5 j, D% M0 @3 Y
    vol(A
    , Q7 u- p+ X" L+ a2 U8 R: y+ _4 ~i9 j: w% `0 t7 b' w" i$ ~0 P! m
    4 A# E; {, n+ Y  u3 C$ l  }
    )- T9 V% u5 J5 X! T
    1/ u: q& Q3 A# c% ~; F+ G

    ! y0 P) s1 l( \- {  R- B vol(A . P3 F: |' t7 q# t. s
    i
      J2 r$ v' D, A* ^0 C& P! Z1 s. `
    )=1- K: ~) O# G5 e9 f9 O) c; {. S
    因此,此时切图优化目标为
    - ]9 K; P! e, g" M: L# B
    0 C# A! e# {+ @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
    ! l# }+ a7 Z9 \$ X7 W% IH9 e$ F+ X# P) O
    argmin5 {: o( d+ \( e2 S  R1 U
    ' x" D7 A7 g9 f- q' V6 l
    6 ]6 h% Z1 C& X9 A' W7 ]" O% n/ D
    ' p; t; I6 p% m! y; b' K5 f3 |- @
    tr(H 4 j& t- B6 h  {" s5 {3 l
    T
    7 i1 F( `3 {8 u: a% E# T/ ^- O LH)s.t.H
    7 T- d) a4 V" I1 }T! G, q" S4 A- n
    DH=I; G& f8 a; k3 y, t0 v
    8 p/ h/ s. `# |8 W8 H  `* I
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D $ V, m/ j! ~4 _, X

    8 `/ J: v! K0 D  N+ z2
    + |  K! m, r! ?5 i5 E' L/ Q5 |17 R8 P& P6 M2 g+ H
    : z0 R' `$ T) h5 A
    ( F( I+ i- k5 k! D
    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   n& h5 R# X2 r- b
    T
      v0 n8 Q) {, Q& V$ d7 i0 r LH=F - X* S6 {* H, K0 p
    T
    5 `% i9 O* c" W0 G* Q& G D & ?; Y6 h1 F" ~9 ^) ]
    1 `; e) G% E2 c/ w8 R! ]
    2
    # S- C: _% x% J) H; V/ k3 J" v5 P( t1
    2 u8 a8 Y* Z% n; `$ a8 E8 b& ]
    , B6 ]: b; G7 L3 Q% T& K) ]3 f2 U, {+ M3 c( _3 k4 }
    LD / [9 Q/ N* w( L& L# _: ?, ?- d

    ( W5 s& {. s$ W! y8 N  Q0 d' P2
      g2 D2 P0 a) g7 Q  }) N1
    ) C* @3 V* m) ?* F' E6 t) E# t2 {
    % r6 E7 c6 e0 i8 o' D( l6 p/ C3 u- j
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH
    : p+ A, E8 E* L9 }* wT
    3 l/ [' J+ T* K% c; p- j7 V DH=F
    : x3 ?7 {9 V1 _: q6 _T
    7 ^% l2 y- ]2 r! E, n. n/ S F=I,于是优化目标变更为
    5 R2 t; g7 A" P4 G7 g; t! 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
    + @6 Y6 h# o& v) s5 l0 fF
    . C) {* @9 t9 H. U$ J+ U7 I3 D2 ~argmin
    * A$ J9 j/ ?3 I$ r6 I+ q! F6 r2 o0 k- A- {9 \  w

    7 _- n2 L( W: m# j5 C+ [: n# w& V4 h+ U' k# {2 H
    tr(F : v; i8 ]" o. ?( \2 v3 K$ s
    T. b1 Q* N# S+ A0 Y$ _
    D 5 F; t# o6 O# @! V: z

    & h, w$ h, K0 Q% R2/ ]3 R" I2 R4 A8 B( G3 i8 K
    1
    , S+ D, Y1 O, T: C7 T" k  _' p3 g) T: W' e% ]0 d* s' s5 X( a: @

    * r2 C2 A1 o6 ], u6 z& y/ T8 I LD
      Y$ `( o+ z* n7 O2 B4 R
    0 G3 l# ]! I2 G5 i7 C1 b1 B' w1 R4 z- U29 n' q5 S# ]; b) D7 o( P. H
    1
    ( ~, q+ t3 p! r* H
      e1 K" m- s  E8 _% X$ K! D& {+ C; I
    , f% G8 {# L! \  M4 } F)s.t.F
    2 \6 j& n! e6 |: I) O5 m; \T
    8 F/ `$ Y- R  k# }# A  i3 k" z F=I% R8 D# e( l/ j+ ]9 u+ Z5 X
    / F8 @5 _( e& y* v" I1 l
    现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D ! S' V" X' X6 w' P

    4 h# }" @' R3 @9 [% m2
    % u; z. k* M+ G( h+ e0 r" ]( ?1
    6 A" y; h/ c) \  m# K) J, {, q/ M* b  S

    1 M+ k5 T5 e. u LD
    3 _$ X' U# c7 ^4 M/ v, Z$ p. X. J1 `  c9 B# }
    2/ ]% @% o) U; T. R8 e8 s
    1
    9 G  d6 g0 E; }7 p& x
    / W/ i  I) }( M  V1 M  R* A0 \
    % w! n5 `& K9 \" x1 u7 ?* C" p (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    7 z' y  w  T3 b4 A: B0 T, U' o+ p0 v
    一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D " f7 \% a$ f1 v( g

    8 g+ l2 S$ u% w. @2
      D; V( H6 E, @0 X' w) k11 Q! q4 {* E6 w
    ( Q- e1 ^6 m  e+ L# a5 a

    8 t& i5 a& R5 U, W; d: h2 Z LD 3 T; l  S3 g+ d3 Z' b
    # j& V2 W4 J  u' c" D
    2
      s/ A2 ^% j8 L+ K; w" A7 Y% o1
    # w8 \+ r5 [! X$ e( @
    4 e4 M( I. ?3 m1 p; X/ Q# o( X# e' U% B0 S8 d9 B8 X3 V3 f
    相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}}
    7 o4 w2 A  R$ Fd
    , g9 U0 b8 ~+ {1 s/ u% q5 p& b5 Fi# b9 x; n  Q4 C) s1 f  B  }

    5 V* @4 u9 T2 ~3 S% F, S ∗d 2 q# ]1 T3 w) e0 n& `- j! u
    j
    5 o+ a. P- [0 U* Z: b
    3 l' x) G) H+ x- N( G, N# E/ m0 q8 \* X9 L; s
      x3 _& n( P4 Z6 C) m$ ^7 k

    & ?8 F8 P+ G5 g. S8 J, jL ) ^, R; t: P) C* l0 z2 z2 S, v
    ij
    2 G; q0 s4 I- _7 P
    & I5 G, Y- S; _9 W/ p4 z$ J# c+ t7 t, H

    ' I0 G/ A8 e5 J6 I/ }, h9 D: X/ Z) Z  a. b
    二:谱聚类算法流程
    ) `$ J+ N' p$ S. c9 y给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    5 U* Y, t$ L8 H, v1
    6 o- I, X6 m& r' b1 E% @) y1 G0 j. G; ?* ^6 t- y% H! B& g+ a7 A
    ,x
    9 U; F9 C) y# `- w# S2, S! i: N4 k  F+ f! |9 K

    + U% b) |) H; c( D. g& W ,...,x * H% c1 m3 ~' q
    n! ?( ~. q3 C1 s. ^9 }( b
    2 e; q/ D/ B- {$ E9 `# S( T/ x
    }
    1 o- P( U- _1 b, o+ M9 a2 S) O
    " c! V4 C2 a3 J" b2 x根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)
    # \. G* X" T' p2 l( D9 l根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD
    " _) \8 w# G' z! d计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    ' a3 k9 v9 Q. V9 Z5 }( c得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    5 O# X' V! k6 n, q* f* }8 z! @8 ?9 x! o: R/ Z1 I( C
    2
    # Z, f/ K, f6 @/ T, Z1
    ' P( c" R; a# E2 p$ [5 X
    , k* R+ w7 A  W% J- v& c9 y( ~  J9 n- I9 L6 Y
    LD
    8 `. _# C+ h+ U4 C" X3 X8 {9 T4 [" h0 O( I5 Y2 R
    2
    * J- s  v( S6 |1, m9 y3 r) W& N& b) k
    2 N9 r+ N% w, Y( Y; V2 c, o+ X# s8 D

    8 }2 S9 b! o, O/ _7 u% ^
    + N0 W- d- }! q+ i2 C计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    % b3 f' j% x! W
    0 G$ _) W7 O) J: Q" X3 j( Q2
    % P4 k# [) F3 i: b! ]# ]& D1
    % p, e- T6 s- l/ `9 u/ _
    * @4 r/ w$ r# R$ Z5 h( P% N& N' n! b: c4 }
    LD ' B; A7 N! L% t. m0 Y+ v& J" Q
    * M4 C. X/ V! g7 a6 w0 k# A
    2! w) }8 ^. ]5 {$ I- G
    1
    + w7 d* M5 d. E6 W3 ]" c7 F# k" y; m# ^& p
    # p' x* Q6 n" w- z: Y
    最小的k kk个特征值对应的特征向量f ff
    5 Q3 [8 {6 |6 X8 Y2 V0 U( G将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    ! y: G* ^: Y9 |, j0 p. y3 b8 t/ tF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k * x$ F% \8 G' z7 v
    . K1 e7 K  d- d

    $ c8 u' X8 R, C( D5 i得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c ; j- U9 l2 o8 E  U+ ]4 r
    1# Z* l% T+ N9 P! O( L* d8 N
    4 ~+ o& Y9 B5 i# g6 W2 W4 y  c) O
    ,c 7 v7 n* J/ ~% U5 a3 N5 W. c6 r+ |, e
    24 r- P( c4 s: p# u) ^% n: R& Z6 _7 ~
    ( x; j5 w" f( h1 r2 z% G; R
    ,...,c 1 O" Q3 S0 H3 L, L0 j2 w8 u
    k 2 u/ A3 @3 l/ [7 f
    ! K2 ^& m) _$ V6 ]# A9 m* o7 e

    ) A/ W/ m# {) b
    & V7 Y% q7 U  F  P6 e )
    % U  F1 f! W( C8 q三:Python实现3 M, q1 u& \% M9 G3 K
    import matplotlib.pyplot as plt
    ( T/ }* U* A  m: {# Eimport numpy as np  T, \+ z$ f6 q2 l
    import pandas as pd
    & A- T8 |+ ^' Bfrom sklearn.cluster import KMeans
    9 y9 I5 ?5 i7 |. J- u, N3 L8 hfrom sklearn.metrics.pairwise import rbf_kernel
    . q+ U* y. M7 i: Nfrom sklearn.datasets import make_blobs& K+ N0 e# V6 v
    from sklearn.preprocessing import normalize
    4 ^8 R1 F/ \5 x: i7 y& W8 K* c
    6 U; Y( D0 \# |: pdef get_affinity_matrix(data_set):
    1 n$ Q4 D: W& b! B2 O    #  利用高斯核函数计算相似矩阵(全连接)
    * l9 m, x$ q2 h3 U    rbf = rbf_kernel(data_set)  Z# \& U# }2 L8 ~( ]. }
        for i in range(len(rbf)):
    , e, b) D8 b- k/ T/ K5 w7 w- r        rbf[i, i] = 0/ U. \% {/ @0 _
        return rbf
    / e5 y5 U, P/ r
    0 }9 p1 f$ e% L% b, ]
    " J% T9 J' h  `7 [def distance(x1, x2):6 a& s1 H3 [8 f
        """9 O% e1 n6 F7 a; @
        获得两个样本点之间的距离, B2 l8 a5 S7 ?% Z, x
        :param x1: 样本点1
    8 L2 c: W2 v# e* E' L3 u/ z    :param x2: 样本点2
    ' i, j( L$ j, K3 g" {: E9 D! i    :return:
    0 F7 C, _6 t+ d: o0 v/ ]    """
    ; k6 u& x: j6 z' s* H    dist = np.sqrt(np.power(x1-x2,2).sum())5 b" k3 G! J; v/ r1 P7 b
        return dist+ o( ?# H* o$ M- v, o5 s/ V

    : x$ d5 Q% @3 _* Bdef get_dist_matrix(data):
    $ X  _9 I1 O4 }! v5 N. E# l) X* W    """
    & G. L4 ^% R6 A    获取距离矩阵
    # A( _9 t9 M% X& y# M    :param data: 样本集合
    7 p1 W# B$ D0 E0 e9 `' @& ?    :return: 距离矩阵
    : f* M$ r! i1 X2 y    """/ ?( C2 T8 a6 Q: l2 F) _1 M) |
        n = len(data)  #样本总数8 L; r. A6 [9 f
        dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵, }2 @" k3 m1 o
        for i in range(n):
    + Z" R1 X7 o2 J6 M8 z0 ^% Q        for j in range(i+1, n):; }/ I. d" f5 P$ J
                dist_matrix[j] = dist_matrix[j] = distance(data, data[j])! q* W- P: y: E2 \9 \
        return dist_matrix
    1 F# ^6 e" x) T" G* A6 J$ ?: G. G: b& r7 B8 Q5 y, [: N# s& s8 \, c
    def get_W(data, k):, O' r8 t! q+ Z1 f! M
        # 获取邻接矩阵(K邻近法)
    ; u$ ?3 \$ f8 N# o3 l; J: a    n = len(data)1 k1 u" v$ Y$ U8 N
        dist_matrix = get_dist_matrix(data)4 g: t' o7 M9 B+ L
        W = np.zeros((n, n))
    8 @1 M( N1 o) V9 k4 Q3 d    for idx, item in enumerate(dist_matrix):  z/ Y. A9 {. }" i# _; k, d
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    ! T. H$ I* e" N/ L8 l8 ^        W[idx][idx_array[1:k+1]] = 1
      @3 I1 I  v( Z# x+ O$ e9 h" E- B    transpW =np.transpose(W)' E: x. C9 r/ z( }3 F) y* Z) b" |
        return (W+transpW)/20 W# ^& D2 u  E! p7 g& x: s

    & o* `  l/ z6 ]% Y7 |def spectral_clustering(data_set, k):* h! _$ r. c0 J) t0 G7 J8 U7 T
        # 利用相似矩阵S得到邻接矩阵W4 s) u) D, G7 J8 Z! ?2 U
        W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)- N( y; G2 m) G& A/ E: \# U
        #  W = get_W(data_set, k)  # K邻近法& V: o. z0 P  r4 Q4 w
      L5 v3 u+ B; o, I) }+ C, F
        # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)
    % t  I$ Y4 c3 p, l. |  q7 x7 o& ~    D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))) v! r" X1 |, z' V: w
    3 k* N; A: b2 A
        # 计算拉普拉斯矩阵L=D-W" \3 ^- O* C. a+ R$ j2 f
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    ; n. u/ a, P$ B7 o* _0 l' X    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)8 u+ `! B  O5 C  F

    - V1 z$ [; P! G/ I5 G    # 得到特征值和特征向量
    + G3 `* S3 G, M' s. \2 p( i( t/ m    eigvals, eigvecs = np.linalg.eig(L), B; @3 z9 W1 s* g5 G/ Y

    ; b5 S9 ?) ^! M0 A% ^! m: C    # 找到前k个最小的特征值(索引)  }0 M& r" n6 \- t0 \, V/ z/ m1 D  e
        k_smallest_eigvals_index = np.argsort(eigvals)[:k]# T% i4 A! Q' J5 H9 Y
    7 s  {" l/ i$ L. f
        # 取出这k小特征值对应的特征向量,并正则化' ]5 j% k3 ~8 f, E$ _, Q) q& U
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])+ s& q2 U' U  u% n
    : h$ w8 P$ ?$ X* C6 Q, n
        # 使用K_Means聚类$ s+ o" U+ I" s& _( m* p# ]2 k
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    ( B. ~5 Q# e: C
    2 _9 L8 A& f3 X
    / a7 W; u( O5 Q+ J; G1 f) Zraw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)* z2 T, D, [! ?
    raw_data.columns = ['X', 'Y']
    5 z* c9 O# n0 M3 Gx_axis = 'X'
    : \' y& o: p# b' [( ~1 Yy_axis = 'Y'
    2 P) v! T7 ], E9 h7 ?, r  g& s
    examples_num = raw_data.shape[0]' L" y" a0 C" j+ ]8 Q
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    , b: v  K* V! Y! [% \
    ( h) N- ?. R* n3 N# O: }0 B) l5 ^+ d1 B) J* |
    min_vals = train_data.min(0)
    + r0 I! @1 ^* M* i6 smax_vals = train_data.max(0)
    . s& H+ v2 G$ w( k: x. lranges = max_vals - min_vals7 q# t1 B5 I- }
    normal_data = np.zeros(np.shape(train_data))# R& w. ?: X- N% h
    nums = train_data.shape[0]" T: c. d# A5 D: J4 x& A
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    & b, S9 V; u& n. y- M5 @# B: Onormal_data = normal_data / np.tile(ranges, (nums, 1))
    + e4 }1 F8 h! }7 J0 V" \2 ?1 j; B! e8 {0 h
    6 G. N  C- R  Z" P. |' jlabels = spectral_clustering(normal_data, 2)5 O* q1 y9 B( U/ d6 }7 T
    , N! a5 t9 \. u! h
    # 原数据
    $ o) r$ H' ]! ufig, (ax0, ax1) = plt.subplots(ncols=2). t9 S3 E; E4 ~5 p; Z
    ax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')( h1 B8 k3 S7 m$ v( X
    ax0.set_title('raw data')
    , g) _) t# @: o. M# 谱聚类结果* Q$ |9 d( S8 c4 q$ U3 {
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)4 A( a: B2 X* `! j0 |8 _
    ax1.set_title('Spectral Clustering')" \% \2 A8 E6 |0 T) h

    3 y+ G" w9 ^+ b4 k/ x& c5 X2 kplt.show()7 d. w" M# w. c0 N

    / w$ V  @6 f( I1
    6 P1 f' R% d0 U& Z+ o, @/ N2
    . x" S5 F7 T$ [% ^- S3 }9 C) Z/ a& Z3) x3 _" ^4 o$ O0 A/ z
    4
    2 K$ I; Z' T5 \' A5" ?' K2 ]/ K" ~$ c4 |' y  _
    6
    , o0 }  m& l, p+ o" W75 X0 _3 {. p0 ?
    8
    ' f% f- R4 f% L( ?9
    4 z; r" y3 |: `/ t: J10
    " j1 ~! [/ p/ y11; w7 S7 {; [7 ~* B' Y
    12
    9 x1 r, T5 d" J! Q1 L13' g- z) N; r' v) I
    144 G' ]/ d1 a1 `" q1 c! t7 z; F; ]+ [
    154 D5 _, X$ d9 I0 ]/ @+ A- \
    16
    1 o: s1 |- V5 I175 f2 }1 n; i7 @6 x3 C/ }/ X
    18! I5 {4 Z4 q! f9 @+ T; _$ c0 C0 w
    198 `) \5 d; C# @9 P, t
    20
    ; Q6 _7 {) C: [5 ]& f1 a6 X4 S21
    0 b1 d* E6 A( R22
    1 u' Q0 t: V# s) E  S: \23
    : l5 \* E' m2 v" |% h2 D* G24! n7 T; M# i- O) I4 x
    25! |* J& |9 n3 D& p2 v3 w( }
    26+ L0 T! b# I1 W6 O; w, Y1 V* N/ U
    27
    & c9 j  u# I+ m2 r1 Z3 d281 @" R& S4 W( T2 s4 i
    29
    4 i  U- E0 m! @) Y) w301 G! \8 G/ x9 C! ^
    319 @* b2 p7 t  a. a8 q, x* C
    32
    8 d. e1 K, z6 Z# i( {7 }33  ?& \. W8 V8 e# b& v! b
    34
    ! q! L) T  \! g, y35
    " T/ m& b4 l; h36: ^  S. m% ]% C7 j- j+ e
    379 s* W- g4 E- F4 r
    384 M" H5 r: y9 C
    39% P1 x2 Z- C) a
    408 \! J0 T+ w; W7 {7 b
    41
    " d  G  b$ g7 B: V42
    / T( Y- W$ x/ K; H" p. _/ u/ y: L$ \4 t43
    / B7 N* ^& k5 }: ~# b* b- P& {; n44+ B" K  c) L5 W: J! ?  H
    45! T9 x7 {4 S+ d* Q) [
    468 O5 `# B! e9 K' O
    47
    4 V1 X3 \9 n, |48$ J( s1 }+ U6 Y! O
    498 N3 @7 g$ ?; M
    50
    6 w4 H4 f+ V1 H# I51( S5 q! x* A5 Q* T4 L$ y1 T% A
    529 n  F; U' K7 x* p
    53/ g2 I& l( d4 l  f
    54
    8 [4 A2 i3 _/ t. @55
    / J6 Q+ [0 s7 }56  V, e9 L4 m/ R  r
    57
    / m+ e" ~# _9 p0 n# z" y/ H3 ?9 x58& p! y/ y, b- r% J" N
    59
    8 Z3 K$ A: n0 i( D) t606 A3 O! R2 B' [
    61
    & r2 p7 z2 M9 D! J9 f, g9 c62. Z2 ^2 N2 j2 o. r" z
    63
    2 N2 F# C1 a- K) L$ _64
    4 }9 |4 h- T: T658 Y7 H2 P5 O7 X& i
    66
    ' p1 Z* r# }, m8 D67
    0 x2 v3 A* x! n( V68
    . b" W4 l( _, l5 n% ]- g69
    ) t0 G7 I' e4 [3 n) x4 q. J2 y70
    - }7 y5 a* S! _2 Q715 F) A. d! q+ m/ b/ F7 Y$ W
    72  |2 f1 z# @3 {( A
    739 j9 @9 @/ X7 p+ r& G
    74
    + ?. E5 {+ W3 K* c. E  I75
    2 c+ S3 M* n: n; D" k4 ?5 G" `76
    , `  Q1 k0 O! R/ H6 g' L77
    6 s# u) m1 Y' a- Z8 ~78% N: W% j. o3 s
    793 N- S2 ?9 d- v% }# G
    80
    ! r+ R- p2 T$ H. f! `8 x( W812 u* w$ D/ B/ G3 f: Q  Z; J( N' Z
    82
      U3 g; @+ a; w; d4 m3 d* V& v83) u9 E6 ^$ W4 ]: }; K
    84
    4 V( z" T  q# C- J/ ], @, s85
    - R0 |1 w$ d# h  z860 X" c$ Z1 k9 J; G' V
    87
    ; H2 F/ {8 P" G" w# u; d6 W" U+ P889 q2 y7 @' \5 u3 c" d& o1 b. e
    89
    ; v# k: J' o4 G90/ J: a) ]/ _& X; u4 a% o
    91
    0 k- y5 P+ I  y92
    $ f6 v- p8 y7 ~$ s& e  D) \93, w' B% p/ x- F. B' H
    949 Y/ l# X( u$ p' d8 i' e" N1 N
    95
    * I8 F2 ^, k  S; ?  S; [2 C96# z: S) S9 ~7 R  _5 P
    97( R# T' i4 a/ i# a* E8 `" X
    98( `5 H) |0 Y( c
    99
    8 `! J# I, |/ _+ `% ], u8 u7 u$ g1001 P- ~5 v" N: D$ ~8 T/ ?
    101
    ( D( D% S. s7 o102
    , H& C" T+ f8 a* ~0 d  S1037 W/ t! ]% t. N2 m. w5 @" p" p
    (高斯核函数). F. `- T# Y2 Z, Y: h, \
    3 U" q$ i  ^; |0 O
    / a( ^$ y5 K" e" e( \0 U8 \( Z
    (K邻近法)
    $ v0 ~* S, p1 m1 R$ b% u& D! k3 v& f, x8 \  t' \2 Y( k  @& b

    # T' v7 O0 m0 F, Q0 @四:谱聚类算法优缺点
    ) Y" n- K; }# J(1)优点
    9 P+ e7 i1 ^+ g9 _$ t4 e谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效
    7 P6 L  g$ Z1 T  k* H6 G使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法' f4 a$ z, t! n3 l' M$ ~
    谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解- f- w% F0 e* o- B/ V9 s# `. \# e
    (2)缺点9 \# p" F. ?: W0 e4 I0 _9 E1 x
    如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    8 W2 P" A' o% j, B+ I聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同+ I6 i6 n, Y3 X) E
    ————————————————2 t  L# Z5 _* M$ M6 i
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    7 Y6 V8 X! C. ^0 V) w原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494
    % F9 M7 l& t0 a% ~
    # v" F2 u6 |% r6 ]2 S
    ! x/ S& ^* {9 f' C! ~
    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-6-13 15:07 , Processed in 0.453164 second(s), 51 queries .

    回顶部