QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3029|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现! P- Z" z3 p; e& G. B$ n* s

    - P, m  h  X3 t本文部分内容源自刘建平博客,在此基础上进行总结拓展
    / M2 }3 g3 g! z; s; G
    4 Y+ N! T) h$ Y) f( @+ a! {, I6 j. j原文链接
    5 i4 j2 ?: ^( [8 e, d+ B文章目录8 \: K" M$ K$ ]3 }" l4 |
    一:谱聚类与图划分
    2 y* s' C2 ~- l8 O* c# M. B: ](1)比例割# z" \8 H% _! e
    (2)规范割(常用)
    ; V$ z  [) R" m1 \6 U; Q) w二:谱聚类算法流程( V7 q5 |, Q' R* n& p
    三:Python实现
    " _7 \$ p* h7 X1 k  C四:谱聚类算法优缺点, P; M) Z4 R. I' c) ^
    (1)优点+ o# [4 _6 e9 c5 X1 q: k; B' T
    (2)缺点3 d" m* P- i: W/ c) _) b' @( {
    一:谱聚类与图划分, O6 e. G9 g9 W! Y
    无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    ! O- _7 V/ _( d% l- e$ M5 B9 ?  H
    7 K; M% w8 y0 ^4 _- A  b每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A / f8 z/ o) d% x1 S. ]& F
    1* @1 X9 m1 {; p8 H/ O% O: E

    8 o. _5 k  `+ S: S; [6 x ,A & f+ j$ ^$ I( o- [( R
    2
    8 A& C* }  S9 v5 t: @8 c, k2 s8 F* r( I) j
    ,...,A
    0 ~+ D, }) N# l" Z& ~# Wk
    & g0 ^9 T- V7 K- S+ O) p  F) V0 m% e1 V0 L/ M
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA ) _! v: X. L0 N+ P% r" t2 y
    i- v4 f: U. t* i9 _6 A. d
    * |6 A8 w9 q/ l, `  H: W9 a2 H
    ∩A
      J9 ~* Y! [, u  I/ gj( M  D$ k% g2 s9 r4 k$ b* s2 ?/ A& @" P
    ) J2 B/ }) Z: V8 ~) r7 H5 z
    =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    : m* c& v4 E( R2 X! A9 L1
    2 R3 s( A/ d! r9 P. A+ A/ ^& I! i3 n4 X
    ∪A
    2 K, F3 W2 z& F% s$ E/ G2, I; r: @) z( A' `! C

    & k1 A6 Z0 b; F2 ~+ } ∪...∪A
    + Z/ U- c1 U3 ]. Sk0 I. h7 _6 W3 ^. m0 D( f

    8 F( a- p4 E: H9 Q6 g =V
    $ b- C1 z( ?2 O2 z% \+ p6 f) a" u对于任意两个子图点的集合A AA、B BB,我们定义A AA和B BB之间的切图权重为W ( A , B ) = ∑ i ∈ A , j ∈ B w i j W(A,B)=\sum\limits_{i\in A,j \in B} w_{ij}W(A,B)=
    " i) S$ Q/ I( x( ai∈A,j∈B
    5 ~$ W* u  h, }6 o( ?+ t9 z; a
    - r2 g* ~5 X7 E: A7 q
    $ l: r# x6 e7 w$ i8 x w
    * }0 P$ C& A8 o  l) x$ Uij! l9 H& [+ E9 ?; W$ A1 |' R

    9 K& j8 t! H& X0 U
      H3 d( a% C- E, S7 R对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    ) _5 A9 C1 f4 \. Q! I( g1  m7 }* E# {7 M* [: p
    & T4 A1 H3 @: t6 u7 q
    ,A
    8 o) x+ I& x* E2 D7 G, H2
    + n- X' u- y4 E: j2 Z6 @
    $ r1 j! t! p8 V: t5 l3 @7 _ ,...,A 3 n' |' H, q& l$ A
    k4 n" g% M, o1 I5 Y

    " u# J$ `. F8 F$ t$ G) p6 Y },定义切图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 . g) X; `  ?8 k% _% C
    1  _  [8 C9 y4 e4 J; T, a3 v$ i9 Q, O
    " f+ d2 O+ d6 R7 j1 s* z
    ,A
    6 V4 T* e4 J3 m9 h8 M2
    ! O5 w: a6 V" U1 o3 s
    6 y. p0 Z' x. C4 v1 e9 ? ,...,A
    1 K0 r! g5 ~+ L1 M% w( [2 R7 Zk) `# G; z1 l' p8 q+ P+ t0 c$ s0 ]* a
    7 K5 G" u5 H: g
    )= 6 a# j' e: ^1 H6 k, Z: \! @8 d' k' q
    2' S- x# \9 E- @/ s! M
    11 t% }. v0 X( [8 h- _
    * ^( i# |( n) v; X) c4 ]
    9 e4 g1 i* T; G' S9 D' g7 j
    i=1
    * u" t1 `4 T% l" A2 H
    2 `. n/ [* v: u7 X4 L8 ak( h' W. O( x% Q  \3 i& T0 j! E4 n' b
    6 r3 K) X. |, G/ Q7 b7 x
    W(A
    7 E+ c1 U& H. ?9 \7 G/ c% Fi. u, X- [) i* k1 @3 |  F

    0 ?- k: d) f! A; K' e, y/ h& }, _ , 3 K' c- p. ?0 s: b* d, b
    A3 j, C+ Z2 R: C5 u4 n0 b1 x
    ˉ
    1 N2 g* t/ u5 M& s* z
    0 S+ w# H/ _# fi# H8 o: b' i7 k3 _: ~2 X  K: i4 n

    2 B1 ]/ D, Y; Y& I- ? ) (其中A ˉ i \bar A_{i}
    ( x6 I" d. |0 z' d" IA% t# U3 a( O: O" u  X; k
    ˉ% ~: d  A8 z' u( s- A

    % i: \' C, E% t& v& c& i) v2 Si
    . ?* [$ d; B7 W( M) n
    : @2 R: y/ R/ c, u7 e+ c 为A i A_{i}A / n( ^( S7 m; I! D; C
    i! [# [) [$ T1 R  w# m# c3 f3 Y& D/ i
    , `; P* ~9 E* {6 M1 `: a
    的补集)
    $ F4 z+ Y- e& @3 l可以看出,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 # G) ]- e! P0 m" k& P% y$ A. r- a
    1- m3 l  O! c7 y; \) \/ t- @/ B
    4 [* w5 `* a; C
    ,A
    - Q& e# F8 D- M* \, r' l1 q2) q/ g7 k1 Y& m
      Q* G, N# L( `5 u' S, q
    ,...,A - F* |6 m' o* F
    k
    ! K. v5 B" W) c5 A1 E4 E2 {: ]
    ) n' U# b, m$ o  p* {; ` )=
    ; J. f9 ~2 o9 m0 k0 a" r' j' y2
    5 Z  G$ S& S$ W5 x11 P6 n! V4 H  f' D6 m
    % u0 g$ n9 T2 C# ]' L- m

    ) f" y. X% B$ G2 p! Q- I$ hi=1+ L, Q8 ^/ I+ z# Q

    + o! E8 B- @6 K; v7 R! K( Z8 Qk& k4 J( a7 h& b9 U1 a; `
    . V+ t1 L6 e6 b% X, i% y
    W(A
    - P, L0 L: f8 E: L, M3 e: a0 Ei+ B* x; X) H. E% m1 P4 B

    ; ?# Y2 P' l8 K0 _5 K , 1 L: b7 Q8 P1 n4 n: j
    A6 W* p: v' H/ U$ n! k9 t% J
    ˉ1 a  c' K/ b7 Q# r$ w4 {4 `

    & _" b' R1 Z. j: t- v5 mi; J- g, Y4 O: y) q" @! {; A8 e
    9 \2 S# R* s& Q' O% i6 d2 Z7 r# g4 w
    )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
    ! e$ C; |9 f2 w1
    ' {( D9 _2 v) \: K3 `; d3 I0 N' B6 F" n9 h3 Z2 {  O
    ,A
    $ T) _: j) s5 |$ S& u2
    $ B% Q2 O$ g$ r& }) t. b% g+ T9 Y4 N$ }5 @" j' I
    ,...,A " j) f5 Y* O1 v, P3 l; \# {5 s4 C" e
    k: w0 Z: q8 Y0 D# n" ~

    5 M5 {( D) B9 {  e7 u )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡9 t( F& E9 u1 n3 V

    5 s  ^6 k% @3 \例如下图,选择一个权重最小的边缘的点,比如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 2 @+ q- _, t/ r
    1
    ( `2 L5 {! b! B1 B3 g# r5 D0 z2 x3 S2 d4 W$ d* T
    ,A ' C5 _# `  P2 P$ ~2 c) |/ [
    2
    8 Z5 A( o. X) ~$ c: ~, f" I: \) W) w% f1 c
    ,...,A 6 q: l* X! p+ Q4 _5 L* a
    k
    : F7 w: K- k' k9 C  F8 t
    : s9 a7 v* u* v0 z+ k9 i )但是却不是最优的切图, |3 }( e% \  P

    & Z/ W6 L/ Y* \' ~/ T1 z9 E为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    ) h& p, P! A" O9 `1 ?' C& @0 `
    + T! l  g2 t- h; K3 v比例割: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
    1 r& B/ s& P- v. E1
    : P+ }/ {% ?  O$ }4 l3 K( z* L3 Y) \0 i: `
    ,A ) p/ ?4 T2 s) Q; C4 M
    2
    " c! P6 _# @" m3 ^- B! C+ W$ |' Y' [6 b0 z1 u) ?1 F
    ,...,A
    * N' \3 a4 m; v7 Fk
      W9 T% k' o+ |+ Z- W
    $ B, k4 X+ m0 m" C3 r; @9 y )= ) m, B5 u, D+ [) Y! c
    2
    ! i/ b  J, Q3 p- k10 ~/ @* j( C- W% ?( M8 q! k9 ]
    : v3 `/ q0 `$ u5 e
    ; q5 W3 \! `) C, f* ~- ]5 M
    i=15 Y3 Z* n# v) t% B4 u" h

    ; \# q4 P1 f7 c& {k
    9 R; s" Y" f9 X  x
    $ e1 I, D% a, N4 V/ v; a6 g9 Z1 X3 d- a4 b
    ∣A % O7 H+ Y" G0 d8 \( c# v
    i1 E! k9 r* i2 m6 E9 x$ [9 @% f. ]

    5 @# ?3 R  p/ n
    6 t. x8 ?7 L5 _9 BW(A : D# G0 D8 P8 Q+ l) J7 Y
    i
    6 \  f5 C  X* y, c* @) [5 u/ P# f% e1 l1 j- o( p* q8 b+ ]1 I
    , ! `9 o- \0 N$ J- t* @
    A
    & w$ f7 X- _1 ^6 z. xˉ
    8 b* r8 X" M( ]+ {+ ~$ @# w3 B
    + W& `- Y' \: B; U' Ei
    $ b' Z6 ?& G. @3 [* w
    . a! g8 r6 v# _# A8 D )" r8 t% o0 S  |' s, }
    ) B6 `2 _* H- d  f1 p3 B9 ?
    : j, x5 n; }- H6 Y1 k$ {
    规范割: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 & v6 O( s4 r1 [7 O
    1: _& X4 T2 C$ X- o7 w, M" @

    7 P! d0 B) @  U. `. L# R" r ,A
    3 }$ C! D* ^/ x/ K, ?26 v' e, c, \" F1 V' {
    * y+ P  M5 [+ m0 X$ f& h+ B
    ,...,A $ v5 t  F% f4 O) A6 a  m
    k( z. K* E, t) f( }% z

    + R, ^' q* C4 g' i )= * y" c) f; ~9 z9 J
    26 r! m: U* F; Y& q! ?
    1& Y1 u' A% z+ b+ T. Q* u

    " F1 j1 i6 S+ e9 U+ Z0 p
      [' R% @" w9 }9 Ki=1
    $ a% @5 ?. m' c- F
    ' z7 [1 y1 Z- L( ~k5 i0 g0 T. q+ @! L, z

    - a4 K1 O* `9 J+ b& f
    - f7 g! b$ v; Z+ J, [, @4 ?vol(A 2 h" t+ W; a5 {4 F: ~
    i
    ( S/ A/ y, C9 Z4 F% K! h
    - k5 W4 W8 n3 Z% r )/ c7 {7 r3 Y$ z9 w$ q# u! N
    W(A " s! V8 ^3 b3 U5 M3 P
    i
    5 d' y5 K( h$ |6 F9 W/ F) w! S8 X" C
    ,   l1 D( ~1 P' v  e7 R
    A  s3 V+ b6 a1 M7 U, \  b
    ˉ; L) o& C7 d( ~/ \" p

    9 Z* v1 @9 O9 X* S+ si8 h: H2 }+ O# Y! A. @' W( j
    & |. ]+ A2 H- i1 O
    )
      [# R% \2 A, L: k1 c* e7 q2 l& A0 g  T/ U  [" K5 \0 u' M1 K
    : i; B0 ^: r, a. _) L: u
    (1)比例割
    $ C7 D: I9 D# r6 A7 q( t$ Q引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h # U$ |" Z( N- t, i3 Q3 w! M
    j
    + a) v- A6 y3 ~- B2 k
    , W4 x7 s, p& x+ h ∈{h
    # n/ X; _; Z; h$ ?( d  h! v1 c1- W* w% `( v& x# @% Y

    ( C$ q% {3 Z1 F4 C ,h ; v0 U* w0 G( Q1 M
    2
    $ k* x* ^5 x& v& ~2 Y. U0 B% H* e) H. C6 E1 d$ T1 ?- b5 q
    ,...,h / t; [3 ?3 N1 L
    k5 m" }$ l6 r' R# `0 c

      z) u% _6 B9 |) j* V },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h * B' l* `( z6 R8 E& ^) C
    j, x- c; Z; y0 R; U" Y
    ) n+ d" K" ?7 s8 p! v- i& V
    ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    % C# S! h' z* Zij
    ( u9 Q7 \, p3 [: v! \: Y* L6 l' b( _) ?: E+ j( e+ a
    如下
    3 s5 p, D7 L; n) D
    2 E; E+ o3 M) B0 Qh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    ' K( v( S3 q1 e2 O8 e& r. M: @{0,vi∉Aj|Aj|−−−√,vi∈Aj' q4 M7 @  \- |9 F
    {0,vi∉Aj|Aj|,vi∈Aj# e; O) D4 l( M$ Y! S/ f/ q: ]
    h ' _9 R% ~+ e! i6 q( @0 x
    ij& \% e+ {; r( t+ \9 f

    2 P5 ^# }' E) s" H  h, k+ Q ={
    : i1 n$ Z7 f2 ^4 l; E0,v 2 ]4 Q9 l( C! y$ Q! f
    i- p0 b1 q1 ~: R( }$ Q6 J* i

    " W$ L8 B1 T" r. D# U# m/ J# T9 W) D0 q
    /
    6 W# V9 a" e% G* y" bA : a$ K" P- H5 Z% g' ^& [
    j
    5 L( d- q; F! s" Q, ]
    ) x7 ~4 t& ~  ^& `! C6 c
    * G% f% m, O; \( `* X) j+ T4 N∣A
    : x2 j9 i% H1 Uj* C' X7 A9 `: S. e# X9 V

    6 I2 w! f" a3 w7 Q0 @1 I
    - F, _' [) z9 I* n9 j$ y$ o3 P
    / g7 e. B% d1 J6 ~( W- U1 J ,v
    5 X: @  X  v* B- L  Gi/ Q/ x% P$ `- \
    5 u7 b! Z) O: [$ Z
    ∈A
    : a/ j: ^+ y, x4 o( Q1 Rj$ Q5 M: {8 M5 Q1 r; z
    % t# n) O7 y" _1 o( l* r4 W$ u
    & i" i8 E( N! A
    + S6 h6 O5 Q7 {/ T3 e. K; m1 _5 P

    2 D* s* H% k  y6 Q' e7 [! ^" C3 d" _3 `: _6 y" T
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    : j; ~( m2 z; a* G. yi
    ( W- F3 |- D1 J2 |4 IT% x  Y4 b3 }- F! \3 H

    . Q" f$ b7 U1 C* {- } Lh 6 J) T9 h, a- r! a4 v6 N
    i; U0 E6 a) z# i8 `' X! X

    6 s. C" r) l1 ?9 c ,根据拉普拉斯矩阵性质可知
    6 f. t3 |% w; B2 Q0 t$ [
    4 m# V: `) K( n$ E对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    $ {5 r" [; X# J" h' L: O4 H' l5 D1: O1 L- S- _1 `% W" L$ A. @
    1 w9 y& t7 z4 B% h
    ,...,f " c1 c% Z4 Y/ d; y, }
    n5 \5 c) i/ ^- e2 P: u7 G+ e

    9 _& A8 b' b% R) c0 ?8 q ) # U+ h: i7 E' p( {4 j  {
    T
    6 ^$ l7 b9 c9 q: X7 J! S3 | ∈R . V; m, f5 M& ?$ S" x2 X5 ]
    n8 d0 {  l( n3 _$ o; 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 $ d" ~8 ~8 S' I: X! V% Q
    T. L# M7 N2 L. n+ c  }6 c
    Lf= 6 {$ K* Q3 R( ?' j2 `
    2
    : `% V# e4 a& M2 l1
    1 w" I# i/ X# r; G& `( X- g% Q' \8 _; m

    , u; m0 G2 p9 _! Z& X0 x: M. P  Mi,j=17 C  r* |. x5 d3 T
    9 C2 M' @4 I9 [+ o: k
    n
    6 x0 R! R! M0 z1 K( W
    & c. S4 N# s( w- r. W  @ w
    . r. t" R8 b! w; D% jij4 b# i3 A# ]1 w; m" t" X
    5 S7 r6 P+ ^5 A7 ]! F, R
    (f ( A$ D1 n4 H" |# h! n* v. v
    i& \$ y% B: \5 u4 F3 o

    5 s" \& k" A0 L& n7 M −f ) ^/ q+ J4 H, u# C8 G; i
    j* u5 R, J( V5 @' r# i! T, y
    4 J* r. w  Z$ G- P3 B
    )
    2 H* S+ |& ?1 ~$ z. x* N2  y9 k' n9 p, m  J6 U0 D/ X& H
    & o1 {; O2 R& p0 v2 Q5 |
    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}|}
    8 Z) a9 q8 o( Mh
    + Z2 E; f3 y6 k& \/ V4 zi
      Z2 r1 W' H5 d( H% e4 b3 |T# _9 {  H! B- y( y. E( V) w
    ' \  g) e1 |. x$ a- v, s
    Lh ! e, ~) l) n3 h/ ~* M; @* L/ P
    i) J- E/ m- X9 v0 j
    6 p6 B3 h0 g- X1 |6 y+ E
    =
    3 ]3 e; d7 e% |4 J. O, g2
    4 \+ V  {1 v, V" m, @- _& i1+ @6 T$ ?* X- G2 X  F
    % c1 o1 b& q( |4 Z% }; |
    / x, a( D8 Y6 B: U. `6 v' G+ L) i
    m=13 D0 L$ J- d; {: I# u# A0 C) L3 F

    0 ?! y0 X  n5 N1 s% ]
    / h& Y$ l7 g- h: s4 x8 n& `1 `$ i. w
    7 R. u' K+ j6 R. l# un=17 M2 j# l* ^( b( J5 N" k

    $ ^4 M4 l( Q4 {2 E: T; t: C. W0 ^0 C+ ?2 a9 S7 Z, w
    w
    3 G" i( c" F$ T  ^0 Cmn
    ! ^1 m2 c5 D( @1 Z# X/ }0 I/ _% F: P' t3 ~$ I" b# U  V( n/ l# u
    (h
    & a- ~4 v( T3 _! J" iim
    " g2 v  }4 P$ h& y6 I* T1 P. ~
    : l4 ~( q) D  n' q) `* v −h ' M/ m. k5 ^; |, Z
    in! g& f, h% R7 M" t0 }  f2 f

    ' o& L5 T9 L9 O5 a. x' h. X )
    5 W1 ^/ M0 I) ]# h, e  p6 a26 a3 D/ I- l4 ~  k7 }7 J
    = ' T0 R, k; z1 M5 c2 ?  }( b8 E
    ∣A
    4 w1 Z. ]; ~# }2 d3 W! Mi
    ) T$ i6 }8 l1 Y% w  |
    , V5 m* [, P, |4 I" i, Z/ E& s* {: j$ o/ R; y2 o
    cut(A
    / j: v1 _* f* ti
    # s  ?7 J; c: y! G# G2 S( ?
    1 M7 D9 a6 w1 j7 [$ t , $ a; ?# U3 |, g  Q' X8 u
    A
    2 M0 b; [& ~1 n9 g, `  v) iˉ# g9 s( T( a0 o/ o& n* K
    : j7 D+ K+ U) h+ Q' ~
    i$ l, Z& Z& B. }: u3 q5 E$ ?
    3 J* I" j# `, h+ h& b. ~; M6 C2 g
    )0 L1 [# ?/ _- R2 ~8 Y1 |9 m
    7 `9 K' t& f7 w, ~+ E9 j

    7 B9 p) J% t5 t  ^8 U# {: B# z9 n! E1 e
    严格证明过程请看刘建平博客:链接, h9 I$ E2 z7 P; g4 Z3 d
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    6 l* C/ c4 H* x  U* Ii4 k" S4 u  s. i5 a  c9 _" _2 T8 I
    T9 C" Q3 L6 F7 S' ^- B
    ; L' [8 Y3 y; s% F5 d4 U' t
    Lh
    & M5 i( P4 `1 x+ A( hi) l5 [3 v0 p/ ^. w: n0 P: ~, a: u4 i& x

    6 i. O. Q. p% M; K) p* w ,那么对于k kk个子图" b' g4 q) Z+ H2 m" a" A
    6 d- p8 c2 w) Y$ R2 w9 `1 u6 g
    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)2 J5 W1 r$ e3 e+ k4 o) v0 Q
    RatioCut(A / E' l  j. ]3 P7 h
    1
    - d/ H6 x' a& O% Q  T* q( ?' P! L
    $ [# {9 ^0 w( N8 l' r ,A
      k; |. \) ^$ ?# I  b0 _4 B7 m2
    3 U/ |1 v! k6 D0 W: H! W+ d2 X. v
    ,...,A
    . ?- [% P7 y- D) q# Bk
    8 O/ [2 |: L- X0 G
    % @# X. _/ U, e' p! r8 M- Y )=
    ( Q$ @0 E; @# P7 bi=11 {& S2 U! W; V2 Y6 b5 b2 _6 U7 g

    8 [* e9 u8 z) G& J0 ak
    0 |. ?+ g& I# T# B. i( b  F( z* V& Y' t' a9 O6 @
    h
    0 Q" ?( v( W! _! H2 d& Ti
    % h  M$ P) Y3 @% f8 s7 lT
    3 ]8 ~4 c, D; t0 `) o) `
    2 n' v2 d- G  l* Y0 U: N, } Lh
    & N4 N1 l8 X+ G8 [5 Gi" `6 M( F7 e1 Z1 V2 r  G
    1 C" `: P9 d+ I4 J- Q8 P
    =
    ; |5 l- m, G% N: \2 @, f) N, Di=1
    ( w- ^  P2 @% M7 Q+ Q+ {
    * y* r9 e! X+ F9 ik' w$ e5 O" g7 s+ R( _0 B

    ! v) n8 V% e/ d; N! j2 o (H & w4 i" Y4 E$ K" c
    T" t6 C1 V; f  N+ n
    LH) 7 B2 E" {- o# W7 Y- T# |* W" C
    ii7 q+ |* g" `9 x: I2 u; U
    $ h% S3 C% `, V( o
    =tr(H   [' [5 L. \- f" ]+ S
    T: T* q* M2 Z3 E! s0 K  m' e( I7 H
    LH)0 U: o& v' m/ e  n  E6 v$ I

    , G! |7 ?9 A" _1 s6 C3 H1 N因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H ( ~- j9 U1 G% R
    T" l$ Z# b: D5 _( c& H( Q& b
    LH)。又因为H T H = I H^{T}H=IH
    . k: b% j2 z; j( ZT
    * I7 f, ?' T8 ?4 p& v  f H=I(单位矩阵),则切图优化目标为- Z1 ]  u4 c7 t5 S  [+ Q

    6 x$ o! w" d5 v7 Ja 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=I3 M7 _3 ]! V0 V1 m2 ^5 Q* W$ F
    H
    ( i2 p) f- p* E% M& B  ?  Zargmin" S, y& k. c9 X; w+ h0 R5 }7 i

    * Z9 Z" i" X" R( j- k# m
    9 R' H2 l- ?, j  K9 z6 r2 Z1 s$ J" T% Z3 |( }& i* K8 g; o
    tr(H
    , }0 L! [" I9 r  l) a) v0 ST* p2 k1 H' G+ W0 U  N
    LH)s.t.H + W* Z6 O- I( p/ ?. w( ~
    T
    ! I  k/ f8 j5 E' i8 N4 y H=I" K/ e) A% m% C$ E& s, b

    - k+ h. z( x0 m: X* E% h0 V  |0 y对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H
    : d) Q$ Q; p7 g' n+ r# lt9 u$ F* a! Q0 s1 K" M7 g
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    9 S& ^2 S5 z' ~+ \5 Ai! ]7 F9 R4 z( u) P) _% N
    T& K# b- V, D2 A
    ) K( [& x: ]& g/ s4 Z! {9 D% k  u
    Lh
    * F* f/ k) Q8 P4 D8 }8 ?i
    5 v* ]$ |/ ~+ a4 e! `5 s9 {6 o
    # K# X% \. `: [& ]% i ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h
    * `: k: T1 C% b- d/ B4 P! a- Fi
    ! X4 I8 d0 s1 d/ @7 z) WT4 Z; j0 X6 e9 w- B# o

    & n5 t/ S/ L- q& n Lh / X0 T1 K+ S1 K  k+ \
    i
    - f* ^( i- p5 D3 A& T% k+ \: y' L$ \% T: G& R' N1 q3 I
    的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h
    % \2 f/ t  c5 H; H- Qi7 H: T! n3 l& O' h; @- t4 z% L
    T" H2 j0 X( e+ f8 J

    7 g, Y2 s% W$ F9 d- H, C Lh
    " a3 F) ~7 F. o9 Ri
    + k6 X9 b: x4 w" B3 a9 U9 B7 P# \4 v9 ~: j
    ,目标就是找到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 3 t  }4 Y0 h/ f5 p  `. i( P
    t& Y6 Q1 `! z# ?0 r  L4 M  U( S
    LH)= ; X1 O6 v1 {- Y2 m
    i=1; E" [0 d0 h! U( x
    8 j# X% N( _  m9 B+ N  i
    k  Q8 g$ q- U# |/ K
    ' P+ P0 w, m5 g# N
    h 2 g; c; S9 s- C2 i8 ]
    i
    & l0 u8 P9 o2 Z: zT' P7 c: n1 w9 z

    - _1 \9 r& d2 P Lh
    7 I7 V" r/ @' C0 }, S8 Q) ei2 L5 o  {: f( D: w& s- Z
    , }% I. y' I# a) K
    ,则目标就是要找到k kk个最小的特征值6 c$ x5 \1 ]0 Y- b  n
    0 ]' Q0 Y. d* T
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下# A& U( }, u% L5 F# `$ l
    7 k$ M( M4 {" k7 f( F5 T# f
    一般来说,k kk远小于n nn,也就说进行了降维8 f. N  @6 R. e/ m
    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}}}
    , j* J% _8 b- ]  G9 p' Bh
    ( I: f/ o' Q( p6 a, ]ij
    1 Z6 @5 R' C4 L
    , @0 h. W! R( [4 e9 c+ U( o
    9 U) Y8 o: R8 ~2 W =
    5 z$ b+ Y5 Q) n9 R9 }(
    $ _; q! o# q' c6 S) Bt=19 g/ I- t' I% d' W. q, e! s6 X
    " {* Y7 v, d+ C4 t# c
    k6 V! q& }* ^& M( P' D5 t0 \
    5 o2 Z# h7 ^( r% Q  }" d* S
    h ' |( C! w& s, L& R
    it
    " Z; O6 |3 e, a5 k$ o2# m7 F) W" c9 t

    2 I; z( ], [* G/ O3 ?. V/ Z )
    4 U' U) O1 H! ^6 \8 T/ l2$ ^# b2 a) ^0 {6 E& z9 X
    1
    0 f2 K3 o- b9 |$ R4 B4 e$ W' E; s# u" X3 X1 \. I2 o. S# n
    % b& P% }; w- V+ p% C9 ~& u

    5 `0 O! a  _; M- \' J% e6 c& hh 4 k' w% i0 U# \
    ij
    . g/ I" E6 v# H% T! f2 s: t
    5 u! i4 X" B5 c+ W4 C5 W; ?# o$ v; R, j! V4 Z1 k

    5 \' _7 F$ u. `. l( H
    / R/ w) N8 h0 r2 j9 K; n1 k" G% i2 Q, W5 A
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    2 T3 y8 G  W, J# [1 o
    + J. g& H2 j* B  q(2)规范割(常用)
    7 P7 n4 ^  K& Q规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A $ y! }" d: \; f9 I% z! e
    i
    6 @3 {* |& @! [9 W; l/ F: }
    9 f- \) Q/ u6 _- h9 } ∣换成了v o l ( A i ) vol(A_{i})vol(A / b; J# n5 i: Y. `$ L7 J
    i
    ( V: L5 ]5 a4 n% ^6 f
    ' v5 D0 q' g5 F; A ),定义指示向量h i j h_{ij}h ; K0 c+ b' Q3 P
    ij/ s7 K+ n/ N. E" J. J
    ! h7 |9 X* G6 D
    如下
    + i5 A+ J* o% e5 _: r
    % v; j, ~; k! ^4 Dh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=3 w# H8 K% [# L# u
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj
    ) v& \& V3 N: `; r{0,vi∉Ajvol(Ai),vi∈Aj
    0 Y7 E6 @2 t& C) Q9 C# r7 i5 `9 {# }4 hh ! n8 a7 Z/ I( C3 Z% j0 g) F
    ij
    $ U$ Y0 {3 \# T$ A+ M* n/ _
    7 J, p6 s4 T+ i& q7 Z+ B( i7 K ={ ! m; L0 j$ H5 {. E1 i
    0,v
    # b+ F; Z2 a. p7 _9 W( {i4 w3 s/ ]1 x* H1 y/ J1 K5 t+ H" c

      A7 S; [% F( P" E
      j- B* N7 ^' i! Y: H8 U/
    / n: x2 N. S4 V# d; o# M: jA 0 v: x  t8 @- ?$ x  \1 f, y. L
    j2 e# W) w: H& a4 _0 ]$ w7 A

    4 g' Q9 J/ D& W# u! X- T7 @! R8 T5 }0 @  x, O# d9 `) l
    vol(A
    , J; U, i0 |7 vi8 ^' ]5 g% U2 ^9 q4 N- Z6 K

    5 p% O( ~6 [/ i% C" \5 w )
    4 r* l0 ?5 U% }( R. f, u: _: g% s% T* w5 {5 ~. _
    ,v
    1 ^7 Z$ \2 _& W" @i
    ; u3 C# \4 n0 ~- u$ z8 Q9 z
    ( n2 Z$ @5 z6 l3 b" t; S ∈A
    7 M  k' r' x/ vj3 Y2 V/ ~. |- W7 |. f
    8 S. D; f$ ]4 D' c
    2 q. l2 G* z+ g. S0 k+ j, n

    ; H. J- }8 H- x+ ?; d; M
    0 f- n. `. [, v. M
    9 }8 E* L6 _1 K0 h, G! ]' `于是,对于h i T L h i h_{i}^{T}Lh_{i}h 0 g  U( }5 k6 [* y
    i( k" Z( w8 a( g% w4 u
    T. H- M% Y( w* O. u

    1 v9 p% n$ j- P, } Lh ) Y8 g4 w+ z* c) g( K( O! m+ D/ L9 V
    i& c# U8 A: A& z4 q0 G
    % z* x: k- r% E
    ,根据拉普拉斯矩阵性质可知
    3 r  Y& ^3 @0 r  F, [$ o: B- x! t5 `( X) A
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f ! `/ A, f+ X7 l/ ~$ B5 }' w
    16 e4 O: g9 ]9 B8 d' p( N" l& f4 G0 P
    : \. [' M% v. @: n
    ,...,f 5 S1 Y+ p, g9 A# x) H7 K7 m
    n
    ) ?5 g  w, R7 E7 q2 r; K( f: j; a5 _& N7 l
    )
    # n! }  y+ w; U% v' {T
    / H, @- _& t1 g7 Q* Y6 W ∈R
    8 ?( j6 S& D) G6 b9 }n
    : T( O/ ?, |! ?( t+ r6 s ,有f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T}Lf=\frac{1}{2}\sum\limits_{i,j=1}^{n}w_{ij}(f_{i}-f_{j})^{2}f 7 }- z( U: J7 ?, c
    T, ~  B, K( z! g6 C$ T
    Lf=
    2 A' O6 s, r. y2
    ( n9 }( `6 ^& }% A1; l; A; D. i( t9 X! y$ X* r; ]
    ( d/ x: W5 r* b; t5 Z- M8 j6 B
    - k( ^  s: |2 @3 u. q5 A
    i,j=19 g; S; T3 N$ q, U% {

    1 |5 e! J8 S+ nn7 O- P6 p0 w( R1 {2 O( f  J' G5 ]
    2 m# ~# g1 c3 C$ M( _  c
    w 8 t8 i# L7 n/ Y7 T3 C$ K
    ij6 p4 j/ Z+ a# [, `- A

    2 t- z3 ^; Y3 P, \ (f
    1 y& G7 N3 q! g+ X6 U8 D& L' Gi
    7 B+ e, f% c. q6 J" n3 S* q7 x
    / B* m5 M' v! ]" x9 W. p −f
    ( X7 U) `5 I3 N9 c4 ~8 z5 Rj" k- ?/ W. p& I) s2 ]$ O4 U

    6 O: U7 i8 t1 j4 }" g$ H ) 1 q" K, C7 ]5 w! f1 u: P9 n
    2
    ) }/ o. ]  {5 o$ o1 x# y2 O) R/ R/ k# P% I) ^
    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})}0 @# k7 U: @8 J# U' T
    h
    + ~6 ~/ a- y: Z# ]9 }6 bi
    6 `6 ?* z, d9 j, a8 r" V2 \T6 \* q9 s2 ~1 K; \9 c; \/ e

    - q; e6 R8 f. v! h Lh 6 e% }1 [) o: y8 r2 X$ F
    i
    $ o( r6 `7 A# N- t/ o& e+ s* Z8 n4 a5 c7 P
    =
    ' N  `' O" T) k: n/ k& y2
    + S* }$ ]3 H! k- w7 H% V1# f& E0 X* G/ Z! O7 P" _

    - _4 K8 m; m, C0 U8 k( J" G
    4 J: {# M6 S" N6 ~m=1
      {7 K2 D4 U2 E, }
    8 ]& R. [" Q8 a1 `
    9 c* j  k9 ]- T) Q8 H
      M( M3 V2 a& k- g! {& An=1
    & f5 w! Z" Q) H2 @$ w: ^9 i, T, J, n2 a* p: Y

    - x' o6 O! n. B, \; E w
    3 p8 @/ L9 K! V. A# n$ ]4 P' jmn
    7 _  D# t! o& ?7 R
    0 g: T0 T# s, M" f; U( E (h 3 u9 y/ t4 b7 |  s+ N
    im/ b7 [# x+ t  _6 m; S$ A

    7 j, t% t% Y& Z+ b- ]3 d2 `& S −h
    5 W. u, u9 Q* e0 |in
    ; t  a& t* \/ d% ?! [2 \& C% m" m. }& a% ~% J0 }
    )
    ! I, g5 }( D) h2 O7 b2
    : x7 b, Y5 v: A3 j = 7 O' I) Q3 M9 l6 i% A3 t! @
    vol(A
    / [, s! V- |, W8 N* pi9 X7 c! T8 I2 ?! G" j) E$ l0 d* j

    2 Z0 N  n1 T; J+ x. y2 d )
    2 ~# F$ d9 w1 P9 B5 Hcut(A + v9 A8 [% _3 \
    i1 A2 b; y% e+ Y& J

    3 T# X5 \4 M$ m' p( E , 4 a  B7 e/ T$ L" O  Q
    A
    3 P4 g0 |% w! v  P% O: m, P' w7 wˉ1 l" r' L( ?8 A' b
    & Z, A1 ?' X3 R$ ]
    i# g" ~6 M! u* f0 I( B% Z
    6 K* y2 A+ q; F  ~- H
    )
    4 f  k1 L( B6 Y2 Q; k6 K7 w6 x: k/ D: K% C) n2 ^: q
    # v. A4 A/ v4 ]+ U2 ]+ m* q

    : K/ P  p% K% v3 z* `; a! E8 T严格证明过程请看刘建平博客:链接$ q# p9 o( ^0 L9 Z: y( d
    可以看到,对于某一个子图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 X$ {" J3 s8 t
    i3 D8 S& s* ^0 t" I4 V
    T
    ( c/ C8 y: S& F. b( R
    * N5 P) N1 @% f- a+ a+ [ Lh $ @. _" h( L# [/ E
    i$ v, X! A3 z/ o. Z+ X' h
      y& C8 B. S- D
    ,那么对于k kk个子图
    - G" X" i  f) U: D% U4 }- E2 t( I# G- s# W0 Q$ ]
    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)) K0 A- y/ K, `2 p# G& I2 ~
    NCut(A ! ?. g8 d6 e5 `
    1$ a0 s! [. U" _7 D& \2 ^

    9 W4 T' b6 r! O5 F- S6 Q ,A % {8 x% ?) C1 K' c$ j& h. K
    2- r9 W* w% \: w# F" U
    ; D+ r3 w1 {2 w
    ,...,A   [0 Q; H/ Q- T
    k
    3 h0 E& t% t9 n" f( a
    0 ^/ F- ^5 }* u# l7 x3 T$ z$ z )= 6 `7 D8 H$ g- T2 H
    i=1  @2 o6 C! v" v' X# m: r$ n

    2 N. B& C/ C/ i5 Y: y/ }0 Ak
    8 K; I% j2 x! B7 w5 i
    ' O8 }. P! b& f: ]; Z h ) t% X9 Y$ x( e
    i
    ; Z( [7 Q7 {* K6 u( s, WT
    ) r; n6 N: i$ L) B1 i$ F$ h1 e& ?4 c+ @( t  i% U. H
    Lh 0 Q% J* N1 F3 X  p' K* G$ s. j
    i8 {. V$ g) T7 B$ u

    # m6 x- M. d7 {& w3 S =
    0 z. L( U% ]  ]1 X, J: r! si=1
    4 }! U% o' T  m. O& Z
    1 x! P; G5 ?2 fk, `$ E# ?7 H. @# u

    : V. E& O! P) ^! b( o) c* ~! ^. \9 p (H : ]8 Z+ `) v  E% d& d: E
    T
    3 P. m1 }' w; Z. z8 s0 O LH) 4 Q, F) D" X; o. O1 X6 e' k
    ii% s* ]- `: T/ F+ w) c, c

    1 i- D# j- ^  }7 ^ =tr(H
    9 X. F2 M- ]$ ]" C) n5 c" h- \  Y; Q" MT
    0 k( Q$ k0 o% o' r8 b LH)
    & [  Q/ _) l7 d+ b
    * x& B: H; Q; O8 ]" j( s, \但此时H T H ≠ I H^{T}H \not=IH
    . W% h9 s7 ^9 }T- c- I. J9 k6 Z7 _3 g3 d2 i, t; t
    H
    8 p9 k1 m7 ~% S" N5 |/ w
    4 o  |& z0 }& F" `+ i: Y! a2 K=I,而是H T D H = I H^{T}DH =IH 5 q" a+ \" l5 Z+ d
    T: J$ q+ X, W% R/ ]3 Z& I
    DH=I
    ; i8 c9 I' j+ ?( E5 a1 A  S  X6 w3 m, d0 k/ J
    这是因为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 " b4 L- C' d+ c2 j. S8 W
    i
    * ?% U7 Y9 l9 E: s2 yT+ P- h2 u( F* [. ?; E3 [6 ^
    " X1 k4 S- X/ s! c7 H0 t
    Dh
    * O$ r- Z5 o1 F0 z0 l5 ~i
    / M, A9 A8 b) U2 f' Z$ C" X3 S) M9 l4 {! v; |+ v  Y
    = # B7 Z7 P! X% L* i5 R9 a
    j=1
    * z0 b7 r+ q+ J  r; E+ j5 V1 a
    4 @. b* I0 D0 ?* Ln
    8 m4 a% }5 F. i9 N
    & v1 C+ J  d' k+ h5 D7 t; Q+ ? h " d1 ]) u9 x8 Z6 @6 }! s6 ^
    ij
    6 U6 g3 w# w% E0 J' m2, o2 I. H: m4 x
    - ^8 ]+ p5 x; L8 v7 i
    d # g  V9 |+ V; X
    j
    , V) {9 ?, B& L5 h, L$ a% J' {3 `
    =
    ! l. ^  I6 b: K) c/ q; l, U8 {vol(A
    $ g! Y, A: _! C: R) }( g; fi
    ! @, z' n. s6 ^2 H* k+ v/ v9 A* f3 G! f0 Y! d! ~  W
    )
      q/ N  D/ T$ s1
    " K* [$ w+ g+ u
    0 [: l& e# P: V' O7 E1 \4 {5 D) w. T' f4 i$ @2 j
    j∈A
    % L! }3 d5 S3 ?. v# ui
    0 o: d: z& y% w. B7 ?$ d8 S: R9 h" p7 v2 q- h' ~$ `
    ! g5 {% p3 a1 I9 K1 i
    ' E0 i) B- f3 F: x5 n- G: {; k

    3 K, k" m6 }( o9 R7 [" N d
    # |/ @8 P* a; W- W1 U9 ?j
    ( F0 R1 O0 J' a, ]2 X# I% X
    ! R- J6 n6 u) X/ s =
    ' D+ |$ `2 H* z- X5 Cvol(A - H3 ^, Q9 W2 k: M( e% r
    i
    % r) `. R8 H# b( j; c6 z+ @2 p, ]) H1 L. U
    )$ b" z6 x4 f& x5 L! X: w8 }/ X1 t
    1
    8 m2 N# u1 X7 @" i; C
    : Y  i% }& `6 u3 X! l vol(A - k. g5 b! H7 _" i4 V0 Y5 Z) [* d
    i
    - f' ]; X; X% m$ z5 D5 k4 K. J6 l  R" ~
    )=1
    ; A5 a/ i* f# Z/ @因此,此时切图优化目标为! A7 e- h. g8 D5 e+ t

    6 X9 d+ n+ v7 ^" Q7 J: ba 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
    # d: a* W  g* b4 ?" m7 wH
    / i5 B1 @/ K5 w/ Y, dargmin' o5 S+ Q0 {) O8 W
    0 g0 S# E& D: g: I
    $ Y" Q, n/ P* z( q; }% t, B+ @/ r

    8 S5 D( n" H* G2 Z6 {9 C. r tr(H
    3 Z" `' C: a) N2 W! _T2 x$ s8 O6 u- m/ D7 J1 m1 A, J
    LH)s.t.H ' N  _0 E: [& s$ r9 x
    T
    : U" ~& O; {8 x6 [* H DH=I- j" W4 l; y. \: H# B
    ( |1 P' N+ g# [  U
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D + W; A. ]. y# o

    & e/ ^/ c8 J/ c2 S7 v2! j; Q; P% N7 V  P
    19 {0 n8 n) q# Q* e' V4 i/ Q
    5 j& A, |: E! \; q

    / Y- W4 p0 c; l F,则H T L H = F T D − 1 2 L D − 1 2 F H^{T}LH=F^{T}D^{-\frac{1}{2}}LD^{-\frac{1}{2}}FH ' U$ `4 u) S! o% w* Q2 |
    T0 k8 p$ C. R' W
    LH=F : f( l4 p3 |4 y! x# M0 T
    T
    $ |$ l; I0 ]! c* H) o D ! [+ c3 s7 F+ Y, d9 u% S; i3 n
    6 K; M0 o& ]0 s
    22 V. U% w- h& G, F( O
    1
    3 E: ~( p- A" T( r) Z3 n
    0 \9 _# W& r& [# i" e5 o7 E' p) E) }: Y" K! @( J$ R- F! W
    LD
    7 @/ `$ ~+ `9 ]- D* `) `% o! [& E6 H3 M/ ?, }
    2
    ' T4 I% S% j6 s1
    - N; u/ h4 W! r. W+ C( E3 o+ v- _& @
    % Y3 `: a. K& ]  J- I. q
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH
    5 U  v+ D+ j4 ^. [: ?2 @9 Y1 y6 QT' U2 t8 C* @3 m- L6 {
    DH=F
    ( d- D0 m5 Y+ y. i- iT- B3 u" v) K% N1 i% j! a* e
    F=I,于是优化目标变更为
    / Y% O" p5 c8 Y: g' l3 q5 ta 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! g, b, ^  S2 Q4 R' w4 t9 V+ V
    F" K; j, a" w7 }) N- `1 w$ J
    argmin1 B1 z, c9 b% x+ `' @  c9 d6 u

    % y& U5 X" n1 t$ ~+ G5 a2 l9 D: A' x) H7 ^% _
    3 k$ i, U# y3 Y
    tr(F
    " G) V. x  j5 B/ I9 Y! k1 \! ]T
    8 r- Q2 ^0 K, X D
    . r8 ^, g6 E) U
    / G( _  p1 x" U2
    ; o) w2 O0 i6 @. I) b6 S) |/ d7 Y$ t1, u/ ^' Q# f" @3 `: [

    $ [% s; b. H5 [) V; G% h7 Q, x0 W" f# h
    LD
    - k1 I- t' n1 M  Q( S) D! _" k- G4 z. ^+ V/ I
    2+ e' V- S* x5 U- J) s: P
    11 h* z+ E2 k$ |! @8 t

    % u' N0 p+ T" G* c
    . V  p! Z" X% [0 X6 N* } F)s.t.F
    $ M. j  Z0 z0 l3 r( LT( j: c2 }. a# }9 |
    F=I
      U# ^1 t) r. @2 N" J) s
    9 K, ?5 B+ S' [8 `8 M现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D / s9 T  d4 s) c& A
    - [# E. p' B' ~  ?# a; T
    2
    0 {; h6 M( Q; T- M3 i0 A2 I# |10 {- k. C0 ]1 }1 }* h7 `

    ' e( P# R4 V7 f9 E( ?1 O- e
    4 D7 z1 D! Q1 B  ` LD
    9 ^3 {' C3 F. Z# V5 N3 u: _
    ! H  c" o0 F9 [; p4 u29 j  j+ o( H3 B0 W) {" F" E; i9 s
    1
    " [  a* K( D, _+ `8 u, T; B! {" {- u+ u- T, A
    & p# C# @2 z6 A
    (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    8 k  z; q7 t, k, C' I7 h6 T3 q5 b& o& G8 h) u
    一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    7 Y1 I5 @/ p" k2 s
    % I4 v+ R& j6 \0 a8 G! A22 z+ ^: S5 S8 L7 Y
    16 H# Y( r& m; O' g  J6 z' H' j8 v7 a

    + s9 N, e* C/ |7 w
    6 ^" h6 C( J* h0 m2 X6 s& q LD
    ; o% f- i" x9 W* D* V# Y% H& ]" Q4 ^* h! ~" y* G
    2
    6 M, S$ l. f# @" X; b1  L" y# ^% X( D; Z/ [. [& t
      [% V' y& A8 c; j9 E0 ]3 O/ X

    9 o! D! w) T1 ]1 _( k% C: ]: y, [% W 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} 8 g" L" O  t4 Q( \; G1 F% B
    d
    8 u2 ]8 D) v( @. X- {7 w% i. _' h! m; Xi; p* {$ ~! X3 A1 {4 @

    " X# P4 V( K% ~0 O0 l" j ∗d 2 Z7 M! ^7 F  G# z0 @5 y+ S& ^
    j9 Y+ q; h! v4 F$ u& [- n1 l) y( x8 _$ b

    1 S& k: T& c+ L$ @, k4 g& ?7 H- v4 G. N# `5 P9 B3 C0 K
    9 ]! ^1 W9 G. R& B
    0 t. Z, u" w  f+ t! V
    L
    ) S/ s  ~* x5 L6 A# Tij
    & g; c5 _, }1 M; J! w
      v9 V% ]. {# l4 `/ ?: w0 o4 |1 R+ b3 H7 h% I( I, i
    - o4 e8 v! u0 h& B

    ' x4 C2 n% @; q5 W. E( w( E* _二:谱聚类算法流程
    , \( R, Y& R( e+ ^给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x % t$ C. U( `$ x' }- c2 {0 ~
    1
    - }6 k( I+ n. F! p, k/ X1 u$ F6 ?) c0 n. F9 }! Q1 G- X
    ,x
    $ Z2 D1 m; c& |' ]/ K1 c, m2
    : x' O) h  K* G+ U  V
    / v' J% b- z4 d* Y/ b ,...,x 1 U3 c& K, Y6 _7 l9 d
    n
    ( W' x0 z. H; I0 [2 L+ H, S6 J) \
    " j' f4 \# G8 E$ S% f3 R' O! s- O; [ }  ]; U0 b' J% Z% E3 u  L" [  `, H

    2 C& s6 F$ z& S# r! W根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)
    3 b' c- B9 _) R+ g( H. `$ T根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD
    ' }( H8 B! W/ y+ T* W- i5 Q计算拉普拉斯矩阵L = D − W L=D-WL=D−W# F, ^! q: J+ p7 `9 F
    得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D * ]; r8 w$ ^+ w# q3 k" R! n

    2 u/ A$ f, {5 v8 y- Q0 ^2
    ( M4 }$ h  X5 p4 N3 t1
    6 ?7 A1 j# M; k) E0 E( S3 z8 ?( \+ l8 c% f
    0 n5 m, I7 e9 I7 I5 w3 L
    LD 1 q$ a& @0 x5 R9 c7 Z8 D3 K

    - n5 u8 d+ B# B+ ^28 ?. l6 [! S3 x7 D& U0 }  y8 ]2 {
    1
    / Z/ J# S6 n: Q: B1 w) ^/ x: @( Y$ B. `+ }

    0 _; i3 b' c* C' E  T
    , l; F  p6 @2 z- m; o6 K3 p计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D % k9 C' ^, `  N5 t5 K$ _% `# P, K: O
    " V9 X; R, i, k+ U
    20 t  m5 z. j( `: \5 O
    18 z4 ?' @/ g: A( i( W) W
    ' J- X8 W# a2 r8 h! o6 f
    3 [* n5 `5 O& s$ ]; [. T
    LD 1 H7 v$ K" _1 H  D6 {5 D
    2 a" W3 q) G6 P' g7 V4 [: j
    2- m/ l- w2 Z% J1 I
    16 d8 t) a7 |$ b0 Q% L! t. H

    ! P4 b  J  c& P9 M3 K+ A# {
    ' c. W' U: V+ L& V; d  n 最小的k kk个特征值对应的特征向量f ff! ]2 m9 A8 x* Q$ r' d" D+ E
    将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    # K5 n. z- ~! L+ UF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k 7 A  @& t9 _/ c5 a6 P+ @4 b, \

    8 Z8 N3 {$ |* f
    & D2 ?0 {: r+ s: f$ o! y得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c
    2 E1 _* G9 U  U# ?# p1. n( k# M0 \1 C" V3 [

    $ E  x+ h$ T; @& w ,c
    0 o: E6 Y% k4 |/ i2
    6 Z. x/ [; L3 ]# s8 q6 c
    % _7 _1 V: ]. N8 a ,...,c # ?, S$ Z' Y" f2 g
    k
    7 F" v8 Y+ R0 s% h" o, J8 b
    ( e0 B" }5 U4 I9 W* f; d8 z# ]$ h
    , p$ J9 f3 }- I% M: |# H3 p! z
    )# t6 r9 }) K# R! ?# A; G
    三:Python实现
    # y# \+ t( Y) w" Z' u! Uimport matplotlib.pyplot as plt
    ; \! y3 T0 w; [: z" T9 Kimport numpy as np2 B2 |- S# F0 {! @! t2 |3 I
    import pandas as pd
    % ^8 o4 ^5 M. o* a: G; Ffrom sklearn.cluster import KMeans$ j5 x2 J2 t5 h% g+ @: q+ Y- v
    from sklearn.metrics.pairwise import rbf_kernel6 c1 @' q) G2 C, w- Q
    from sklearn.datasets import make_blobs
    $ H. Z5 |$ O6 h% `3 d/ P* _; {# lfrom sklearn.preprocessing import normalize7 S2 f: B9 ?2 w; L

      p1 A/ E( M% B, o; p2 C! q/ ddef get_affinity_matrix(data_set):
    8 H. o5 D  t; o    #  利用高斯核函数计算相似矩阵(全连接)
    ! R/ [  q+ c& R6 G8 J' K    rbf = rbf_kernel(data_set)- y$ ^6 F! J8 t4 u# L: G
        for i in range(len(rbf)):
    ( D7 Q3 B# X" h) o- M. h7 E1 q        rbf[i, i] = 0) r! F, Y0 ^, J0 w
        return rbf
    4 q& Y8 ~; F2 U6 a% {+ @/ u- U8 H( J- d4 e
    ! {4 v9 [+ p4 Z; ~  H8 i3 z- g. {2 n
    def distance(x1, x2):
    5 W* a: W# j8 o  [    """% A4 P  N! `' T) d9 y. p3 u
        获得两个样本点之间的距离  k# u% A5 O, j( F1 t) h
        :param x1: 样本点1
    / a! D* m0 q) j& x    :param x2: 样本点2: W% l) f% G0 c! f3 h$ }& P& E
        :return:! ]/ L7 _! v$ Z7 U' a
        """5 c* H0 V( s2 ~7 x
        dist = np.sqrt(np.power(x1-x2,2).sum())
    $ O# b/ x0 L' \2 A2 ]    return dist" o: i/ ^2 a# l5 [- a
    # B# U6 X; k0 y* J+ j
    def get_dist_matrix(data):" H2 ?5 U5 j" G. R7 B
        """
    2 |9 \6 w& H. `: r. H    获取距离矩阵
    - R" P  |9 }; ?) S    :param data: 样本集合  r& ~; C. Q. Z  O7 K4 }  k0 E
        :return: 距离矩阵
    0 ]7 h# X8 N8 K. S! ]    """7 t6 d+ Q. I7 T. n8 \4 N) s
        n = len(data)  #样本总数
    ( A; R% v: h7 E    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵3 f1 I/ x% [& o1 @& n( a
        for i in range(n):
    / o4 g* m- _* V3 v        for j in range(i+1, n):
    ) z& j2 C$ }$ U            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])# F0 v1 m4 {% g( w
        return dist_matrix- s6 h4 H5 U. ?3 B

      R+ w2 m0 Y+ i: M0 [def get_W(data, k):& R* |  X1 z% W3 B
        # 获取邻接矩阵(K邻近法)5 L0 q- A7 D0 s
        n = len(data)
    / [; ]3 t' C9 J4 [: ?' {6 j6 \- P; ^    dist_matrix = get_dist_matrix(data)
    1 K; ]% ]9 Q( j, Q5 \    W = np.zeros((n, n))9 E" ]! p) P: T0 w  `! H5 |1 k0 f
        for idx, item in enumerate(dist_matrix):0 U# h9 z& l8 \; e0 d+ @- D7 K
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    4 Y. G& N: F$ E        W[idx][idx_array[1:k+1]] = 1
    7 x% p0 _" T4 D    transpW =np.transpose(W)
    5 U, T4 e+ t5 \9 g* U% \    return (W+transpW)/2
    ; S7 t! `: q; |  _6 ]# F/ G( c$ v# ?% \2 n( ^- n+ o- J' T
    def spectral_clustering(data_set, k):
    3 i0 W8 a5 n5 \    # 利用相似矩阵S得到邻接矩阵W
    9 ]; F( Y3 }1 |2 R    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
      \8 R. M5 K. g5 c/ V, P    #  W = get_W(data_set, k)  # K邻近法" l  q: h3 _+ E! b+ E5 P- Z
    & b3 j1 I! U! \' h2 A* W1 y
        # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)1 C- k3 _% B- `$ o1 g6 j! d
        D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))0 Q; L) _( V" R

    0 r/ s# ^9 F& h5 A! K# E& P3 W+ h0 {% a    # 计算拉普拉斯矩阵L=D-W
    " {' |) F9 _  H5 @    # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv6 I( F% ?7 R5 c" v: m
        L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)' `+ o& ^  b& ^) p$ i# H! U
    0 o  G, _2 V0 O+ o9 {. b8 l
        # 得到特征值和特征向量1 d* t' _4 y9 j: M
        eigvals, eigvecs = np.linalg.eig(L)
    2 N& J3 w2 W& T" G" b4 g
    7 L+ N: C. |! S2 I( R: _3 E# F0 ?% q    # 找到前k个最小的特征值(索引)
    * k$ R0 ~' A) G# H& J    k_smallest_eigvals_index = np.argsort(eigvals)[:k]& y+ Y& b, Q0 [

    9 s* \1 Y( g$ j3 v1 Y: W/ Q0 a    # 取出这k小特征值对应的特征向量,并正则化( s; e% J* j/ v" z
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])# y6 r2 k5 f; @0 Z% P6 n6 J' u+ V
    7 k1 A; Q9 P- F
        # 使用K_Means聚类, \" w! ?) m: h
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)/ u7 y2 V% Q2 k- G/ N3 T2 _$ y

    ' d, Y4 P* t' l+ L2 ]4 ^! C
    4 W; v8 Z: [% _: Braw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)
    ' M+ s' w: E6 B! I& C, braw_data.columns = ['X', 'Y']
    9 t9 F; O! {) `/ ^% E( qx_axis = 'X'2 K6 q: ~" b5 Q8 F+ E7 w
    y_axis = 'Y'% e" J1 n1 v  a
    , V" \8 g0 d: H) I6 Y  r0 }& f" ?
    examples_num = raw_data.shape[0]
    4 }+ `" a: O# J3 D% Jtrain_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    3 ^4 C! N: o2 A$ `7 Q& F/ z) ]9 s( I* J

    ( n3 b; L! I' E* Q0 bmin_vals = train_data.min(0)' `+ Q" u% _2 y8 P! `
    max_vals = train_data.max(0)
    3 B9 C' R- w8 Z* F3 T& }ranges = max_vals - min_vals
    2 f8 y/ w: Q+ l; t( Dnormal_data = np.zeros(np.shape(train_data))
    9 i0 h) m1 y( Q/ N3 Mnums = train_data.shape[0]
    4 q* f' h& ^( D9 I$ c, fnormal_data = train_data - np.tile(min_vals, (nums, 1)), Y  A" D4 P; E( d% S) ^* H5 N
    normal_data = normal_data / np.tile(ranges, (nums, 1))7 j% s2 _, B' O

    3 g6 U/ s% v, Glabels = spectral_clustering(normal_data, 2)* \9 }# O- c+ m: l. c4 f9 t2 P

    6 H8 U1 t! Q  Q# 原数据
    7 s9 c1 D2 F. ]3 pfig, (ax0, ax1) = plt.subplots(ncols=2)  O) [8 p: a" J9 B0 T( j: [: F
    ax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')
    7 N& H2 R" O' B$ k$ Xax0.set_title('raw data')
    ; `* R) x/ F6 N# 谱聚类结果  d* q/ }3 r. H2 G$ b) s
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)
    : w# G$ W. @) W. M0 D- ~ax1.set_title('Spectral Clustering')
    5 j; H: s5 F- [8 {% i4 t! `! ^3 @5 w
    plt.show()
    / B. o- h9 y+ W1 K
    ( W9 f5 K$ n% _1" b2 j: |! E  d7 P: C! B, ~3 r# V
    2
    . l8 }4 O' L) }: c( `- M8 q- U3: i! f* P  h4 q' G- z, d7 a
    4
    ' G, `) H5 I* J5
    3 Q9 t" b" u7 n7 t5 i! [6
    # V) t) D1 a$ R9 o7
    3 ^  k, J4 r* s+ j) n" W2 C8
    , v: t/ d9 c: g9% C) p: E/ H2 v
    105 O7 g+ v8 O# M6 Q2 y# F
    11; K4 R4 u5 P( a, |
    12
    + P: j3 M( a# @) `4 S137 u% S/ q5 b  t
    14- C$ n' f" U2 g7 ^3 X
    15' X8 W! o3 c1 }9 u
    16- |. y) ]0 [& E9 \9 C4 e
    174 o$ m6 O( K( M) i0 v7 }  q
    18
    ' A* W3 G* P) |1 a* T& P193 t9 W$ d5 t9 h8 c
    20
    1 R) z) i* {( R" |& y3 A' J211 c! c8 {8 w# U
    22% O- c+ z1 w, r6 {
    23) B+ D" }+ H  ^0 d! m& ~
    24+ v5 _- K1 t* ?) G
    25. w9 K( Y& n* d( D6 C6 ~
    268 @/ y5 U: R, o4 K
    27
    ' Q. q+ e. O' S280 w, ?' Y; O; L4 H4 w' s3 ^
    29# h: m9 g) X5 A5 U% c% g0 |' h9 b
    301 H) o: i2 D* t. g3 G! k6 _5 X
    31
    ! T5 Y$ I( M* k2 g/ }; E7 F32
    $ r& h# J) W" {, z3 D1 T33
    5 e; ?5 \* y% e8 x) C7 |/ k; V34
    ) T& h4 b8 E9 F4 ~$ ]% |, C35
    % f4 y2 w: Z. Q! n* ^% s36, m' B7 L2 y3 U1 x9 f
    37
    3 ~( P7 b. O- T1 \( L& I38
    8 \1 t" @4 a, C/ ?/ T8 n39
    4 [1 C" X, y3 o5 S40& J( U8 l5 X$ U8 d2 r- r
    41
    ( t" N, L4 ?0 }! n1 K" l. l42
    7 q- [# D& p: ?43
    9 S' M1 B2 ?1 ~" k0 g6 c44/ W1 k8 e4 F) ~5 q7 I# X4 n4 h+ z
    454 g' g( F, W+ ]2 J6 m
    463 w' E: W% `0 B/ \3 X
    47
    - I" o* e: s# ^7 ~7 t48
    + V( J" z3 v1 U7 U3 q7 n, y49
    4 X% o' V: ~: i8 n2 D4 H" Z6 E50& x5 N. E) R" L, s3 B" H3 m
    51
    ' M0 q  K9 _* q' b524 n1 M; h0 m  X7 i, |# Z
    53
    5 k' ?, B$ J' Y54. Y! m& q! f- C
    55( t! U% {/ \! }- k3 N, Y
    560 j2 |7 H+ g& g. U6 S+ l2 @3 S
    57; H' y, L0 Z& b- M3 G) t
    58; Z0 K' @( y2 Z- ?! }9 w: I
    59" K* v3 ^% X3 ~2 N
    60- ^/ \8 U: A: E6 y0 a" K
    61$ p& T# {' y) n% q. g6 x5 x
    62* L: r4 K5 h5 l: T
    63
    4 }: A3 T- J* v0 z. K5 C+ |64
    ( d3 N& ^0 r8 @65, @0 Q* k" h( ?8 v5 O/ y
    66
    - D, @" {( ^1 j67
    $ i8 \8 f6 l( {1 V* r68- H; i. Q7 \2 q% H7 t
    69% Z5 M* q3 z3 X! E3 P4 B# j1 a
    70! Q  \5 \- J9 l3 Y
    71
    8 P# X4 k4 P3 u72$ t1 {3 y, y# H! z
    73
    / V' M4 ?$ [  H/ a& }5 Q7 H74: x% T8 N# w# t9 E$ ^
    750 i0 D) _% }+ T  ~0 |+ A1 _3 D6 D
    76
    - B7 V7 i) N$ ^0 ~779 S9 C) S; y0 ]1 n# f1 r
    78% f" v& C, e3 j( B. T0 B
    79: p2 B% x8 H) v7 O
    80+ d& g: Q# w& g2 m/ j, ^5 h
    81
    , t: a! Y% ]- [) \82
    # |5 @( B) K& C8 g' \9 Y5 \83
    - r& D- q# h- {- n4 d: I# H$ l+ \6 d84
    : a( H4 j8 C/ k7 l; W85
    0 E  C/ m# @3 B( H- h" @86
    % f+ N& @7 t5 [! S9 t: g7 o! e87
    3 g! v0 g* s% X( T88
    ) `/ r! U" \9 E4 i( f4 W89+ M( L8 r- S8 E% P3 y( d
    902 ?5 S. Z$ b  T: p$ |3 F+ d- E2 q
    91
    : D$ \6 _$ H; ^# c, N5 @1 ]9 a) v% X924 h3 X/ z- F0 ]
    938 v) T* `2 Q# W
    942 @3 q  x& }- e2 j% X9 F: q
    95
    0 k. _0 }# Z( }& |7 K1 }96+ ~! T; T/ S5 Z* v
    97
    2 _/ ~7 H. g3 ]98
    6 G( H# F# }3 K' d990 a" h7 X0 P/ ~! X  ^; c. |
    100$ ]# n, I) _& Z- w- ]8 `/ X
    1015 ^2 S1 i/ a1 ]4 g' S
    102
    : f$ E5 _6 q% w2 _4 e/ E103
    / l1 i4 X: I1 X' f& ~(高斯核函数)' A8 d' ?* [7 {  ?$ E5 B" n4 i
    0 X) [. u, ^& T8 C
    9 J/ o1 G5 V( E
    (K邻近法), P  m; m) |  o; Q
    0 ^+ J1 W8 t" f2 [
    + q# |) h5 r3 H( ^1 T
    四:谱聚类算法优缺点
    7 J6 s- l% ~4 J  @9 @(1)优点- Z- u# i0 r8 j& M7 [+ W
    谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效
    & N# L" U/ R  S! r4 ]使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法( }4 S' I; a6 l2 Q9 f, J) u
    谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解
    / R) M/ O3 w% o* p3 `2 a. D(2)缺点
    ) R, ?( m% i- G7 h/ \+ `如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    ( T6 N- j5 K% h  D聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同, p2 h- @: d% E4 ^
    ————————————————& b( [  T4 t" B3 j: F* }
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    $ b  a, v3 f5 Y  F# o/ S. s原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494: s1 E6 p$ C9 o

      Z5 P7 i+ n8 d( f' T) x3 u, B4 M, e% V
    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-28 13:32 , Processed in 0.368131 second(s), 50 queries .

    回顶部