QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3032|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现% x) k, A8 z9 m' n# {9 A4 J

    2 m& T9 i: ~8 I) {# i本文部分内容源自刘建平博客,在此基础上进行总结拓展" N& a/ e. e" H9 M3 A) L

    ; ?3 G: F0 k9 f+ w% _原文链接' |: H: b; X. f( H# @, O6 p
    文章目录/ i8 h: V2 F: G0 d- v/ ]
    一:谱聚类与图划分* q% [7 b* a/ \: w4 H$ e/ w
    (1)比例割
    4 A3 s: {' u) _" @/ o(2)规范割(常用)9 d9 v# t' Z) @1 Z. ~3 R5 h1 N" l
    二:谱聚类算法流程
    $ v7 C+ `& Y, c7 V7 h2 |7 o三:Python实现4 R7 F# X) ?! u' `# m9 \  t, A
    四:谱聚类算法优缺点% a1 a7 n. Z. Y/ T" I. {) J
    (1)优点
    4 I, @: I$ }: M(2)缺点
    " w, d9 r! F9 M& a+ a# L* h$ s一:谱聚类与图划分
    . N$ s" K+ i( D3 s3 b9 D5 ~$ X无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    1 X1 \# E& W# Z7 o
    7 M; k; y! u( Y每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
      r1 ~" T! M! ~# E- w, Y+ ]0 v1
    5 D; n  S- }3 Q; @" D& |4 v/ B3 b, T+ A! T6 p
    ,A ! W1 B: w- D: Q0 g1 ^6 }/ x
    2
    # c: u# x6 U, i4 k  r7 S5 J4 {9 m% P+ ]+ N
    ,...,A ' F% [; H1 \: L; u2 ]3 K* h
    k9 }2 [& ?/ F7 \0 |8 r' O3 y* _
    9 U3 x0 c" r1 G8 Z# S
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    7 j8 D1 k$ F8 y' |$ T( }4 ii: n* x1 \, g, ]1 m7 ^
    3 F9 B. D7 @7 {7 N# k
    ∩A
    * J$ F( v% }3 w) M1 S- {j( ]' q7 I8 A& M) J
    $ f# I. q: l- `4 o0 E' `0 Y
    =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA # K$ ^4 D5 i6 Y! \; n0 H
    1$ L4 [6 L8 D# C

    / ?6 F& w8 k* ?3 s3 C1 I ∪A 6 a" T) y! I4 K# a$ a
    2
    ( K( A! d0 Z- K- V" f: V7 m
    ( {1 [0 w" B! X( u9 E) p ∪...∪A
    9 H& {7 s& L$ sk
      T8 s( R% F2 a  \$ R# g* A; ?; l: G; m, o" x
    =V5 R1 \( h1 ^7 ~& P; |7 w6 _
    对于任意两个子图点的集合A AA、B BB,我们定义A AA和B BB之间的切图权重为W ( A , B ) = ∑ i ∈ A , j ∈ B w i j W(A,B)=\sum\limits_{i\in A,j \in B} w_{ij}W(A,B)=
    6 ^3 Y" C" W+ f) V( _i∈A,j∈B
    ( C3 \3 f' T* b) H3 w5 d& C0 A, m% k8 q2 U' m; _9 i
    , M1 o7 O1 v( w0 \! ?
    w 2 d- D1 U# @/ [
    ij
    ) s3 X' T& R' X  x
    ( ~; h) o: V% X+ {6 P: M4 S. N! s- d8 z3 M
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A / M: B: R# y: q3 i
    1# P; g1 Q: x! {5 o; ]! l' K
    # ?1 f* h( T: ^0 y
    ,A ' L7 k5 d) L4 }$ V
    2
    3 F/ B$ d) n  U+ b! i8 e/ R& G. c$ E1 @+ K+ t/ G
    ,...,A . Q8 l, w7 S8 W# _7 {
    k) }5 d( Z" i2 Z0 \: J

    ( B6 F. _5 P+ X# ?3 S' s5 s },定义切图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
    + q/ V( r/ k9 X/ d1 q9 ]1+ U4 ?3 Z2 }$ k5 s# z
    2 t, D4 e* G& G" K6 [
    ,A $ s$ O5 h7 D: K
    2
    6 a. m% u' F% E8 |& g0 j
    5 F" B7 X' J# I ,...,A
    $ n  p- X7 K# N/ y6 \4 j+ ak+ s, n6 G5 P7 E/ X* ~
    6 k5 H2 k% @: j4 l7 n
    )=
    0 Z1 \. [5 z2 j& r8 s  V4 V1 K) f( }) b2: S7 ?2 x/ K, n) Z7 R% J  O
    1
    # k6 n) w  F7 X  b. l
    2 t7 A3 O; g9 N& |$ [! |& m. H( p4 o. k: Z2 ^9 r7 k6 v6 ]; q
    i=1
    6 S) l( t4 t7 y. l. N/ y# j2 ^( |: h
    k" c; p) K1 w; ?
    ' M9 g: ~4 J4 g9 A1 m  k0 [
    W(A
    . d( y0 |3 V- {) `9 Li7 a) i; m* Y" v0 [8 H: B- H: ]; Q
    ; ~4 A9 _  B' a# C) ?* ^+ \
    ,   \  m. _6 M8 Q. ^
    A8 F, J/ a2 Y# ?
    ˉ6 E6 q$ i! V9 D- I. B5 d/ M

    , z. T' X( `9 ui* I3 Q& }$ M0 }; c1 |3 p9 A, F
    4 p7 N. E) P1 t7 |1 ]
    ) (其中A ˉ i \bar A_{i}
    0 {& y, A# z/ z2 YA$ E" V& G6 P( ~7 N/ P8 E" ]
    ˉ3 O1 ]: N2 O2 @% e! @+ n. C

    , W- O6 R: ~  n. Ti/ }4 y9 ]2 m: g$ L9 l/ Q
    ; Y0 W, _- K9 \9 ]
    为A i A_{i}A ) `5 s' \) x4 B0 j1 I" A, n
    i1 Y; n3 n7 I: n. i# P4 Z
    9 q9 N2 ^8 Q7 G, U: T' ^
    的补集)7 D' b. X9 `$ p' ^' @3 J
    可以看出,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 ' f! a: K( E" q9 i  S- H9 D0 f
    17 B4 E) x; n% v4 m
    + x$ E) m7 \# G
    ,A ) o+ G) W8 p$ _$ L, A5 d
    2
    ) ^6 L4 f) @' u8 M$ t5 A5 _) z: N4 @
    ,...,A
    ! P, H8 K( }, Z3 q& f3 g+ jk5 V6 Q' F7 J4 N

    6 V/ ^7 J2 P2 {& N  @( g2 r )= 0 t: ?0 X, T* U7 U2 t7 S, _
    2
    5 o, P7 J; v6 v/ J5 t- r1
    ! B- q' l6 B0 i# ]8 ]$ `. O# e( q) E8 J. k0 i
    % K& l' p- d) a1 K0 @
    i=1
    , F3 \8 a3 H% C0 @  d+ s  g) u! e
    k: m# S7 y* k9 T5 z  O

    8 \! i; V* k& J3 h" _' S% D2 Y W(A
    " `4 [1 i0 R8 }, ~" w! L: ki- Z" O. |! n7 Q0 V5 P
    * Q  C6 b: d7 o2 k7 I
    ,
    + o2 @2 m9 B) T. Y$ g. T; eA0 j; d3 c9 U) ^2 ?" \
    ˉ
    : i, x4 s0 h+ ^: J* p7 n! N4 ]" x: [5 [/ {2 X+ G
    i* h! ?3 V8 v( S2 p

    + ?+ J! T: C5 F' l: j )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
    ) @4 k1 Z- X) {4 B% N" P$ y1# n/ P0 b1 e: E# j

    / D. g( @6 l5 D% i/ G ,A
    " f" F0 _5 Q& R3 e2
    ! q! l3 O/ H+ t& K, y0 t) X5 e. R6 i/ C
    ,...,A
    ; g) G& I- r) Yk
    , N1 c( A' T2 c3 L% p, x
    - X; K; v" f! g5 K* z2 V) k8 A )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡2 z+ g+ _# I5 Q; f: Y- V1 {0 G
    * l, c5 t" V6 d0 j. t' w
    例如下图,选择一个权重最小的边缘的点,比如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 K  _! h; ]: D# q0 H  h
    1
    . N6 P) Y" v6 r1 K9 h+ y( U' l* N, J- f3 X) i" S# v2 Q  I- m
    ,A
    ! j  |$ c/ [2 |4 l9 c2  I& g6 q/ B, P  v& X8 J

    7 z( l- _$ e# }/ {2 x- _ ,...,A " g8 y* D7 T- B. ?) m
    k8 q& h6 N$ F  Z* g' m* m* D, ]
    ' g4 p2 Z: t* [( Z
    )但是却不是最优的切图. Y7 @; J1 k, j+ }

    & E5 V* R9 M4 t3 ^+ `& i为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    0 T3 t7 l1 I" D) X. N* i2 u
    # c; j. H3 d  t* m2 Z比例割: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
    ) e! n% H* ~; {: c! c% F1
    3 z# J  A' r* {: D0 [4 h* u# x! n. Z; x3 Q
    ,A
    7 N6 P8 m# m+ N0 N' G: N! r$ n3 y/ {2
    9 _" B. k' O' }0 j8 q, C" k" }* E0 m9 m: [  {+ s$ `
    ,...,A
    # ?8 I! m" f3 Ek8 Z7 V/ H* n$ ]  |0 x4 p
    ! F$ d' e$ _! _1 ~. l
    )=
    ( U, n7 O! Z  O' c2
    , B. W. v5 y- q) L( t* I  F" Q17 x+ n: M) r# _( ~) {. L8 T

    : l8 l5 T5 f# G7 \( B# b# L* j8 S$ e" Z7 H% Z
    i=16 F5 p* n4 c) \7 l  ^
    5 F' s: ^; E8 H& `7 O
    k$ n, q* o8 x" f# v! O+ G

    6 l; z! v: j) c( A- I
    0 A. W$ P* I2 @) U, b∣A $ {; I3 v  ^4 N+ R
    i+ e1 C9 R: C6 y
    ; N4 Q* S9 P1 P  L
    # q9 ?' ?* O3 Y# T1 O3 |
    W(A
    0 E  }6 N  R4 \/ U$ o6 D& Ni1 |6 a& N/ R/ h, X# M/ @
    ( A+ @! o7 m! r# O- `! \* L
    ,
    $ I- ~; K# q# U% vA
    ! e% L+ v7 ?4 c0 `4 q- L6 j! Y2 yˉ9 `3 O7 B; @3 A8 R- {; r
    1 d+ `  S' z$ [' m! v' n
    i
    9 Y2 m) k2 U9 f. W: L, W; X' e9 M5 V5 g" C
    )9 w( ^' _6 \- G/ x
    % _( b4 O# B2 w4 M+ s+ C0 q2 ~; N

    : J" ]- R5 _. c1 r& h" ^, M规范割: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
    5 B; a) ?- b  E5 A- n2 H1
    ( a- |6 h3 m, d/ a
    1 w3 m( n* ]: U4 y( K4 K6 S( p ,A
    & b& r! A3 U% l2 t2* {$ ]5 z$ ~" A! c
    % X8 q8 H/ e$ ^+ e3 W; x
    ,...,A # T# C; q, z  F" A
    k
    ! J# s& u/ T: a+ b1 y- y( C! O" m( p9 G) g) C8 O! }' i
    )=
    3 T! i  q! {. t; I, D) L, g( {2 B$ C9 w; h2
    + q2 B: j5 ~5 s  L* ?1
    . n. Z. n! _3 P( h
    9 V0 i9 c6 g% d% ?) E+ u5 x' ]/ M" m0 f) O! \
    i=1
    ! p. s; Z# O% X( ?# x& q
    8 T; D  ^- s! h) \k$ _6 b, q% t+ A. A! d3 b/ R
    2 U* j- a4 ~1 T( f& i
    - I) k( F* I; C* n# ~7 l" J
    vol(A
    - h7 C9 K9 K. F7 k% I7 Bi/ V7 s2 V3 {- Z5 c7 o1 ^% B4 y5 w
    + R6 Y6 v, u! M; f2 K1 P+ g
    )
    ( Z4 p& x4 e6 x/ l! }W(A 8 k( P% L$ B1 j) M% f7 a$ H. l! `
    i1 D. {7 N% T7 D( o
    $ F$ b3 Q0 `# J1 S. F  u
    , 4 o& K* N2 ]" [7 H  g! _
    A& L& A% G$ f5 H2 I9 x
    ˉ
    " O9 L$ w  Z; }8 F3 L( F. r2 h  ?
    i+ w! X" Z& h7 H& R3 \* f1 m
    6 A. |+ |/ F: X$ s8 E! D, q, r* E
    )
    % ]( q$ w7 a3 X6 z/ f! L& A5 p+ z
    2 p$ I* B; r, L7 c, t6 ^! f' _, W+ H
    (1)比例割  ]. L! [+ p9 i$ @  N/ ^" u; I
    引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h
    3 C, d3 q. }, g  R" G* }5 l1 cj
    ; z4 L3 W( z3 {! i9 \+ A, w" n5 v1 j# D9 e$ l* F: c& y8 r* v* k. O. X
    ∈{h 2 {" Y4 S8 S5 ^6 w
    1/ R* }7 x! V# {. v/ h" V1 m* q
    4 n' w4 X# m  b  U2 O
    ,h 6 B  d6 v* u3 U! ~* s: n, ~" q
    2
    4 w: {1 |7 r, m8 x$ w" t+ A! g3 ]
    ,...,h & H- Y6 W; Z" D6 G' b1 ~
    k( s: R6 c( u; _) h& ?# s
    3 }& u5 ^+ V: v' w/ X2 H  c
    },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h 6 n2 T: }) p  C$ \; F8 S. \$ M6 I
    j
    , u. T% P9 |  E/ w! }5 p
    3 N2 u5 _8 X  h ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h ( ~% G, B$ W: q- m
    ij
    7 f) D( [# H6 n4 M
    ) o' i! ?" E8 F+ x* `1 W 如下
    1 Z- u4 y: S# c4 m- q
    " d* o0 w9 j  f. N& t6 p3 yh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=' S5 r) g6 t& S8 E3 [' W) h
    {0,vi∉Aj|Aj|−−−√,vi∈Aj
    6 R) i) v# ?) Q/ r{0,vi∉Aj|Aj|,vi∈Aj& U! H1 s8 E0 U( \
    h
    7 o# e/ l' ~8 P! a  Uij" r/ P# k. f, \
    # {" ^9 U# `( p( c  t
    ={
    ; S4 b/ ?$ V# l9 f: ~: P0,v
    6 H4 J1 X' v/ @' c2 a. b" ~i& u# O" s2 H2 o9 J1 d! o6 M& P/ S
    4 {. w; ^4 B3 _  R' U0 D
    ( B; t* Z, b! p( l2 s, O0 q
    /
    ; P& g2 m; D3 ?" p& T- t5 M9 j; _3 ~* ]A
    , W1 ^5 H) O3 L7 m) S8 a* @/ Tj
    0 _; W4 \  @1 B% R. j1 g; h. O6 S1 \8 E3 E. _. X! H
    : A/ g+ X5 @- c: D, P, |
    ∣A
    1 F; X2 Q2 q" r2 Q# rj
    0 l6 N6 c% r; T+ C' r" J. D
    + m; e! X6 l" }$ F) B9 @/ f$ m2 U; w; |1 o6 ?

    2 U8 R2 [( j5 n4 j% R) b) ? ,v ; m$ y5 L) u; v: e
    i
    6 t& C& q3 l1 A8 M0 ]
    ; Y! L, Y& W  Q/ x ∈A
      S) w9 ^, ~$ S+ v: ?- N3 p9 }4 oj0 p. a+ H) ?/ H. a8 @$ s
    ; N/ m0 f/ @" I8 N
    2 q* i: U8 {' s

    $ y; H6 q; ~9 K2 g; F. \5 c, n
    ; ~; P" c  F8 [7 C* `- b. K+ E8 p. D3 ?( I' N8 `
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    1 e+ \& H$ A/ Q8 }" g4 di
    0 ~  p. e5 l- N8 aT+ A0 Q( }& }& n5 x% p
    9 _' h8 Y/ W2 Z2 }6 {1 E$ \. [
    Lh
    6 R1 r; m6 a+ X! R, Ii# Y: T( M+ O6 S9 z3 s( }0 k+ J

    & O: N0 x, |1 H5 h8 a- X ,根据拉普拉斯矩阵性质可知' h, o6 {5 w8 h" h
    6 D! a6 i- y1 s5 I
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    % J" }; A( k8 @1 ?1
    ( V# P' Q/ K+ a0 |+ a4 u' C3 \. a" P" Q& P2 Z7 L
    ,...,f
    & T) S) M/ }! V6 k/ en+ c/ c* |$ ?0 H- `7 e

    2 V: q+ H& E2 T* W5 t3 O5 ?! @' d- M )
    + M, m' D& H) X! ^8 f* eT; @% L' S/ \+ `
    ∈R 7 q  T1 ]( f# H3 ^: s
    n
    & U  D8 i0 j, H  O0 `) g, S  n0 t ,有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 # d7 u" ~! O" [: l! V! E2 G" ]: s
    T5 g4 T$ }5 _! m4 T; p6 @* q) t5 Y1 [3 L
    Lf= 9 Z+ ~: r! _% [
    2. S- d, Z0 Y) |( i
    1
      Q# j- V3 ^: k% `$ A9 a! I1 L0 C4 F7 W) R- n9 t( q4 o+ Q7 u- F
    , K) |- S4 U3 v5 e! R5 a- H7 Q
    i,j=16 V) M( K8 u. D

    ) O# V7 C$ i7 S+ ~! q. Jn! K+ }" u' R3 X7 Y1 a! B: a

    0 C+ M7 ^' b9 b9 ]. p' g& {$ ? w
    : q: X4 T$ x/ O  nij
    5 y4 K' g6 ]% P+ ]+ J) I* b# \. V. C
    (f
    9 t6 }* U# I6 M4 f6 d( q/ }i
    0 n1 p# O$ w! v$ ]1 j5 t' a( m& {& w; g" }  b2 F
    −f ) a2 F: @# I; \6 ?. N7 N0 C0 K
    j
    " B# A3 e2 M6 ?3 k( @  ^7 e9 y7 x8 u5 }% y( v( g
    )
    7 m$ ?1 V+ o: p, A& K5 U2
    6 [4 b0 J: B$ E5 E2 h% r- f- I9 D2 v5 f
    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}|}% ^: t$ N' U) H1 R, }' j! G% G
    h
    # g( A# R; [' ?$ zi
    % y4 `( @- _& N* O2 S9 d' qT" M/ o) y, B8 H; E0 l( e' i( `4 c! I) L

    7 s5 f6 Q* Z; _6 F" p Lh . |1 z8 d' |: D" Y0 Y% u& z( q; Q
    i
    % B% h+ N3 a/ X, [4 I
    5 U9 n9 m% d3 R, A. N1 ]9 q( P  p = ) Y# W, `* A: a1 R2 d
    2( s/ m+ K# y1 L9 [/ ^6 D' h8 h% W
    1$ k5 r# Y; n/ L
    + A" s  W# `) ^
    1 \( D/ v: Z* y' C0 I6 {0 p+ J
    m=1
    0 c- C6 r7 O4 m1 [( Y
    0 P8 Z/ K" {  ]8 g( [' o6 Z: V% P7 |
    4 j3 R. k6 Z8 c% \  `9 R$ c3 S( S% Y
    n=1% H4 V7 i' _6 a
      q9 {  ~& q; d% Q. ?) P

    ! K8 J( L5 G: \* `. y# T w 8 Y; ~& o7 y2 d) e$ A$ [7 ]
    mn# B1 V# K; l2 u6 |* a: r

    0 S: M0 F- U6 i0 r) M (h
    7 E; C& I3 u/ N. g% a# b6 l! P) uim3 j) i" S2 p3 V  N4 o- B
    / V3 l5 W3 n+ E8 n9 k
    −h
    ! [4 m2 W6 |/ x; [in
    9 c, r1 F" @* y( o& j4 Z: c/ F4 }: r6 |+ u* n& j2 r
    ) + T( x# i; b) G, z/ s6 A
    2
    , E9 m! l4 J' M" w6 m) Z3 [ = ! R* ]* @, Q: z8 v% U& m; }! J
    ∣A $ r! _0 q  @: @/ k0 U$ z( i
    i
    9 K* ^; e/ {( N0 y( |( Y* v8 P$ v0 b: e; X4 O$ H2 @! D

      i% q8 z' K# `cut(A
    % K- y1 F, Q( E4 f2 z- o: ~( Bi9 v3 u0 Q( v8 L/ }1 ^
    7 o. z6 i9 M# \8 u1 d$ h: @7 B
    , ( t: n& ?( P" ?5 b+ w9 m
    A
    8 w% t2 r) c$ o* o$ }ˉ' }) ?3 I0 [5 U1 k" K: l* ?5 z
    : ^3 E& h: ~* r1 U+ P& N
    i
    4 d2 k7 ]! S5 I  j  W# ^) D. V* w" E% U! {, F" U6 \7 N1 ~* s
    )
    ; h. T( b% k/ @) {& A  z1 O! O. G  u) T, D6 Y9 Q" k

    ; i" F$ J# R, l: T4 [! j* v( X$ x+ P/ K2 v* e* T* F* e- l
    严格证明过程请看刘建平博客:链接0 K2 |; `4 H0 ?, A# J0 q. 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 ' j: V7 U6 ^/ o1 l, J
    i( F8 s  y* @' D! `: V
    T
    ; ]7 C& W* {- O! c
    & ^; L; `2 z0 [* u+ Z. e Lh
    - c4 [: [1 c0 H( `; e( Ti
    ; o+ q& x/ m, x/ w( A; e$ S
    ; x2 f) X# i% n, }. J& d ,那么对于k kk个子图
    & S7 S3 N. x' f; N( D2 W) f. A  C9 y  ^
    R a t i o C u t ( A 1 , A 2 , . . . , A k ) = ∑ i = 1 k h i T L h i = ∑ i = 1 k ( H T L H ) i i = t r ( H T L H ) RatioCut(A_{1},A_{2},...,A_{k})=\sum\limits_{i=1}^{k}h_{i}^{T}Lh_{i}=\sum\limits_{i=1}^{k}(H^{T}LH)_{ii}=tr(H^{T}LH)
    % D! F5 ~0 n8 C: VRatioCut(A 1 v" {2 W3 Z3 B& S2 b
    1
    0 @+ y5 _" h: Z$ D
    4 N, Q* o( n2 n. o ,A
    : W0 a5 _3 q' X6 F' p5 F, p2; g* Y6 d, t) K  q( j6 Q8 ~; [* M% T
      g  B8 v* F: q' C: m
    ,...,A
    9 N# Y  G4 O/ P; Zk3 b$ m3 n# V9 Q( r' |* Z
    " I/ S4 k! N, `8 [2 E
    )= 4 E3 O! S  {* G. o
    i=1# l; y: N* S/ z( ^; S
    ! H$ V4 Y, N3 a; F  ?
    k
    * l( t6 ^; Y% c. ~3 o& n) n
    ; G0 S" D6 m- ~) p% L- h* f h
    6 Q- x& A" n- g4 ]/ d/ R5 q* mi2 ^2 H; v  i4 h; L# g2 C5 r
    T
    6 x8 Y) Z4 i& E4 X9 S$ M" W/ c0 @& b1 c# o; T) f  }
    Lh $ l% Q( L/ f1 J  _; ~  R- d
    i
    3 R7 i, `1 @$ z1 B0 r& A& Z
    # F( b( V& s# Z  C = . [- C* t$ _: `5 W2 F, J' ^& D
    i=13 u0 }5 @7 K5 o* a% {

    ( N' O5 }) e- b) K5 Xk
    ! u/ x4 W0 r" g1 n" s
    + h' X# L# y% ^ (H
      @$ j5 J) H: I" _T
    ' e8 l1 Y4 Y% {( F/ y2 | LH) 5 h# J; n8 u( p0 L5 L8 |( G+ C
    ii
      _. o' d0 S3 y# w- m8 D7 m
    # u. q/ X( S/ X% D' ` =tr(H $ X9 C- @8 T3 I) ]" i( t4 j; y; z; t
    T
    5 ]  L# F5 P2 r+ S) ? LH)
    ! z9 w" H. Z* B) h* |
    " H$ b& k# N* M$ u# @0 b- D* h2 r因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H
      r' X8 B# {# E( q# k& Z0 HT6 d: L& Y* v  H9 [& o1 v* u2 V
    LH)。又因为H T H = I H^{T}H=IH
    6 c" }' H6 G" s0 e7 S" p8 QT
    2 X3 s) Y/ A# [3 Z: f$ \# ` H=I(单位矩阵),则切图优化目标为( w' w  @5 T2 S& N
    # m9 k! E* y' r+ ^. A
    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
    6 w' V' ?1 k$ [; sH
    / x# v8 O- K7 ?/ |0 x+ ?! h3 S. Zargmin) r  i5 p8 F, O$ C

    ( x) w& t, K/ ^
    : E" z+ X2 A( t& B  n% ?9 b$ a2 I3 X" `  E
    tr(H 7 \/ V4 M' \- ^- }
    T
    % z% c4 Z% n) G4 c  ^3 h' ^1 o4 C LH)s.t.H " f5 G( N% B# ?
    T8 [8 B) b+ Q. _4 K, B6 t
    H=I& }+ g- f8 `+ v/ P* @+ \: D  e9 X
    + w) N# o/ V+ b
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H - }9 M8 ^1 J5 I+ n: l2 M
    t
    $ P! T3 j0 J- \) x& S$ p LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    $ t8 [. |- c8 T! z" p) q: [4 `; b4 Ci: ?% b# I# z+ P1 G7 Q: ?
    T
    / D% ~8 O; k" ^# R/ {- w- H9 w$ Q8 J* Y( @$ {
    Lh
    8 A7 h- D+ U2 ^* A+ bi8 f, I& s1 u, J2 c1 ]
    6 y( g  e0 [( s) d0 I. k
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h
    9 t8 V7 S" l% r. Y* Ri- A( a% w7 j! P! X
    T5 u% E0 u: s1 v/ h6 ?( b9 Y  I% v
    * |& _7 F8 K  h0 D( R, U( S
    Lh
    9 C& _: ^2 z7 C: pi9 F, A! q! C0 T" F% {# W2 X
    0 |1 M5 X+ W, ]5 t& ~0 f: w* i
    的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h 8 [$ ]6 |" X7 o
    i- l) F) B* u  F7 R
    T* Q# Z5 z' o8 b- a
    - U6 |8 n5 t" C; j  h% |3 {; J
    Lh ' C- I$ G/ T8 W- Y7 ^
    i" B' Q8 R, M  X2 t, N

    3 Q$ i% g, p/ X0 m. ^% x; I+ z; a ,目标就是找到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 : d" Y: Q2 |- [9 ~
    t
    / _' C1 N% S# r; @1 T LH)=
    1 O" A8 r% C  K* W& {) [5 O2 `! X* H2 Zi=1
    & }4 p6 _7 z3 L0 Y/ V7 y, A2 p* m/ e
    k
    ( \0 R! e9 m# e/ c
    9 i, H/ j7 d0 p- Z h
    - E1 B" a1 N) ?# @7 G- d3 yi2 f5 h. W. O& M$ A) q% `
    T6 X- ]! }3 V% l( j0 N2 ?8 O/ {

    4 z1 I4 ~8 f+ j  M Lh
    % C. G: S& }4 |* C+ S% {i
    : R% m/ p3 B  E4 J. }
    9 O3 k8 ~' j  q! U+ L) o ,则目标就是要找到k kk个最小的特征值1 J9 d8 w) {4 ?# i( p4 g& Y
    : w' C6 s6 ]  {3 y1 y& ?
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下" @9 m' M: N$ `4 n! Q6 w* @

    0 r1 ], z) u: \/ Z一般来说,k kk远小于n nn,也就说进行了降维
    : `# [8 {0 E' \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}}}! u; q. i5 R1 `( y  s9 X  L' e
    h
    3 S' b8 _+ w1 n4 ^* q& s4 }ij. K& }  q, I( B2 p4 p: A  M8 D3 \
    ) Y3 t- ^4 Z9 h4 S/ H5 `) C3 `5 R% ^4 g

    3 T6 M: A' `/ U5 Q6 n) V =
    & Y. r' p" H8 i& V. F8 B(
    . s$ a( y! D* `) h* g2 F5 Xt=13 o- s/ c6 k+ G  z. Q# l6 ^
    , p* K' C5 W' N- t6 B
    k
    ( j! K2 o/ h4 s2 |
    # [1 W& N. ^) S0 A- f, V h 3 j8 i" r% e3 b: Z* q! L0 Y# P
    it
    4 i6 q0 U$ C" u; D" r% j  E2, s% E3 K6 `* Y1 ]6 x6 }
    & d& J- n& f$ f1 n3 F# X" W/ _
    ) - L* K* _% q+ \
    23 M0 P0 P# A- v/ L2 M3 M5 z& t/ w4 B: `
    1
    . A0 T8 Y3 |8 B, B$ H9 E& x8 ~" i( l4 @. m  }
    6 G, W8 \% ^$ w
    - n% \& j. U( u. t( P8 P
    h
    " j( f; j( X1 v- ^8 ^/ Xij" M9 g# \6 {+ G) x/ C' n
    ) g: R* K% L  d8 k
    ; s6 t, H: G9 W/ @: X

      L7 n% Y% g( F& c9 v. C7 p- ]$ ]1 U; A% _# r; L

    ) f% k" {2 Q- h$ e5 e) g6 v这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类1 u" w" C. Y4 o

    3 c( }( {$ g. Z, O(2)规范割(常用)
    . a2 Y9 L' e6 i$ q8 s; E规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A
    - t! r( Z) g1 ]4 Ri
    5 L0 L3 e: I6 y  J2 a1 G
    8 n& f$ M7 p9 c7 a ∣换成了v o l ( A i ) vol(A_{i})vol(A
    ' Q2 P$ q& ~7 A" s* g4 |i% V6 V  [1 y! j0 @9 F; X; @

    , C: {" e/ C& h' D# Q ),定义指示向量h i j h_{ij}h
      O+ q& V& {- L# _/ B9 ?: oij
    6 o$ M" @: F# s5 o4 K1 R$ w6 E  p- B/ ]5 r
    如下
    8 \! J, r% K2 S6 T
    3 a5 Z$ i* J  A4 U7 v, D  J! Rh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=
    & W  t' U7 f: }( R1 ^$ K: D" l{0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj
    2 Z( k: t$ R/ D+ o{0,vi∉Ajvol(Ai),vi∈Aj2 R1 E1 ^/ }% a' r* {
    h ) m2 q0 \" P5 b  a3 z5 |+ u
    ij
    ; G) H" r3 y* s; }0 y! a1 {4 x1 n4 V  h, h/ j4 y3 t- j; n) |
    ={
    " m9 L9 `; I7 G0,v
    ' l6 x% ?' Y( ]/ yi0 A; [" M( [3 b% e3 b
    9 j# u& s& Z# c# M- r
    9 K5 ]4 B$ ?! |2 C5 \
    /
    # D) d# \' g! qA 5 z, T' F8 b3 k6 q$ A7 K% Y) i: f
    j3 }" |! W3 o0 D# }- P" R
    + R; I0 s* v  f, J' A
    : r) V4 V3 k2 y
    vol(A # |! `$ g) d2 P" Y* t! {: d. t
    i
    ( u7 N3 \- R! b  r6 }, C- D% P" D/ a' r/ @  ?
    )% q2 d& w0 `" q9 n! m
    % r# V$ D5 K, h6 _
    ,v
    0 ]/ }+ J5 D: q' j) Q9 @, I' @1 Ei
    / q8 k% |) E7 O2 m
    * ~& P0 y- c8 Y  B ∈A
    1 W/ N' q9 J3 [; sj
    ! \& }0 x3 S5 p& F( H0 u: d# t9 J
    + M: P- Z* u2 `: d! r# b' B! X! q" j- w" k: h! ~, G
    " k3 ~$ }! o! R( z  B2 |/ m& m( J

    7 P) @4 j, J% f+ z' X" _( S5 ^
    6 k* D( M" k" N  |9 H7 G2 T于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    9 D. `3 P, l* f1 [' v- _i& t% c. T5 S" Y2 m- a. g0 T
    T
    $ z: V. B$ `$ i! @# ~" x' t
    6 \+ `# u& X7 {: h) {  a. h Lh
    - [  i* c" O: ~: p& wi
    % ~# L5 ^2 N" H+ ~7 Q2 l9 k) T6 y+ D" b: K! _0 [
    ,根据拉普拉斯矩阵性质可知
    ( K0 h: x- M/ K7 g+ u+ ]! k& z+ I: ~5 q1 b5 h
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f / }; ^* E+ h( X( \
    1
    7 T. e+ w( V( L. T+ u
    ! u' Z/ Y5 @. F" u/ O! V7 A ,...,f / G2 J3 X. [2 G  `2 g+ R3 a. F& P
    n
    $ {7 `7 h+ a1 c' H# C( G
    5 w9 H' y) C. _ )
    ) b& Y! Q- M/ Z4 i% PT2 u) l% ^* H4 \/ J7 }" D
    ∈R
    . I* ^) @6 G% K: V% G3 hn
    8 N, W! L6 I, z- L4 }) ~' @5 | ,有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   \' h% D% Z9 H9 a/ |" n0 W
    T
    ) h2 H# e4 I3 p+ l  x+ N& { Lf=
    4 i9 I$ Q- j6 ?2
    $ ?$ @, R* W, m7 C1
    ; i8 d" G$ y# k6 c0 f8 B4 E0 _! s$ e7 Z9 G' I, R+ C

    ) ^& H+ g: K. o+ gi,j=1! ^  J3 r  v; _1 i

    $ h1 g6 w+ b) @n! e( {$ T) i6 A5 [
    5 d8 V/ _- M: E: W
    w
    ' H: \5 l7 g4 [6 z+ g' X/ Hij5 N7 O( v0 P* X9 B7 w

    2 ?4 f1 `, b9 \; Y (f
    2 g! [0 B. C" M' C9 Hi6 q: ^% c) ^* A1 }% S
    8 @; s$ q3 j' E" L
    −f : I" x( \* y. {9 y5 Z/ ?; B3 N
    j; ^+ M6 m' |) e8 d2 y: H

    + J: E# h1 F1 P* j ) 4 D( N. t. k& \6 C" y* D
    2
    . K( U+ ?( P: D
    7 Y& v. \, j* }$ Ph 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 C: ?0 t* J5 ?# o& Ph 6 P7 ^- G7 I; e( G
    i3 o, s6 Z& K" D& ~, V
    T, g  S7 p# F% ^* `+ Y

    ' ?* @, @  ~( }# Y Lh 2 A( s. p6 i/ x3 S
    i
    ' b! @+ V$ X* }0 v2 M) h5 A" U( Z4 N) h# c5 `0 C  V9 T
    =
    0 |9 H8 x& W/ z2
    ( `% u. P2 s+ y& d4 Q7 Q17 M5 L+ S+ j! {. d
    & X4 a6 u5 A1 p9 J4 `5 N

    $ W6 @5 `0 t$ H* O  Q5 J, Z8 wm=1) D/ B+ ?+ M2 ~5 n8 a. p$ z

    ) }! u$ s9 S& C1 Y0 u5 c$ ]7 H  ]$ F* @, [  f0 r: y* I) |6 F

    % H/ i5 e. F  y  w6 V! ]# f' Qn=13 B0 }6 h. @6 V  c/ R1 m

    . X* D  {. r) Q8 ]# p
    9 V- Y5 m6 s  [, o4 f/ h0 Z w
    - Z( B% p! h" `9 F% _mn$ ~3 F* u( E& S9 b$ r5 O( S. g+ l4 c* v

      j+ _9 _3 n1 K# m (h . t0 o* D3 w& o* ]3 Q  X9 w3 b0 B
    im$ x& V+ `" m2 ]2 R
    / l7 u0 q/ R+ H9 q: a8 S1 v
    −h : h! n/ T2 X) E' k* R
    in$ b4 P8 s- W* Y: ^/ Y( g/ [" ^+ ~
    9 K2 B5 Z8 O5 f6 K
    ) 7 T% a% H  k- q2 Z) J
    2
    , A2 K& v' Y$ n$ U4 X =
    3 y7 k* C- o  X/ Y% ?& V3 rvol(A , K  M+ B+ I- w% J/ A
    i
    % H) t$ r4 r- q. N' G; P
    9 m% R% q( x% i )" s9 t) g  [9 N5 H  y9 T
    cut(A
    " a* h2 @2 _% ^$ A5 ti5 K8 l2 u' v5 y8 N' \6 h, T7 I
    2 ?; c2 r7 S) Z; j
    ,
    % x/ k1 Y  K& IA: p; Z6 x4 A- s- H0 ~6 l' H
    ˉ
    1 f, v" Y9 @/ H/ C5 `# I2 E$ e  C1 C* U" Q- l
    i
    # F: U& ~: U3 A6 {5 p- s% J* D' J- P! }- G; g/ P
    )
    4 w7 z" r0 h" M: i$ z
    * _1 h/ {5 `' C) a6 Y8 b6 w
    & b$ n8 Q: f/ x& Q- ~
    ( O# t  t9 w/ ^4 J$ h8 R! Q严格证明过程请看刘建平博客:链接
    3 Q( V6 U- F6 B9 [( l% z$ n; K可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    3 c8 f2 J% B/ A# Q% u3 I, T* Y6 |i
    9 G, S7 }0 _/ M. U6 b$ O4 Y% wT# f/ K6 I' Q- t. i; m# K- Z* A

    8 S9 b+ }& d# m; U4 | Lh
    . I" M* L& l  I9 o8 t: j% Fi
    . o2 H- g: J/ K! b- u% i) I9 K6 K: S
    ! O8 J5 D: B5 O- [ ,那么对于k kk个子图( d9 w9 I1 t4 i  c
    $ G2 M# v4 c& U. I: f* V8 r% d
    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)5 [, s& {5 N2 H0 G
    NCut(A 8 U3 o! x* y- F6 c9 f" q" Q# |
    1# T" Y: f! X+ b7 ^

    " B6 q) s  u8 ]. P ,A + q2 ~2 P6 A* `6 m
    2
    6 e* Q: o3 w  _' J/ O
    0 p9 V7 |8 O- a ,...,A 3 a8 ?0 \1 Z6 g7 ~, P+ Q
    k
    4 X/ f- d( v2 U: X/ V+ s
    ! G0 E9 ]1 ~4 l" _ )= ! E# Z3 `: \% V5 `
    i=1$ s' r# g2 D% X& T7 T! K# T
    " z* T$ S; k  ]2 n! `& g3 H7 K
    k
    : n7 D, ^  C) ]* ~! n& E- S' Y5 ]) n- o9 ?4 L& Z
    h
    6 n' @, E3 [7 m. ^i
    " E) e: h! i8 V, kT
    5 H% _; g2 W' U, u! G3 Q
    ! Z5 R1 [1 h# l6 l/ V0 h. d! D, }0 j Lh
    2 U3 F; D& y. X: l/ |0 \1 ]3 Ti
    . v% m& I" i4 Y# l  Y! f; S2 u( M& U* Q8 L" E4 t$ a
    = 9 y- c& y# l: s
    i=1" D3 M0 T# s; Q; c
    ( x: t. `; o  S+ o* x
    k
    9 O2 \  g# ~: v; a
    6 _/ {+ L, i. I1 b# R (H + f/ p( M6 G$ T* d7 A1 Z
    T
    : R8 @; ], H) t; Y7 m: W6 } LH) 2 T; d9 i3 u% Q" E" Q( ]7 l, l) k+ P
    ii
      z) L- V4 i- J9 b! A( i: K
    " ]$ I6 x; k* E" Y3 r1 k =tr(H
    , K7 `- y( _/ |T
    % t- C& T7 r7 ]+ p% Z LH)/ w9 Y& `+ R) l+ G4 k  @

    / b8 c! i) E# N; j1 `但此时H T H ≠ I H^{T}H \not=IH
    . F) r) v/ Y) W( e1 C  m# pT
    & |1 l9 R3 ]) {6 A( S9 ~" O! \ H
    ( S, `" H0 K: Z; o0 l$ c/ ?
    , p) O) Q0 z. Y3 n, R; l: f5 \6 b=I,而是H T D H = I H^{T}DH =IH
    ; M+ p6 v8 G, R  Q0 P. k) a( J* r& GT
    + [3 l7 P- I* ^7 c) ^- L7 K3 f1 U DH=I
    2 x; Z2 L+ g. m4 D
    * d1 C8 h) Q/ H这是因为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 : N  t( Z3 m! q4 C# ^- }- V5 U
    i
      o* z  h: E* |6 t) t8 wT
    2 w5 x  m# f, P% ~( k0 t9 P; \! x  X. @8 @4 @& r4 k9 G( W
    Dh 0 T; g  a% o% S5 Q+ \' H
    i9 s* x- `3 G. U) C8 R) M
    & \) Y+ n) w3 u- q4 I2 {
    = / w" y$ C0 x1 x' ]5 u9 X" E9 q
    j=1- l/ t3 N! q8 E1 S* h4 O5 j

    3 O5 v2 e' [: I* T5 ?. dn8 b- I& h% J: t

    4 S" L$ Z; C  Q, J' s# @ h
    5 D  E1 b9 ]% M5 y4 ^  v* _ij, }) \* {  X+ g( |
    2
    + S( T7 N* z- T0 v7 ^7 O  E2 O: v
    d
    # Y+ ~$ A/ ]. `j
    % U# g( ~* `9 E2 N" e  H% D, D; u  [/ t) t
    = 6 J+ F6 \' y/ s+ z; t5 h+ x
    vol(A
    + o! m0 q/ m: Ii
    2 |( ?4 Z  m4 P& C  b$ W& e( D
    - u1 \$ A/ j$ P4 A$ }# i )
    1 `8 o; u4 A1 `1, k, I5 c6 T4 j" z9 n! J. o
    8 i" z4 n: |- a& }
    ! f! B/ j& x; [/ y- K) b, F
    j∈A 3 X+ L6 F1 G7 [$ j, e) e
    i# v2 T/ \( i6 z$ X+ a) ~: b

    & M  I) e8 {6 v8 R* D
    4 O% V# v$ {! f: x  j# K: E
    9 c( W4 c6 T& D
    ( K2 B. T" m2 F, _- z  q. Y d ' L% A. q1 v% _0 p& n
    j
    + e" o5 _+ O6 w; a  w/ @
    0 r# F- z0 z. _! l" u3 o, J = # L. Z! r7 u( Z8 Z
    vol(A 1 y7 g# s7 p$ U9 Q9 t
    i6 l4 m! ?3 l/ ]6 v0 F( K

    # O& d! n) V! x' Y/ [3 M )
    % T" s( {: T" c& F2 J* k, M2 W1; I" q& G! z5 v3 C& Y8 j& @

    0 q4 {- _* t$ J& i. e0 w& ^$ C8 \" ` vol(A
    , V  E0 f" ^* j& J4 [, I4 Ci! l$ T4 o/ @" ]
    & F# I! d+ P& D( G3 Q
    )=1
    5 L, K% A2 K: a# r$ A$ O& o  d因此,此时切图优化目标为
    ; S+ ^6 W8 f9 h; R, r$ u. 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, U6 M) b# F/ fH8 }4 h- S9 h* s$ y; u; p; F, i! |
    argmin* G  R$ d6 F5 Z( F, l
    0 f4 q, O( P6 J5 E0 {
    ! j8 a; X9 E; i6 y& H/ V
    ( m( s4 X' }; o) D1 F" s
    tr(H ) V. U. g& ^: }
    T
    5 {' }+ g) S7 D7 {6 b) m LH)s.t.H * b' g- [  P5 t2 i" t$ Q& }
    T. j; N% d4 E- k! L. V. ?
    DH=I
    : F5 s6 J+ u( b% d/ i* x$ o, R, Q9 e$ V1 N
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D 4 L! h, u% U1 b% q- a7 c' T

    ' q0 i2 u6 E7 C. |" z2* V) Y7 V# u) c  ], }
    1* f8 ^! F% O+ ?. E1 X/ G
    6 F7 `0 E' D. ^. n( E* C; q

    7 s% G6 b1 j# m" y, U! M- v9 E 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
    9 c* s! b% Q% L& iT
    - `/ P# X0 [0 A8 l LH=F . F  e+ m3 J2 e7 n% w: O
    T4 G- J, V6 k7 D8 X7 O
    D
    * p4 r3 z" E% M4 M' A$ ?
    ' H/ x! M2 d( q* _2
    . u1 |2 ?! n$ T1
    4 e7 \8 M" Y( \/ V. U1 s- A% ]. Q1 `. I; F* k& Z
    3 Q1 W7 r- b% _& O
    LD
    ' P" L2 O: _: d1 a4 k* T5 V: f$ ?; T1 h1 r. R9 a# S; u) V
    28 Y6 e1 H  W# y, Q" R
    12 ]5 D. k+ i! x5 I: {9 Q, b
    , T: H+ m. B. ]' Z2 g8 _: ^

    ! b$ L. y2 y* D, L+ \9 I6 y F、H T D H = F T F = I H^{T}DH=F^{T}F=IH 3 `$ N9 y, U; h3 [2 F+ {
    T3 D; z+ L4 p, }( e" d
    DH=F
    5 P* |( c3 V* i' H- WT
    2 O: b. K1 K# t7 B F=I,于是优化目标变更为4 n4 X0 R, d3 s
    a r g m i n ⏟ F t r ( F T D − 1 2 L D − 1 2 F ) s . t . F T F = I \underbrace{argmin}_{F} tr(F^{T}D^{-\frac{1}{2}}LD^{-\frac{1}{2}}F) s.t.F^{T}F=I
    ( _' q7 v3 y/ S; R; @( M; {; RF
    ! f9 j9 x( w  Q) y8 D- S4 u, G' Q2 aargmin
    ( v3 @- o9 G$ N8 g
    # G: {, z& H+ q) s4 {
    9 |% L& S- z" n" K0 g+ l0 {/ X- h, S7 ~. h; U
    tr(F * W* l- R( V& B. e/ Y
    T
    5 m7 Y! A' I6 p4 G D . W# B4 s( x* g
    5 g; }: t( @  i% B: y$ |
    2" j- G* F1 A, t9 m+ l, u  S
    1
    ( B9 `6 L5 Y; u) }+ g. W- o; Q3 f$ z- d# Y6 ?% e7 I$ \# [
    * R0 c* x, D; O" |! A5 d7 k0 u
    LD % s2 z% B( v4 u8 W5 [2 V

    . r9 ]! b; `5 _- K: a2* G% w- Z* X+ z! @+ R
    1
    + g/ ]) Y  f9 h3 j* H3 Z
    / e( f% s0 l6 {& j$ U
    # P! M) b$ H0 b F)s.t.F 1 K( B7 L+ i- M) z1 R& R
    T
    4 U! d) U1 N# C1 G4 I F=I
    % R& g  j* L9 _! \8 B' C9 W
    8 ~' K4 ]; {. b9 x( [* H现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    7 b- J* R. K+ L% ~9 M' M, }. n+ x, d+ y' P; {
    2- v- S7 K9 V, b$ d- T
    1
    5 ]" @" W# r0 A5 t5 H* `$ i" ?0 {& R  W  l1 Y
      r0 s/ V% h! Z1 Q$ E
    LD ' S9 k1 N& O7 e9 M
    , i5 U- G+ Z# O1 ]$ K( Y, F/ @" ~7 `
    2/ ^1 f8 O9 |4 \( a/ ~' D7 R7 j
    13 O1 a+ P- ^! {" Q. n

    2 V( Z0 o3 j, E% P* W8 }& B
    ; V6 y6 w  y: G1 G2 O- i0 A (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类- t5 J, Q  k4 I
    # G6 D0 Y, t7 a
    一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D # B) U7 }) w0 Y& s0 B+ V" ]
    ) j# Q  w3 |0 m  B5 T
    2
    ) Y. s8 b$ F, X  d& R9 N1# D/ B9 e" c( V) ]9 N8 }3 i' }
    + w* j% q+ e- U/ N( K: u
    & N: y" T2 G) ~1 x/ ^
    LD , K( n; }, U: D6 Y
    : X- ^) Y" K$ [+ U( P
    2
    0 j2 e) ^8 J  o1( I! S! ]) H3 [. U
    # F; f+ ^% c1 i2 s- A; b2 `4 I

    / O  R& G! t0 C! I 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}}
    $ a" Y" g- l7 q! Yd
    ' C) E9 Q9 a- e$ ?% Zi3 F1 a+ _9 T0 q8 ]" z

    - R) q: x0 h4 Y4 L3 G8 y0 r ∗d
    ( Z- G4 _  f4 \/ e/ z) r! qj* o$ a( _' \6 W) `
    $ J. l* O" ^8 |  E# S0 {
    " `5 F, M3 A+ Q
    : e2 G, }/ x1 n0 I: U* l
    7 B3 m& h  D- Q2 y# G& G
    L 0 h9 m* l& e1 ?+ ?( b0 }
    ij
    - J/ A+ o8 w+ E5 s9 n" X& Z' @+ X9 W* H$ i4 ?; P

    6 k) h$ B- s$ I$ `/ v+ M2 F5 d6 s* G  }+ ]1 O  X
    ( ^2 d# G: [8 G0 G; a+ Y
    二:谱聚类算法流程) h1 Q3 B. n& e
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    - i# X7 `6 E3 L( R1& [0 `# v% O8 y9 d, i
    5 K& A% ^: {2 n- V' {
    ,x 6 I3 {2 z" ~8 g4 _: B; b% l
    2/ I( `% G8 n, S9 ~" ]- e
    " a0 _" n: c: p7 V" `
    ,...,x 0 p: m) S2 a+ [* L8 U. W! F; C0 J
    n
    8 L7 F/ E# N: t$ M6 O+ T3 A  @, ~3 a. n) B! B; c0 a- G; Y
    }
    1 Z& x/ b9 ~2 O" e
    2 x3 U; Y! c7 C" A1 F/ w7 q根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)
    3 `% u2 M" p2 X8 _根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD! `# M; B, a, i$ H1 V5 `) Y5 g
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W) V9 ?4 X$ p; M
    得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D   z7 v( R' {% V# q' Z- {% U' f

    ' X0 h$ \) _1 ?, E- v2
    % ^6 K& n; Z! A' t- p  _' Z1
    ; z  h6 O: w0 s, C4 L
    ! o1 m6 s" ?6 @: ]
    3 a- Y' T2 |, f2 T  s2 V LD
    2 X. t6 ~( M" @) ]) k; \9 Y  }$ O7 b, Y5 S
    2
    - W$ x2 D9 k( f1
    , d& w% r* b. t3 D% y" Y4 }6 }/ m) g; t

    ( U: r/ |4 k! \; c" `8 f3 |8 e2 b# K: H3 {0 K
    计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    * n1 b( K( O4 t* g" b% [
    : z, C! e3 L. V  U( [2
    " R8 t: ]- e: K. r  G1
    # h8 C) p8 ]' |4 Y- z; j) [+ G" i: \( y' q( V( Y% {/ W

    : K6 h6 G$ x2 |8 Z/ v LD 8 `8 O9 }0 o. {# F
    1 l* B9 o) j! t& A# h$ e' f5 O8 ]
    2, A5 Y7 c& b5 b# X5 V) C. l5 K
    1
    8 o0 u! F( Q  `& K
    ; B7 P  o: u* P7 V1 w  L
    , O9 W& d  ~8 t  X- k* W& p 最小的k kk个特征值对应的特征向量f ff% N8 i2 [: @6 b% k
    将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    + i. S: c; [. A# X" l1 r* DF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k 9 U' w1 V4 V2 A3 l; g' N$ K
    + ]' N4 u3 w& ^. e. {) S% l

    ; P4 l- c0 c! n$ h- Z% U" D得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c $ `' X- q& i3 `) E( x$ G( e8 n
    14 C9 C+ d" R% f0 [3 \# Y6 y- n* u

    5 X- I: S" ?9 a, C7 |4 l, x: M ,c % P6 M9 Q9 l7 B5 F
    2: P5 @: Z7 S+ i: }- L1 A6 ?

    $ O* h- I& U! s9 P8 d+ d1 K( P ,...,c # ?+ M. d, _  n5 z
    k " ~% t2 ~, s. N
    9 F0 g8 [& k9 f- e) y0 R

    0 u- e& v& H7 d7 J+ L
    - o8 _6 |! {* O1 h )
    ! ~2 c4 n3 p4 _% i+ @. h- u0 B! M三:Python实现" |" ~, f' U/ Q& \$ ?- F
    import matplotlib.pyplot as plt/ ~' s  }! \3 _1 ^0 |
    import numpy as np
    ) E0 i: {* B4 M2 g; rimport pandas as pd
    4 T7 }' i' J& I: h, g3 v7 B% ?; ~from sklearn.cluster import KMeans
    ! j; g6 G1 v4 Q0 U; qfrom sklearn.metrics.pairwise import rbf_kernel2 ^/ X% |% K: X# n3 Z( }+ Z2 {
    from sklearn.datasets import make_blobs7 u3 L( M  R" ~0 I
    from sklearn.preprocessing import normalize! W/ E: d  z$ J9 l' L+ z

    & Y- T& A; j  X) W9 H. Xdef get_affinity_matrix(data_set):& s5 z7 E. J3 ^( @" v+ x
        #  利用高斯核函数计算相似矩阵(全连接)
    + z" X4 s5 K4 H    rbf = rbf_kernel(data_set)# q( Y6 n! J2 {* ~: {3 c) G5 B
        for i in range(len(rbf)):
    - `5 v3 y* M! d" O        rbf[i, i] = 0
    # s, O* x0 Q6 r; @# W7 _    return rbf3 K8 C/ M  s2 K# g
    & R* Y; A; f, m8 V% A
    2 X; J  H. F3 G7 ^5 e
    def distance(x1, x2):0 Y# G, D) r: n3 {3 o6 m
        """
    8 T6 _1 s3 }# m; \4 G    获得两个样本点之间的距离
    6 u" j( P5 d  Z- f% ^6 a6 Y    :param x1: 样本点1
    * |0 h! P; z3 j8 u/ D% l    :param x2: 样本点28 W( p% B. `+ g, M
        :return:1 v: w# f' b; w$ z+ k. K
        """
    ) @' }; \6 O2 w. j, K    dist = np.sqrt(np.power(x1-x2,2).sum())6 J# n, K+ s4 C) v+ U! Q5 x
        return dist  s% s+ m0 z; H; P2 H& W- A
    ( X1 Y8 m- q. t( i1 U! I7 ?$ a
    def get_dist_matrix(data):# l" h( u, A) y  s! A
        """
    1 Z. M% t3 G0 j* U    获取距离矩阵. E! K- f6 F; z7 K
        :param data: 样本集合6 P* D5 w; v# N4 h6 o- x5 \
        :return: 距离矩阵
    $ J! `# C0 L" B; m    """6 J* c$ k) T" f1 c# S; {
        n = len(data)  #样本总数6 [0 ~3 t- x! m
        dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵
    2 Q- L' j0 j4 m' H  L    for i in range(n):7 ]# |4 O" i6 A- O
            for j in range(i+1, n):
    ( B2 b. t3 {+ c* u( b0 G8 |            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    $ r* ]% W8 u1 Z' Q    return dist_matrix0 e: P; b( o  j8 ?% z
    : K3 W0 ^2 p; g  T) z/ c
    def get_W(data, k):
    5 F; |8 I( u( y; d$ y    # 获取邻接矩阵(K邻近法)
    , U  j/ C6 w) I5 b  }- p    n = len(data)
    1 y5 a0 _4 u/ j) L) s) L    dist_matrix = get_dist_matrix(data)5 F/ \+ v3 q  _: F( R
        W = np.zeros((n, n))
    7 N  U/ Y* I# l% j3 `! t    for idx, item in enumerate(dist_matrix):2 ?" |: V& K/ y8 Z! j# E
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    3 j" e+ [8 s8 E" B' l: i1 L        W[idx][idx_array[1:k+1]] = 1( E% l2 T6 }( ]7 v  C+ M8 |
        transpW =np.transpose(W)6 |& U* s3 z6 k9 m4 G
        return (W+transpW)/2
    ; @, f7 z8 Z/ @) u: c7 F5 K/ |0 B8 V/ `
    def spectral_clustering(data_set, k):: W5 x% B" d* A, U' C1 l, w2 p
        # 利用相似矩阵S得到邻接矩阵W
      o3 Y! z4 l: Z" e8 n4 k% F/ V0 ^    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    9 r. v% N  T- }9 r3 {  l& j; e    #  W = get_W(data_set, k)  # K邻近法/ o# n8 S9 o  k8 i* C. W* K, F1 _
    0 _, @) y. E' d: [/ f
        # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)8 q% f7 G& h2 B" L) F
        D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))
    . H0 n$ p. W6 d8 u* h2 c- y. E- d* J
    # E9 @" u- L! ^6 ]4 v    # 计算拉普拉斯矩阵L=D-W' @) X) j) j6 }4 }: l
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    0 v5 h, S. V, ~" B; `) M& k    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)  A+ q! Q6 G2 ^) _8 S& I  c
    6 G% m  D6 F( s) N$ n
        # 得到特征值和特征向量
    : A  R( C7 a# x8 ?4 A$ m    eigvals, eigvecs = np.linalg.eig(L)( Z2 X  d( p& z

    ) a7 v! A% E9 C  u" h    # 找到前k个最小的特征值(索引)
    7 N/ G3 z/ r. l$ K5 [4 n    k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    4 r) |  v% Y! T/ j6 C/ L+ I5 P7 g; b! C) ~+ l; ?1 @* y6 ^
        # 取出这k小特征值对应的特征向量,并正则化
    . F. O5 |8 ^, M$ s    k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])& n  k# B! V% C/ g$ ?, X
    3 j- Y( Z4 F/ P' C
        # 使用K_Means聚类* W# o- @+ i; ]* k, i8 x9 `  X; r
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    * }2 D1 u! f+ J6 ]; {. g6 i  S
    4 _; X5 ?8 f9 p- I+ n; m' F. D: h5 N+ X
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)& Z$ f# _  f" }4 I
    raw_data.columns = ['X', 'Y']" G* R  B2 n8 q( L  q8 h# t
    x_axis = 'X'# z1 d2 `8 z; i
    y_axis = 'Y'. T# x& R9 ?8 w2 T

    $ Y6 n% {  q7 x$ e1 h$ |6 e, [* r+ y/ qexamples_num = raw_data.shape[0]' X6 d* \% b3 {6 O7 B; L. t
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    ' {$ G" ^% u* Y! p8 k
    ( t* l, p4 _5 i" o3 W2 t1 P0 T4 e1 p) ?
    min_vals = train_data.min(0)
    0 ]2 ~0 _5 l* r/ [* _/ Tmax_vals = train_data.max(0)
    - i2 r: r, m- `. `ranges = max_vals - min_vals
    4 ]9 k4 D. h# ~# }( x/ qnormal_data = np.zeros(np.shape(train_data))
    ' M9 P1 Y# @9 H  ~! Lnums = train_data.shape[0]
    ( B* L( t$ T. w$ `; r& a+ q& xnormal_data = train_data - np.tile(min_vals, (nums, 1))7 m3 t% T8 _  W3 Z6 c
    normal_data = normal_data / np.tile(ranges, (nums, 1))
    * E; \4 ]! n) b) M$ R9 N9 R! B# {7 x+ Q8 A6 y- l9 ]0 |
    labels = spectral_clustering(normal_data, 2)8 |  F: o$ l+ @0 P. D0 H

    0 @9 \; B- E* y1 \$ D3 R# 原数据5 f8 j& ~( A$ t6 `; N2 ]2 i
    fig, (ax0, ax1) = plt.subplots(ncols=2)
    9 t; s% f5 w4 C5 W) M( nax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')+ j4 f* |* i  a& p( z, `( H: ~
    ax0.set_title('raw data')$ N( a9 V, H9 r# ^  [2 G5 Y- K
    # 谱聚类结果
    5 b) ~) @  O* A$ u$ h9 H  lax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)1 |! }6 k9 G0 c. `8 }3 i
    ax1.set_title('Spectral Clustering')
    ! {9 r; t/ N4 G4 c8 Z
    ! l4 l9 Q: y# [+ J. mplt.show()
    ( r2 `% C* e* ?8 R# O
    # m. g: A5 k! L7 i1
    # |' E% Y+ Y2 R2
      J' o8 R9 {- R7 @/ Z3
    9 ~7 U6 O! L7 z% _& U# P- B3 r43 I/ g9 L" {5 l+ U! p( e; \6 \
    5
    ) {2 k0 j, S0 @& f  j6
      \/ N3 L7 t0 a0 c+ K, C7( k. H# m' J2 _/ G
    8
    5 z0 H( e5 @# ~+ D9
    9 {; r: d1 C+ i; O  k3 T3 f10
    0 \% W# ~1 s7 n2 J11$ y1 \4 ~1 Q! j, n5 ~
    12
    " b2 m5 w" G' c1 o139 V$ j9 k5 R9 N% _6 b0 a& ?, H4 |
    14
    ' u( P% f% y. R/ F/ ?: a& l- t  X151 e5 M2 [8 C& P$ S4 o' ?- b
    16
    ! A+ ~- T; I0 U. x! z+ o! e, k173 J8 ^( H2 \7 h" N1 \
    18
    ) V1 x# s' G; c& ?2 W; N' b9 Z1 i: i19$ F& N9 h+ x% D9 V2 p* j& h  W
    20" T6 S7 R8 s$ H6 O  [% {- r
    21
    % M' T2 V  d' M6 n, Z22
    # ^, j+ A8 `2 {. P( W4 W  Z23
    , x6 V9 Z$ Q1 R' G8 r! I24
    " c3 ]% [' ?" j, V; P25
    9 y7 d- y- l7 Y; F9 D- s2 A26, J! {. K( q: M) X
    27
    ( H# N0 A; q* w+ A7 @) `6 X283 m( Y# h) k2 G# f
    291 W. q7 S0 s. V% N6 U3 N3 X
    30" _/ P; ?( X: E, W
    31# x/ Q# E- {" J9 J! y
    32- ]/ s' ]6 D0 B
    33# Q0 x* u. E/ a& c9 p) l
    34* O9 p  C/ h: \# I0 z2 X; R3 q
    35
    : p- w( z" q9 K4 b36- a% d% U* W& q, M
    37
    5 Y7 U7 z$ n1 {383 Z* s6 t& i8 |, v0 y* U
    39) R9 Q9 T4 i1 X; k4 J' }
    40  W1 m0 }5 C, l" `- \
    41
    . Y% o( ^. ]/ s5 A* y42- D" s7 f$ ?- G. M
    43) D: M' H; F% L
    445 ^% p! e8 H, y' ~5 m: T4 J; z
    45
    ; @: h6 q: g* Y6 ^9 g$ a, k* H8 k46
    # h# H$ `1 X- k. e47' ^/ h/ U" z' _. U
    48
    # [* Y, }% Y7 a1 P; l49
      y. t/ R/ x1 ], Y3 w% m# z  S50
    3 P) |4 t3 I! d. e513 M/ G( _9 h* _( i
    52* U5 c* I( O' J  m0 w+ V
    532 q! e0 }: F4 C9 t
    54
    0 g* ]+ A% G6 h2 g* R% H55: z1 c) K# ?- e( |0 Y; ]8 v$ x  }
    56
    ' Q& b1 s; q" L3 ?  A  o8 ?57
    0 p0 ]9 c: C' S" d- e58
    6 E. N1 U3 k- i59
    9 M0 J% `  z5 {9 d! R60
    , L8 f, c0 ~+ ~1 C5 t61
    , V6 O0 c2 {& B623 R" I; ]: z, H, b3 u6 m0 T
    63
    " e$ V/ [. K$ K+ u, L4 M64
    ' f8 _+ g, J; q6 I8 _! D653 E9 I- s1 x" }* G/ Z+ T8 H
    66$ w8 J: b5 |- S8 E  g. `6 K
    67
    2 P! r* Q. s- |2 W: k: w68
    8 N" [$ X  [- d3 `$ p% r7 a8 W69! q0 l" ]. B5 @5 |5 u8 A8 W% X
    70$ {. O' J1 u( \9 l) _0 j
    712 X. E! y& G+ |0 r1 f; o
    72
    2 r$ Y) L' ~- P73  L7 _6 I+ |) ~# ?
    74+ F/ }$ [7 G- ~! q) l
    75
    / v, G1 x8 z$ D& g" g: G76
    ) t2 X9 v% D3 i; \1 J+ _77
    0 w( X) o0 H+ f0 u781 }, x9 [' [9 x  d! w/ k
    79
    1 {3 u& v) A3 l( d80& s/ B8 D/ L- w6 W% B
    81
    ; G- ^0 ^, V' k" B. K2 L82+ y' z! H. I. _
    83
    $ W/ o* O/ F4 `84
    / }2 U) _  J1 {- ~85. s2 R# l, @5 U5 J# o2 Y
    86' a1 o" ?* v7 u" K3 ?
    87
    3 x! T( }+ }4 ~$ U* R% N4 \! }88
    5 @% a# ]. x7 l  a1 t: V8 Y# C893 X9 u4 \( e% h0 s. C6 @
    902 P; C. s% X% p/ C- ~
    91
    - i2 C- x" {# t, W$ X92
    & c7 b5 {) O5 ?93  F5 f6 x; y4 s
    945 P- B/ ?; z! ~: d8 h( m1 E. o* {
    95( q6 r; c$ g' o" F
    96& v5 u# g3 a& {* v& v0 Y  S
    97
    : Z3 ]' p0 H" n0 K4 W, Y& Y989 O9 `6 Q7 s# W7 g* ?1 y
    99
    - V( N. B, v% P9 p$ m0 t- q100
    ) `. }6 `( `: Z) X9 I0 x101" ]/ I& J! t: W( k+ D# c" b1 T" H' j6 Y
    102) [- _( \& A0 m* k$ U
    103- s, i8 s* I7 z; ]" l
    (高斯核函数)/ s+ W7 r& u: R5 y: p/ O! q
    - K  {- I+ S: P* y# w+ M$ |# z
    & N# F+ e9 _. a: u
    (K邻近法)
    . I9 W3 Z6 _/ o% Z! L# e
    1 v9 j( q; P" m8 Q; C& O0 A- c
    6 ^; D/ T2 I: _& u2 J7 A9 d" w四:谱聚类算法优缺点; P' N8 ?$ B( C4 X
    (1)优点
    / y% T! E$ x! x谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效6 I* R! c7 v( X1 G5 c6 X$ L
    使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法% t+ |& k6 @8 n( v( O7 T( l8 z, {
    谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解' L" c7 J6 E* }" j+ H  h
    (2)缺点, }6 b8 P* z8 e$ [7 M4 U
    如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    $ ~1 `7 |, K2 p+ G$ D7 ~2 ~  _8 W聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同
    * m2 P/ D+ C. N  b. U6 P! l( h8 u————————————————) O7 f3 ?% |) X
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    + o7 E8 Y0 S5 G5 j9 b9 m原文链接:https://blog.csdn.net/qq_39183034/article/details/1267474947 i( g; W2 m+ c3 _
    % ?( c. V# ?6 a4 b( O) q0 W  g
    % f' S7 N3 L( R  u9 _- n! e! u
    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-7-30 13:53 , Processed in 0.471424 second(s), 51 queries .

    回顶部