QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2939|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现
    / n; |5 k3 w0 |# p: P5 n
    , J$ ^# H0 P: F$ P本文部分内容源自刘建平博客,在此基础上进行总结拓展
    & f! |, l6 g4 ]- ~4 v* V9 Y
    0 V" x  h$ D; z原文链接
    - q3 K. q# f& v文章目录1 v5 z9 o& {/ r4 X# [* f9 L' T
    一:谱聚类与图划分8 T) K! x* Y9 n% l
    (1)比例割
    & r6 S/ I8 e& {# P8 A(2)规范割(常用)8 N0 M3 y# {8 G3 M
    二:谱聚类算法流程/ |: q* n$ ~$ C7 U, j. X
    三:Python实现5 f- d) g# m9 w# W* Q
    四:谱聚类算法优缺点
    / j/ V) D  X( L4 k4 m1 k(1)优点
    6 [% W0 T6 Z9 Q0 r) ?(2)缺点7 U8 d; h# c- I
    一:谱聚类与图划分
    - j8 N( j  [; F6 e9 x' a" i无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    7 T6 d/ ~/ a! N; w! S" h) w
    4 Y4 e( o# H5 {/ G! D. I每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    * ~8 e, ?( M" C" H; O4 q# j' d1
    & h& g+ r3 e4 a' _2 {. b
    . Y  v0 |9 G# n0 l0 R& T ,A ! Z7 T* ?( _6 \: q9 t
    2/ R) t0 j/ C1 c! F; \0 M

    - R: a) h! G  }! U3 S7 v  h% g ,...,A 9 _% T( ]" j4 |9 t5 x
    k# L" g) I4 k( n/ V) i

    + J, M2 j! c# }: _% z( z },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA 7 |. f7 I- O  x# }2 N
    i
    5 b3 `  Q$ }  C
    # _2 \) [) f0 `+ h: Z ∩A : O6 C# g% w, g" B
    j
    # I5 m0 R9 ~, J, m2 u/ z' x0 e2 e! ?1 s4 m3 c4 R
    =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA 3 U' H- J  i+ a" z" z
    1  Z" E4 X3 I4 t+ ^; n
    ' q) l- \6 t. Z( ]: E  H1 A: X
    ∪A
    / X1 |& q* `- l4 N, w! M27 u! _7 K3 x4 h
    4 B- L* k; k/ b8 C' h' x4 F
    ∪...∪A % a2 I4 F0 {! r; n7 P0 g' M* |
    k% t( E7 E2 J& J, a7 b
    3 F1 g# g+ j$ g' I  k
    =V
    7 M& c6 X) U; |7 D# C对于任意两个子图点的集合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)=
    2 l. t) |* X" S! V* f8 L  d! M9 Ui∈A,j∈B" J- T9 a5 G* ^3 a5 p# F
    , R  C( k' R+ E- V

    4 L! [7 `! V& U; B2 F! v w
    + P/ M# M, Y5 F6 _" Y+ jij
    8 x$ q. ]/ @( @; R) `3 I; R
    3 z, `9 q1 L# \) R' _5 Q2 |( `$ G- A- [( s! N' F! y* s9 f5 n
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A : m7 j% e& d1 w+ i9 }' A
    11 I: W3 f6 g7 E# [
    " x2 \$ L! z3 W# g1 j3 N
    ,A , A5 ?6 H* |) [) b( P; C
    2
    + `0 E1 E( u( r  ~8 P+ k) m2 J/ ~
    ( O1 r2 K; X, n, ]$ G ,...,A ' W, u- l" ?" m# `1 N
    k6 {( |0 ~5 g& {$ F( G6 i

    1 r. ~- T1 h9 @7 s& Q },定义切图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
    # N8 _0 K1 V6 L; n0 T6 V7 M8 N1
    7 t; u+ g2 Q  T2 _" Q
    , E9 q. f( n* ^9 A3 i ,A ; w" }- }. ]& a: q0 U
    2
    * y" X5 x7 a6 r: y& S- `* D5 f& k* m- T% Q+ Z: y4 U* A
    ,...,A
    * l4 e9 o, w* k* n; B: Rk
    6 q9 s0 Q# A) M4 p
    5 N. {0 ~" M  x. \( N! u )=
    7 E1 O, U9 z9 N) |* A2( X" p3 i$ `% k3 _. w$ r5 h
    1' h% @& h8 x2 c- m2 x7 |8 z
    & P/ T, M4 u* Q- D
      c- f% \  w  W! w' c
    i=15 [, K- [- ]" q5 T* |
    # S: {6 }7 O: g, @) m
    k
    2 u/ K9 D& o& _' T2 V+ D3 h" M$ D7 S9 F7 T, m
    W(A
    + d9 ]8 k% N' F3 Z4 s3 [8 u' di
    8 {3 [' x) _/ Y+ R& d/ T- V* P' I/ P! d2 m: Z( s/ z3 J
    ,
    9 W' W3 o. ~" O! X: x8 N4 TA9 n: ?. ^' b# D5 S) d* {
    ˉ9 F* V# y2 S! `" |4 z9 q

    4 q- e7 o0 U, E; }i
    * R( X9 j- z' ?. A& X  ^6 c  D# }/ j$ Z7 L, M! j6 P) R
    ) (其中A ˉ i \bar A_{i} : X  T) w2 L. g+ P! U1 ^* `) a
    A* S  e' C+ x  ~, s9 b6 F  s
    ˉ) s9 G+ [8 X( s) i, t3 O
    % _6 x- O' b; X, {
    i
    6 r6 t* x/ p$ W- G
    " N( t+ R0 h6 l4 @0 A 为A i A_{i}A
    4 [+ x- T! a% d  \i
    3 z8 a6 i% [* Q8 V& W% m. p; C" g' i
    * r; H* K' }+ d% o' j( v 的补集)) b/ N& Z: F: G; T) l. N3 h3 I
    可以看出,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
      N3 D  O/ O* l3 B1
    1 E$ {1 Y- ^8 R+ R. \
    , ?+ ~. P* ~0 k" I" L% c* d ,A 2 d' c  r6 Q7 }& B! o* q, D
    21 d2 K6 e( e, K

    . _  v5 P5 l3 F/ p( t ,...,A 9 y, W3 T5 n0 v# o1 E7 ~+ M
    k
    8 K3 G6 C" F0 N# [5 L1 [- D
    ( v8 p2 U' _) o )= ) U. v4 {, v  R2 l/ h6 B1 `& r
    2, K3 j+ J$ Q4 @/ t2 G/ x* O& \
    1
    , N( n9 z+ e# S: P0 U( N' r7 P& y7 N; R- M

    7 k6 X! @3 e0 @7 Hi=13 m8 v( O0 o; p* y) J* G; b

    2 f1 n  C/ y2 g3 ]/ hk4 L' H  p, K8 V3 r

    . i0 Y. Z! h) |6 h) ]" F W(A
    . J& u3 ~3 Q8 U4 B4 g4 h+ Wi# h1 `+ U9 F" m- H
    8 f, z3 B" Q% Q% F& i" g
    ,
    0 x, v) k6 }, M8 n( Z$ UA
    ( m" p: p- H" L+ oˉ
    & y: X) u3 k8 z4 H3 j, b9 ]6 [
    & m: ^7 ?: n" H( v7 fi
    6 x  x8 G" M+ B- F0 M: Z! n9 S" R7 D& \3 O
    )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A - o/ W, ?& C" d$ U* h8 z
    1
    5 u9 _+ q& p5 A0 Z) y# W" t! u; [' m( y% e; D7 F7 k8 L
    ,A
    9 q6 H# I- r9 x' ?7 j- l7 f$ Q1 e2
    ! N& z. F% M5 d( _! R8 d8 q$ P4 l5 Z0 a0 U
    ,...,A
      d: _) [1 a/ l4 tk/ x4 _0 \0 L8 @, D- M% V: R  a3 M

    * O  r+ u, d0 S0 B6 R9 e# ~) h  l% j# I )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡
    ' y7 S9 m& X+ d7 `6 |/ ]2 Q$ p! v9 N! A( k/ M
    例如下图,选择一个权重最小的边缘的点,比如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 & g5 p; Q5 B' V" L
    1! B& i4 |' n* K& M. A( f

    % Q' T. \; r& t3 K/ b0 G ,A
    2 r, Q( C0 m  h& r2
    % R5 P" s* y2 w% Z( w6 K# K& s
    $ a! _! ]- D& J5 P: P ,...,A
    9 q7 }4 @% O2 }k
    . X% l- E& x( z. ~% ?4 C4 i7 I: z) ]0 x' ?2 P) y
    )但是却不是最优的切图9 G4 x3 p$ ?# R5 M* P4 I. ~

    . U2 B5 b: A2 S; Z为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割% r) M- t$ _1 d8 ]1 R

    " c3 ~- Y+ [$ J- G9 ^6 r比例割: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
    - U. O1 b$ u5 {4 \13 V' n( {" @) X% X/ H$ ]$ \& Y' m7 j2 w7 {

    5 y* C: F9 i2 V- C+ l ,A
    " G, q4 }% I" }22 t3 @+ Q% |9 `% E% t" ?1 Y

    8 q, A0 y/ G9 R# Q, e# M0 w ,...,A - P# W+ y" t) z, b& k1 Q% e( e
    k! @. f$ i2 W; F5 L! l; Q

    , s( u' E- C8 J3 ~, r* S8 f )= ' ]6 h4 r7 X' m" F3 j2 h) K
    2& w; v8 |0 z5 c1 K3 L7 o4 Q' W
    1) X( y# I/ E8 G: X+ @+ |

    ; M% H- v7 ]* J0 w  A1 D
    4 m) V0 R; ]# }3 L9 pi=1! P2 z% h- F: Y  l! n' O/ ?' b/ f$ V

    7 h6 ^3 p4 ~$ ]/ bk
    * X' Q) I2 t4 p  ]7 {8 \! D# L8 T9 i; s: S# G

    7 T4 z  \/ a8 K* r4 K. n∣A / R) h- g& ?- Y  z
    i
    7 F% ~0 V4 F% e- j& K0 ^
    2 u9 W# l3 k$ v& ^: f/ @. A  m4 `# o- ]" P7 y) h( W' Z. G: v
    W(A
    # @$ ?- ~: P9 I/ y$ si
    " W% L8 G8 t( P5 H, D% }! n0 s
    / [/ D' M& g: z( z: `" }7 d , ) K, k9 }" C+ G! W$ C3 M
    A  `! T. s* P3 ]+ d
    ˉ- p  s. |7 k* e+ W/ d% q- {9 b4 h

    2 J2 Y: @3 Q7 E$ Ki) _, D( j4 i7 }

    : S, ^. T6 @3 y" L )- Y3 E0 u# P: U, p2 t
    / \4 W% @) ]/ @" q( u
    / D7 {0 _$ w1 v0 L; ]
    规范割: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
    % h3 ]. T6 D( E, X1
    , U2 m# c$ }% p' M
    : |9 E0 u3 b9 C2 f ,A
    0 B& p. i2 R3 v: i* n; G- ]" A2
    , w1 u, _1 X" z& L7 ~" v9 ]
    ) j# U- X. X, u2 P% f! O# _$ O) C! H ,...,A 6 ?! }0 ?9 `. G" \( v
    k
    ) b. t7 J; ~& }- S9 c: T: L
    - m  k. {; r0 _( ?; i( p )= + f# p' E+ }. _0 f
    2
    ) z2 ~* S) p; }3 ?1$ C/ q4 ^9 `" u0 }6 y
    + f' @& i7 ~; Q

    ' f, T( Z6 ?: ~9 M! p6 @9 @i=10 P+ [" g6 M0 k- \; p: H, a9 A

    7 E% q. c; c2 n2 Rk
    ; g7 a9 P; `( u3 J8 W! q, k' g% j0 I, d- n6 A

    " U5 @7 [2 P9 j  a7 S, fvol(A
    6 h8 S' N, Z9 X% ^i
    $ d: a2 D& y- E2 X0 X* W0 ?2 G3 T! W
    )
    # M3 ]* i( F. y. x6 Y) W1 CW(A   v  p  H8 G4 i% K0 ^1 E1 Y
    i
    ( H0 N4 n2 ?& W; b/ M. l4 Q' e4 Z! |4 l% B2 ]1 T' w" [6 z& J$ [
    ,
    - i3 }, h8 P! t+ Z6 L; ?A
    8 z; \: E- b: m+ N- `: b; ]ˉ! e: U: r# B0 b/ ]
    - @7 G; h2 W+ \0 C! y3 g, w4 o6 b
    i( O4 U; q% J( V+ N0 ^9 Q
    % c6 p7 ?* J1 ]/ @: O  d# B* M
    )
    8 V' k3 S9 Q$ [! b( z* L7 J" ]: ~& g- O; E' l7 j( S4 A

    / t9 B* n3 ~  [/ I+ W$ p(1)比例割: S5 H. E, P# ?9 P4 C3 D6 {
    引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h
    # K5 \0 c1 w. f+ R5 Sj
    ; Q7 Y: Z) ^0 d+ V0 N! J% k7 `, N- |: X
    , A; @7 h( ?$ a8 G3 n1 m: u ∈{h 4 O1 i3 _* ~0 o1 x9 E6 Y# u0 u
    1
    ; B+ T  F5 ]  @/ t0 b& f3 E) j. f/ v: k: L  b* u3 w+ l
    ,h 7 [$ y, ]: V+ i
    2
    8 J7 j$ f! C3 D$ i( f
    5 F0 c! G% h. i$ K! ?: v! K ,...,h
    9 A5 R+ n5 i" g! y8 c! \; b. ?k' n& V" X, V  k

    ' W  i1 w! B5 y9 o: }. \7 h# p6 @ },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h
    4 A; S9 T, s* w+ O: `j
    0 P* k6 ^" }8 d6 \  k0 D# O
    6 \4 }: N- p' m: Z ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    % d9 m) r( z: N7 e* K6 S6 iij7 }" i0 k' Q6 \! k9 O& ^0 Q4 j8 {
    2 ^, k+ F9 [8 z% k
    如下
    ( D2 H9 j! n, A( A1 ?* S
    8 f  e4 h, s0 d' i: ?& U) K. K' ph i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    2 `1 Z/ f7 p3 V7 E) C5 y{0,vi∉Aj|Aj|−−−√,vi∈Aj5 @/ P! X7 b8 Z  X
    {0,vi∉Aj|Aj|,vi∈Aj
    / t* t0 e  H- F( u+ S9 zh
    ' V% Q) t  b( E, qij) _! U/ V4 }1 ?( B0 h3 B  [. k
    5 Q7 t0 S8 w0 i2 \4 d. I  {
    ={
    ) r7 A' F6 q1 D0,v : q9 Y4 d8 S2 G: I3 q
    i
    5 Q: |1 ^% P4 F% J2 `( H, O! k  Q1 a  ]" A7 X& g
    & W/ q4 U/ V4 M  R# E- D
    /
    / H% V1 K! Y$ S6 wA
      T" U) J2 d0 l  G5 ?* o5 e7 Vj* q5 s0 s' G; K# @

    3 Y8 ]0 ^6 }6 f6 e* {
    5 M4 {4 H( S% w6 q8 Z8 J' h∣A
    9 N/ L5 Y4 S  cj7 v0 i# J/ X* s5 B
    9 o! X: M. j5 Q) [. D8 g
    - S& S4 u5 T7 Q( K$ }

    % s- p, Z/ I) K. T& } ,v 2 g( S7 ]+ ~8 `8 N
    i
    ' i5 P3 A% Q, s. c) x
    1 R5 ?3 [+ w6 o ∈A * V+ G9 ~$ `" V7 C+ [
    j
    9 n( r2 {8 i3 g6 L+ r, P. l% m) T! p
    3 e, e. K4 a0 s; n: k' m2 ]
    0 k% i" j; s9 q9 `
    0 N: n7 f1 [/ d. h1 ]
    , Z% U& M+ k, e' e+ Q1 Q( m
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    7 T4 }/ L- V8 m- e  ?! L7 ^i; F/ ~" v' O5 @
    T0 R! W5 M3 h, c6 J( k
    # b4 t( J) R4 \% v' t" E2 ~2 z
    Lh   n' A) A7 Q) s
    i% x& x0 g4 Y# b8 G7 I% D5 e% w
    , V+ d2 ]! U* _! F
    ,根据拉普拉斯矩阵性质可知
    ; }$ K6 I5 I3 c' W% B; I! n1 c# d
    / b- u: R/ y( M7 `; F3 W对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f 8 p# g4 F0 x  O7 l5 H+ s3 V
    14 q0 d  ?* F6 J4 n
    * N5 @  b9 K1 h2 u
    ,...,f
    ( ?; H  ^" `4 ?- p& L( u. P8 en
    / z, h) q+ ]. O$ {. @: K. C, a+ N* y1 ~# H! F$ E
    )
    4 D' ]' B- y  K9 f# MT5 ~2 ^! ~! U% n4 O
    ∈R $ q* E: E# C: l% J; b0 A
    n& |4 D7 m: `- p( o' b+ m
    ,有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 0 W5 R  [5 k; G" a6 d* L  u* m) X4 Y
    T7 D  m+ ^4 z- Q6 l$ Z0 n
    Lf=
    7 v& b. Y$ Z) J% S/ y4 p! Q9 L2
    ; a- z; M0 ^  K5 y- T1
    0 Y8 v% y: H% ~5 `# t' P3 w0 d8 G" N4 p3 t8 C" ?% w: r' H
    6 H4 U# E: T# ~. L
    i,j=14 S& _( t" f7 u% V& @4 x
      f! X$ K, M, x& j
    n$ P9 G$ S4 V! ^+ L6 B  i

    + R' z' S# r* `" B* v w   c# v- [. A3 e1 y
    ij) F& v& q( I! B/ E5 A- v! G% K
    ) B% \6 J" c! N
    (f
    ' g, L: t# `/ [; Ui
    * M: b" q" [9 \* W7 J, ]* n9 u/ @; f- R6 J& N; r
    −f + |2 h! X5 O' R9 O% J0 `% E! K3 j' u
    j
    : l0 Q" B8 J  E4 I( y" F* R4 ]& ?4 U- ^4 x7 y; A4 u, F" x. V2 J4 ]
    )   x8 a4 s: [: c, f
    26 f8 p4 r2 G/ j+ W6 N

    9 S6 ]' I1 D  _3 T+ w" ~. y  qh 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}|}
    6 i2 q( \! ?5 d1 k" {% Ah
    ( N5 `" x7 g$ }. q3 d  C! ^i
    : O0 x5 `3 w/ R& q' zT
    4 n6 |) {9 E* f/ h8 I
    5 j* x; P1 ~1 y- A$ X Lh + h2 b  H$ Y3 e7 o0 x$ U& o
    i
    1 p  P! }) s5 [& ?) N: Q2 q# J, ?* w& {! X! M
    =
    : c/ n% r9 _: Q21 Q6 Z2 K& F1 O& P0 S2 g
    1  n/ K$ @# B2 g9 s7 R0 o) r

    + j0 {# d' t: L  A% h; v& s4 D' t6 g% ~9 h8 j
    m=1% ]) ?& U, E! j- }2 h) G, s
    + j7 s8 E$ {" w' y  R+ X) {3 r

    . y2 |% |& E* L/ L" z/ ?
    9 q( a- L+ s( I+ G; d& o. o, Q& wn=1' ?2 E; b+ _* y7 Q

    % H; F4 t3 @4 Z5 d4 v" d. }, ^/ L1 m4 g) N9 H
    w 1 Z9 R5 U. h  Q8 A' @
    mn
    $ n' @% k. i2 ?& u
    : L4 @* _3 ~8 X9 p2 x1 q. ? (h
    " ?( A% h  Q& W* X+ x' g, ^2 z7 X% _im# O: d, c6 P  B* Z( ^$ g

    5 v4 o4 L. {- f( o$ l/ y −h
    7 y7 \$ s- w  s/ Lin
    4 A# H; u  n% E' T9 D! j! ?1 W$ R5 `  e/ M; e
    ) ! w4 O0 F3 q5 E; K0 e/ D! Y
    23 k! @: D2 g! Y5 ~% Z
    = / ^' m4 _3 f- k7 ]5 D0 |% e; S9 m) [
    ∣A
    / o- \9 x  w' P4 }, C1 @i* M, ~2 e5 N3 G$ ^2 ^- k* x

    $ B$ }# v) ^# T# l1 a' c
    : W4 Y# D6 V* ~, N+ Hcut(A   B2 z. \6 r) i
    i
    , V' @/ z+ K& \: d% ?5 c# s, m: G6 `. [0 b
    ,
    3 l; i/ T6 @1 L* XA. R$ Y0 C# i8 x$ Y0 c9 v
    ˉ$ [+ ^/ r" Y( h

      i# @7 s0 g: }) m6 g% oi
    0 b7 l  K# ~4 V9 Q1 h; _: a) j$ V# V
    ): d& f  \5 m4 Y$ P- j% n* K

    ; F% S. ^5 N: K9 @; e: C$ G1 g$ n6 h" w0 T
    0 R/ ^6 e3 \4 u! [4 b' F& {
    严格证明过程请看刘建平博客:链接
    $ k9 `  L! e- a0 U- O6 }可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    1 V! a' w- c; f: k8 u1 x$ C2 x2 Li
    , C* [. p8 W' l! T. \9 LT
    4 C5 M# A2 ?' Q' ]' g+ B. y2 t4 m3 S
    Lh
    9 ^  F8 x) Z' E, W# `6 @4 R5 K0 D3 @3 Gi
    + {$ M$ A- J8 T* z% r3 e( Z4 g; ]# _1 X+ A7 f
    ,那么对于k kk个子图9 r, y2 q7 l; V5 H2 c3 s0 n% E) p

    / C3 [; X  U4 V) E" PR 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)
    % `( h! ~+ j/ E# Q/ A! ~RatioCut(A ) `5 b# M* L& |& a6 g9 \
    18 I5 D2 C5 c) M

    / o$ o" a: X" I" i ,A
    4 S9 T* B+ d* I% Q9 f2 Q2
      N: h; C8 F/ l& n8 K! M# R
    % M" w, o2 W; y" l) }# `$ m3 x6 P ,...,A 4 g  \% _( _# S0 j
    k$ [7 `" r$ u% E8 @$ m# E2 y

    ' f$ q# y( C; k$ k) K/ s$ c3 E )= ) \: Z* f  o& S6 ^7 n
    i=1
    ! H& a9 c( }8 ^- o) o4 q5 y; d: y! J
    k5 |+ _, m; a* y+ b. c
    9 }; C9 O/ R$ u: U# f1 r
    h
    . B* ]! c; X# ^4 e" z! si
    1 V. P5 f4 C" QT$ m; h0 _" l# Q+ Q+ L2 K3 N

    9 ~) p7 o9 h* x Lh
    , I! P$ R( D9 d5 mi
    ( s' `/ f( w6 r0 v4 ~
    9 m: O% A+ }# t$ x =
    " \" i# J! ]* C- i6 C$ Si=1
    , |& L9 s2 m4 H8 x* Z8 @) P* W( l; \# v* ]9 W5 T
    k4 v7 K0 O- A3 G$ h0 M! B

    3 f2 K7 Z) P/ I1 T4 y& z4 B (H   e3 O( b: e- {9 R8 R3 g, m
    T1 E+ v+ I2 c- ?# I: S5 \
    LH) 5 J3 h% w( r/ |) Y4 q- f. H* h1 C
    ii
    # s; e, S+ v4 J2 Q0 s" u: k# J7 e& w4 p8 O
    =tr(H % k/ D* v4 V! X& T0 H% r
    T
    7 r( W' |7 x) W8 \$ G LH)
    # }) H, o% K& z3 Y0 b# F6 @9 E9 G# q0 P  J
    因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H
    - R, Q: S3 n$ v6 Y: MT
    1 s7 m$ f9 N: J. O/ C LH)。又因为H T H = I H^{T}H=IH + O# f' l0 T* d+ b* N# t+ J# z
    T
    4 o0 z  N) M9 y8 W  J; R+ L5 p, U H=I(单位矩阵),则切图优化目标为/ d1 I& Y. t! ]( C4 B) h$ o

    ' J/ L7 X" J0 }$ e2 Sa 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=I2 }  L0 Y0 a( G1 i+ a4 @% _
    H
    + b' Q! r, N" b! u( k* h. \argmin1 X2 ?0 ~0 J6 p  r1 _' a/ e$ K

    # w: T" p6 Y0 l# ^1 H2 K/ D
    % ]9 l: L  N* b# T5 g
    # W/ w! h8 v0 }" l5 c7 B# H' C tr(H
    . y$ Z4 y2 R7 r  ^4 e! y& KT2 N, ^- r4 D- s
    LH)s.t.H 1 X; v9 E  t9 H' i3 A7 F
    T
    9 L1 Y' g, Y9 u# N+ G! L H=I
    2 l: l5 A5 E3 |! m9 s5 F5 `! m( \; z6 M+ ~- k# L( H2 R+ Y' N
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H
    3 i  j2 }& ]  S  ht
    " S: T; C+ v7 t0 V" h3 n  J9 A4 |: a LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    4 i$ f/ B9 ~, k; f8 ni0 C" ^3 S, B; r& O/ E. G# J1 @
    T
    % e' D6 \1 [+ q- c8 w. N0 X6 `$ h) {8 K" i: m8 K$ |3 d5 y6 m
    Lh % X- T  N0 z) q- j) [
    i  G! }& O3 R; m  H3 s( F) b: J

    5 N' k& l/ z( A, W ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h
    6 i+ j' H$ P6 ei; d8 r1 g  H7 b. ]" f
    T( Y" v- Q9 `% f( p
    6 V+ p( ^; z* ~9 c
    Lh
    3 `2 @7 T7 B! d' u4 w3 Ai  J( `3 B3 e6 |  j1 l; m, h

    / A$ A# f$ A% Y, c# h! G 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h - c& p' A2 N8 ]7 a- t
    i. {  Z4 H- r" ?4 W8 |# x: D
    T8 k5 x( {% ^% M6 q, [+ s9 |1 X

    6 v- u/ M* ~. U$ J5 a Lh 2 M+ K1 R. y% c$ L7 a
    i# r3 a8 y% c& x" t

    5 d$ t* S4 M/ |* s2 d% Q: |5 p ,目标就是找到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 8 H# h) |( s) L% u/ P4 ]
    t
    . ]  [2 d( P+ C$ w1 s$ x+ K LH)= - s$ a7 I2 Q$ ~' x! l, P
    i=1
    , J& S7 m" \- L! |  O& n' o7 \/ e6 T1 q) `& [
    k/ O0 y6 O# i  C2 `2 \( h
    1 ^$ j: ?, U" S0 t. O. y7 ?
    h 2 X! y+ B& ]% H) j" I- d6 f
    i! W( s% E- a4 p
    T
    , ]" ]1 ^5 A/ m& B& X+ C  j3 p2 J. D7 E7 Y5 A1 c) E* D% |
    Lh
    - x$ R! L( B9 `/ C- u+ Ki
    6 m9 x+ _, n5 L4 X
    + S  ^9 k) [- T ,则目标就是要找到k kk个最小的特征值
    % v/ b8 f! r1 G
    2 O% C# N. r1 T' e" Q因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下
    , W( V; ?* F# P7 V5 h2 j; x2 ~$ I# p" ^6 R! C; h
    一般来说,k kk远小于n nn,也就说进行了降维# N% i, L  m7 ~9 c1 b9 J4 ?
    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}}}5 p: W$ U9 t8 ~2 h
    h
    9 ]7 a) a1 u/ A2 J! d2 Bij# ?8 g/ Q- b. ~  T

    9 U  F5 B/ I% r; j3 j
    $ s* w- ?0 M" U =
      @3 ]% N& ~5 Y+ `0 ^) g" v0 s5 S(
      v( u8 P8 R$ d! s9 ?) rt=1
    8 d) J/ v4 d0 ~9 w9 ~$ D' S4 t' n$ Z( j  ?7 P* i7 }; g: u+ T5 W
    k
    ' ?. p! S4 n7 S4 o, K2 B+ l
    8 c; B% u( [* i# U( @6 b h
    : V3 ]7 P6 S! ?5 I8 dit
    + e) O- O& @- o  C& ]% m2# P# n, X# ?) N$ x

    3 m' }! V. G) o% h ) ) ~5 R0 k6 s, E5 {9 c) f% X1 H
    2, u# }" S9 F4 l  x  y. U
    19 W% W8 v  d2 F+ f3 U# c; c

    3 l% }  |1 Z5 n7 Z
    # w7 q& v; e! F! f! z2 [) O5 K
    ! ?( y' ~5 x% Uh 3 ]3 X/ o5 t! U# l2 R# h; g
    ij0 \8 q. A; M: V: _* E8 J

    ! v+ P  O4 q, b$ D5 f
    ' W" `; N; l6 Q( {- m$ j* _; l5 M& e- G

    : e" ?7 g; Q( Z5 T5 ]' _' ~: s/ M5 X9 t& V
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    " X! w3 \# q# V
    : X7 C6 m5 G/ W' ^0 q. w% v(2)规范割(常用), B' N' U& F6 J! W% X  M: y2 U
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A 9 _8 M- Q4 R) `- ^3 m% q
    i% s' E% Y9 X3 w5 P6 }0 f/ R
    2 {4 H# ~' O7 `, E
    ∣换成了v o l ( A i ) vol(A_{i})vol(A + l% V; |( j; ?, `) x
    i8 I, A& f# ~0 W) w7 ~. @2 z
    * N) W6 X6 o2 C
    ),定义指示向量h i j h_{ij}h 0 }' l" O$ }3 Q
    ij
    9 l/ F" n: N/ y! o) {: L$ s3 ~' I8 n' A8 E2 o! e; B" Q
    如下
      \* X9 F% u3 u4 |
    3 n0 j' `* f$ Oh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=; i' z" ^8 s# l/ T+ o
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj5 z) X: g: _! x  e0 |- `
    {0,vi∉Ajvol(Ai),vi∈Aj
    6 f7 @" G: c" Z( S0 E" r1 Th
    . G3 J0 J4 q. _3 o- t3 o. f$ Cij
    ; F: n  ^# E6 s" U/ `% x' E9 q* j' ?
    ={
    ' O$ Q7 K& g* q: H, B0,v / Y% w& a1 A7 ], W  C5 ~2 G9 P
    i! m5 g# I9 K" a/ E- Q" `1 L- z( ]. H: E
    / k6 ~9 a, w: ?/ Q% @

    $ q$ b  Q$ V: _9 n5 s/# `  |# j! y: o3 }: c
    A
    & ^3 V) `7 M+ [5 }6 }1 pj
    , |) j. I/ C" n# J0 O$ m
    & S+ X0 h$ q$ I% W$ ^+ U1 W+ ]: R+ R# S4 b/ Q( i& x2 m
    vol(A ' x: _( s% B9 n" D
    i7 s- Z+ n  G3 S1 X7 m* I
    ( n9 b5 |; j# U7 j3 v
    )5 c5 F, y  ]1 d) o: O. o1 y  x) A4 j& o
    # m3 [8 s- S# w  _; E5 L# F& k
    ,v 0 _- F- t7 c- W. B
    i
    6 K2 R) ^, ?3 G7 G6 F; _# \/ S' ~
    ∈A ' i" Q* l% {/ x7 X* ]" P
    j! m' X% o* i1 f! z2 t

    4 k+ F% q# c! \- n# r" j3 |( h8 w! r
    % I. Q, q8 Q5 h8 O6 p
    " ~1 S! h% I1 U& T5 _

    + K8 Z% ?/ j2 b0 |8 r6 J' b于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    ! Y5 Q. Y& f: U) U/ `! pi; m. d9 u4 w" l6 {, Z. [. _
    T' ]3 _5 b' T# `/ [* Q
    4 f6 F1 `# L6 c5 m0 o4 S2 v
    Lh
    2 B0 ^( W6 O4 e' }$ H& ]" E0 Ri% E8 V& c5 a/ W+ K, t5 G2 y4 f

    ( u6 Z, O  K0 {% n ,根据拉普拉斯矩阵性质可知2 o0 D* h/ Q7 q" i( I0 X0 L2 A
    0 o! \) Y! C8 [/ m# W0 e0 r. J
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    3 t1 T& p$ T* N: y$ d' S( Z2 @1
    * E' S7 X+ d0 k1 X1 r# S( c/ Q7 g, }. S; R$ \: X0 ~! n
    ,...,f
    4 K3 v6 v2 P: g& in
    + Y& b1 e% h3 M2 g# @: S' A0 {' V/ B! B. g$ ]
    )
    ; x7 g+ Z( F3 C6 {% \: D7 XT% @# k; Y9 ~4 B
    ∈R 8 d% [5 X9 Q1 q- N2 J4 d" P
    n3 o% K3 w1 X: t4 T2 I9 _1 t; Y
    ,有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
    ( I( n: [, T* B# z2 d# e/ a% ST" K5 K" V2 S' ~/ X
    Lf= + }8 t6 R: J: D* y8 h
    2
    % S4 }" J$ s" v8 H$ t1+ G( N( y4 s- T; ]7 x

    - F' u2 L1 O- v7 L' a5 G* E, p) L  r8 Q# a9 J
    i,j=16 V0 e* p4 A# o/ g
    . j# N: J0 ?, [  J
    n. t" V) `# c; E, [, u% \: H  Z8 o/ q

    3 u$ h; r' t) j, v5 }# x' ]' b$ } w ' q  p" K" l) u6 g% T
    ij
    % u; ^7 @' H' V3 G* H# L5 t3 ^1 k
    1 u' l2 {7 B# d* y8 T (f
    3 a+ z* p; L! `4 Z* ]$ Qi
    5 W& H9 E% j: m4 c* y6 f
    : v4 f" F5 }! Z  r6 | −f 8 k3 p3 s! o8 u, _  h! l( A
    j0 F: l, g7 Y% s" n( f' t
    ' A1 w5 R+ r* z2 r/ D
    ) 7 n" A2 F; q7 U: y5 O3 l) Z
    2
    * ~3 Z9 ^' g: X  ?) `6 e) q6 F7 G8 I0 {* Z2 }  d
    h i T L h i = 1 2 ∑ m = 1 ∑ n = 1 w m n ( h i m − h i n ) 2 = c u t ( A i , A ˉ i ) v o l ( A i ) h_{i}^{T}Lh_{i}=\frac{1}{2}\sum\limits_{m=1}\sum\limits_{n=1}w_{mn}(h_{im}-h_{in})^{2}=\frac{cut(A_{i},\bar A_{i})}{vol(A_{i})}/ E$ s+ W; k* |4 A
    h
    * a3 ]5 N  v4 ?" K- l# M9 M+ Oi. {$ S; [$ k+ g+ j
    T
    ( u7 Y# x5 _% {6 r+ {  ]" F3 {/ G5 b0 e; D
    Lh   h; [1 S. f; J5 r3 }+ d0 P) y
    i/ s3 C" g# A/ m' k2 C

    ! D: K( |. X+ ^8 E! H# v =
    % t. I, d) s! c  u2
    # {: z! \) a/ C: d# V1 K1+ j! ^, A  Q0 j
    / s5 m( k7 T1 ~% a7 B5 Y: D
    " s; Z6 w& z6 s  L
    m=1
    ( I1 i/ o0 J3 @( C, N) B' y# R% u3 N7 G  }/ w

    ) x/ z7 W! b6 ^/ _0 g; |" f2 I1 A1 C" x) A1 M$ f4 Z" k
    n=1  R1 Y3 R8 [3 ]2 e5 Q
    5 b% n6 A# l8 [1 H3 k

    $ h" w+ }" F# C2 t. J4 i w
    # E+ w  N" q2 [7 umn& L7 h8 ^* S7 Z# M2 W; a- @

    - ]) L7 }, ?2 j- x (h
    " K; v. G1 r1 D* \6 S, ^9 y; f7 wim
      ]( Y8 V" Z! a- k+ t% N
    6 v3 M* z7 F9 r! n* B −h + \1 o! N$ W5 {1 E6 x; F
    in! H1 v: \  `7 w1 O" L& o( U/ n' r. D

    ) b" ?% A0 W9 g' T )
    3 Z0 n& C/ {' F/ O# n% ~2
    , M3 t/ w5 J$ Q  `1 ~ = , C5 P- y  s- Z- f. j0 v
    vol(A - x/ i; S3 M1 _$ S% H) S
    i
    # l6 v; s! p  o; N
    " H7 Z3 M. L1 M/ W9 { )$ T  j1 f8 s' k. A/ N+ a
    cut(A
    9 X5 u% N& q& C+ }' C3 [i! a5 i& |3 w. d: |( J; E3 Y

    , A' M5 ~( y: R ,
    3 w* J$ P9 k9 C# qA% I8 j9 E, k; f3 l% {6 p+ X3 J1 b
    ˉ
    : a5 w; ]2 ~+ N8 P! J
    % i* Q+ Y# c0 I2 t. U. W2 Li: s  R# i1 t4 H
    - S* W0 u: E7 P( P
    ). O; P7 W! P" H$ }" O
    7 P3 n& H: |2 ]& c. Y: ], e

    0 [1 @0 a/ C$ Z5 O# j% n" E2 ~3 P1 t" H
    严格证明过程请看刘建平博客:链接+ X& Z8 L& a* U& i+ X2 \
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h : v5 e3 ]& P3 K+ @2 P# ^1 c
    i
    3 e. s: d& w3 h2 q% Y6 ^: j  ZT
    ; v% n, `6 i: L0 h
    / Z/ x/ c  ^+ k7 Z- s Lh
    / Q" ~% w' }0 n) v6 f: B5 B# o4 Fi
    7 U" _/ G  V$ [& k4 r$ |
    / Q5 z- D( _$ L( V ,那么对于k kk个子图
    + i( y. }, l* w. R5 w$ A$ H
    5 E' z( p/ ]) o7 s% ZN 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)
    3 L$ J7 E; l# }NCut(A % K  m) a. u2 }" y% q, }
    16 A2 H+ T2 N" c( N! g

    0 a' P' L! f2 T4 ^ ,A
    + l& L. R/ e" J8 D2$ j8 t: e  B  N7 c; y# r

    2 z; b5 E. G4 u) t& o) o2 Z8 V ,...,A 3 O' e' t6 ?3 h+ |6 J
    k
    % A4 L8 C* u& Q, H' W# j$ a2 Z1 {" [0 z0 b. U! i3 y1 P# w
    )=
    1 a- s8 w: A( x2 w! ]7 V' Y: xi=1+ b4 z/ a( q- E. B1 u" M0 ]
    0 f2 s  i0 X- v; K
    k- j) S* {6 M  K# v' h
    : D' B% z: n1 z2 v: J- r
    h 8 X3 i) q, x. i% g3 i
    i
    $ m& Z, y/ B4 r" ^9 l2 j$ B  }7 o: TT
    $ D/ ~6 @5 u% |- D8 e- }( d4 J3 F+ A+ q$ Z$ w  F" C# C) Q: z
    Lh * {7 c" h8 @: K+ D9 n
    i1 e# y) L% Z; H5 w: o4 O+ X
    4 Q: [4 R+ L# S, \0 A# q' t
    =
    : T; p4 X! u2 k, g8 Qi=1, v$ }8 t$ P  V- H/ z0 [) b

    3 }% Y# _; i3 Uk  m- g' r5 B: R5 H3 Q

    6 v# U) H. _# }. @/ j3 J$ L (H
    / b% l5 I" X/ @T" m+ d& O" N* y, u
    LH) # {0 p' Z- J( y& N& @$ ?
    ii& e" S+ a0 q! i

    8 g% e. U) l5 E1 b8 n  k: I3 j =tr(H + E7 ?; K( w- }
    T) G  M& W) j  L. u9 E6 z
    LH)' P: ?9 D: ]( |/ v5 J

    . _0 Q6 i. _2 W: K5 j( q7 ]但此时H T H ≠ I H^{T}H \not=IH # z1 u/ G/ x1 a& a/ [
    T
    0 S. }: V5 K) a H
    - T- p: k1 z# g/ \' q# q
    ' E9 H9 |3 }: g1 o2 p=I,而是H T D H = I H^{T}DH =IH / Z9 \7 Q3 J1 N! ]4 w
    T
    / }: T0 T" _: ^) ~ DH=I0 f( E( E8 C3 r3 Q- D% B2 I
    # k9 S3 y3 p1 s, k3 T0 e0 |
    这是因为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
    7 B1 d* O" `" y* gi
    ) F4 A* V# K$ C+ OT
    ' `& Z  \7 j. Z2 Q/ A' h/ f% J( n. @/ N& v, h& L
    Dh
      }3 e- F* x' X% @& v* }( Ui
      z& q2 q- A$ N0 G0 Q: A3 C, `4 s% t' |0 d3 s! T! u
    =
    . m$ E- f( Z* l$ d$ _  Nj=1% O6 ]( U2 o' e

    + c3 E7 N' j! Y) K. T2 hn
    & A. |) B: f4 J' u# m
    " w5 s9 F2 m0 ] h & B: p4 r; J9 O4 i7 N
    ij+ M' U# a+ x9 J" f
    2
    % L8 e& l& U4 w: J  ]" R+ p3 t5 q) J5 O
    d 1 ^/ z- w2 p  Z/ q# F
    j
    - g: H& c6 K8 k0 c4 y2 r% t+ [5 }" D4 P7 f1 p4 _  P
    = ! l, q- }& S/ E5 A
    vol(A
    4 V3 P  X, Z3 Qi4 V: g, N  o$ D

    * ?9 i% Z& |# { )& F4 j- _; u, [8 T+ _! d( n& @
    18 d3 ]* h$ _4 s0 ^

    ' }  z1 A7 `: M8 \( Y1 M
    7 V, ~4 P1 k4 [j∈A $ T* v% \) }+ ~& }0 }
    i
    . [* I6 N: [. l5 f$ ~  K& B8 N6 c4 H1 V6 f1 i7 D
    8 j6 T% H+ q5 t

    $ O+ G2 q! J! J2 q" Q$ k
    ' z- n# W" ?+ F d
    ' h3 d' V) z. e, @. N+ N# _j; t# n# o7 G3 P3 ?
    0 w" ~' [9 c6 B% d7 D
    = * Z( W5 P1 l8 l8 Z6 x* R, ~
    vol(A & P" h1 K6 q/ |* ?* m
    i
      f( L/ s' e* M- k% P7 P: o# u4 Q% ]8 X' P3 u8 ?/ H
    )
    " Q5 _: X- n/ b# b/ J- I1
    ' T% l8 U( N0 h/ a9 H
    7 Q1 s7 |+ E' |: K0 P- n& ]" ? vol(A
    4 j0 ~+ ~* @/ i- Yi9 t+ P0 C2 K) q  t
    9 R  m; S; E2 g1 y: D/ |- G# p
    )=1! B2 H6 Y' _! t9 Y1 F( r3 r
    因此,此时切图优化目标为
    4 }  E9 X+ F" J4 r- t0 g$ u3 H0 D, d" X( B( ~
    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, ]- M( H& w) z
    H
    . p) A, y8 n- R! o9 T0 \0 L8 ?& Iargmin6 o6 y6 ~) A! B( `! x, n

    - S8 f. V+ |7 u8 a" m
    0 H8 p9 W: c- b
    6 z! p4 u; s; a tr(H
    3 v& |8 z1 o. D, u1 X0 [* tT
    " M/ w& \: E. [' M3 w# b7 k! J LH)s.t.H
    7 m0 F; Y" g+ i4 G1 T% A0 y- S& f6 _" p! AT& L4 D  E' d6 g+ H8 ~
    DH=I
    : X2 G' j; i0 H4 r
      E3 v. ^4 J, |- g" ~但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D # s9 {) P3 X. Z3 y% F
    5 r- [( @; A  h# ^; u
    2" X: m. u" K( h/ D
    1/ p3 D* S9 V, q# e

    $ p+ Y& t: J$ n1 _9 s# f8 m$ M+ l. |0 _9 x5 A
    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
    ' _8 V. X- a7 {7 J' W1 \7 UT' G9 ^4 J5 g1 g  ]1 E7 C. o
    LH=F
    / n+ y& p8 g% {. rT
    7 z% m; r7 T, }/ Z+ `/ G8 z D
    ! [% t+ M% y- z8 W4 e4 D: G5 Y- L+ B7 q# x  \6 d
    20 I+ }# N) T6 a3 L' [5 E4 Y
    1" M. `5 B- i* z& r; z9 v

    , c8 K0 p$ P  }8 ?% ~7 {+ h& y
    - t* S; c% V6 o0 _. o+ M0 b LD
    1 F+ X8 J' X& n- \+ @# t5 w! ?. H) M5 P( @
    2
    ! a2 t/ C" ^! }" q6 g1( |3 {+ D2 a6 W6 i5 ~! P

    ( z- R/ E: p4 W# g
    * C; Y9 o5 I2 c# h3 p9 O F、H T D H = F T F = I H^{T}DH=F^{T}F=IH
    ) l* E* G; [* `+ zT/ I* c! r" G% w' k( T% B
    DH=F " V4 u' U0 m  r: z
    T+ Y3 ]% K( y" A6 o' M3 e
    F=I,于是优化目标变更为" Q# s0 O6 C; Y
    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
    5 P& F4 r/ ^2 i9 C- @! \* }F
    # h7 X/ x# Y0 f$ @& R: kargmin
      |+ w5 w# d) k) i
    # e, a& A# r# I# Z, c9 y. V; Y
    ! [- B2 |' }; Y2 J3 h0 m# W$ T3 G; B  n1 O$ a' x$ b( V8 O
    tr(F
    9 e2 Z: H, ^- E5 z0 AT1 T; a" p! M! Y
    D 6 T3 Q4 J1 {" ]% w

    + q, J& w, ~# z6 R2 D9 R26 u( A8 A# ?% `0 `. i
    1+ J( L) y) Q/ X8 b+ r
    2 e& E* w7 I# m2 N, b' R( R$ z

    6 e$ A2 J4 M( {" V" J LD
    , G4 q( h2 q. J9 E9 Z7 n& f6 @( `- k+ K
    / m8 ]/ X, M) O2
    ) L6 ?- T% u% B' N) ~* c) T1# v; l9 w/ N  X: o6 p4 Q# d5 B
    . x( c2 P( V4 i: }' e
    ) w- j0 o+ T0 s4 V- K5 s2 I0 C# G
    F)s.t.F 7 W: G4 y9 E) s0 Z8 i( ~
    T# ], A! x6 A( O* Q) i  }2 v# A
    F=I
    . _5 `% s2 ~; H( A0 v) m$ S7 Q- Q: }4 b4 c( L% ]; l
    现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 8 H2 d2 k" W! ]2 H8 x& P
    1 K; h+ G* n+ H; o
    2
    5 ?1 m3 {# C  o10 q8 U0 q7 y( \8 i2 d4 e

    2 P* T+ g' D, j& ?, b
      ?5 {6 O7 B$ Q0 b1 `( a LD $ Z2 X1 y) s/ G
    % Y6 v0 `3 ?: E8 E/ Q+ j6 H# m
    2- T9 A& V7 u( m0 ?
    1' F# U, Q) Z1 h9 {/ x# S& u7 H! k  G
    5 r9 |1 x' e7 |: t& I$ h
    8 z% D( Q( L2 Z. g: ^" N
    (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    $ E! s6 J+ L0 x$ t: ~7 _8 s
    % b2 c* I1 ~0 b一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    : j. V5 o7 P! B+ C% ?1 v. _8 e: h. y; }, V/ D: C- }) p
    2
    7 I" H: i  I% n1
    ' p# K% E* ~9 h+ T# |& w* Z0 K+ B" C: V' h( p9 t$ L9 `
    , x9 v* x# B# D5 m" X$ ]* M9 y* h
    LD ) k! c2 l/ C+ J

    ) e' ]& i. a7 f8 A& i/ X! i! _8 p& ~2
    8 [2 q% C7 n. Z1" M# i* `0 a. I- L
    5 y4 c& I9 b+ z* u

    / W5 ]$ E. G5 V+ z% P 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}}
    8 Q7 X8 J) _/ v2 Ud 3 b5 o% |! I! i% H1 ]5 K
    i: i3 F% C0 h% N  ]
    % V' V' k; C8 g- t6 g/ z( c
    ∗d
    0 z6 B- R, v, \6 t9 ej
    9 e4 w9 h" q2 }  J
    : E4 O6 }0 s/ t) @( n
    ) s6 P1 t$ c' I, o8 _
    5 j: i, o$ Z$ [, W$ E" }+ ]( F- r7 t* O
    L
      m: K- Y8 B9 l  A3 ^2 v7 wij0 ~# p& `! D0 C3 [" S+ b  z

    " l0 I6 K. d3 U3 A! |
    9 W& w" ?  y) H1 j- g
    ( D5 ]: ^& D, K4 }( K! l+ V$ S' `! s/ _4 }& p, k
    二:谱聚类算法流程
    5 y' e3 j% |8 p  }* V给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    4 ^7 s" D# _9 }! v' T1 G1 J. L1  _; v7 A6 s, r( ?3 m; S: u8 n
    " i6 m! n+ _# f
    ,x
    - z0 A% t' }4 a* T' U' B2 F: a/ V2! }; w9 B- x0 ?
    0 l- C" _  F% P  k
    ,...,x 9 G  I! h& Q2 S, L
    n
    ) C$ [* r' l& |  @  A  {% C
    9 w! R# A& z) M- w4 D$ s3 c }$ s' P4 N2 ~  u; H" G/ g4 g
    ' p; I( K- P( @1 R
    根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)
    * O% Q; o6 V' @8 }; `* r根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD' b/ [" D) e4 j: P6 {( n; @  T/ P+ a1 c
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    ) t- d6 W2 n, l; _; `得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
      n. x% T3 i/ l# B- e3 V6 d. |# l# C( |+ B# L
    2
    8 Z/ L5 _1 A6 _( c6 ]- ~+ t1
    2 ]9 X( S6 C( S+ g9 r  l0 a1 x+ x
    , T; M- [) X9 Q) q2 O- i
      Q/ H0 \" N1 ] LD
    1 p9 n: r* `' Z# ^) R/ d1 h, g0 a, |
    : S0 v3 T/ q( l7 ~& ~8 p' g! }$ c2
    % Y& y0 f. f  v8 p7 G1' W! U6 m, i8 b0 R7 n0 b5 Q4 D

    $ w" c8 B: p3 ^9 \1 _! L( {) [6 s
    ( F) z/ E1 u5 h0 H% q2 E% G" C- i0 h
    计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D & @% N4 R* c2 x% Y
    + @$ F6 ?& v- Y) e+ a
    2
    ( h& m4 ~  K: T; w) l, G2 \2 g1
    0 s# P4 _( J( p' r
    7 }" |8 O4 b1 w  V6 W( s4 U* m! v% X9 `$ _$ H8 ]9 T7 _
    LD
    , F5 g7 h/ S2 X) A  [: }
    : U0 M# a7 C; z' a# R8 F' K2" O. e5 x7 E( Q, B" O- l' ]6 T
    1
    0 i: z" i+ y; Y4 I  L& {" f; D$ A: d

    ) Q; A9 b( H* j8 b/ X/ B, } 最小的k kk个特征值对应的特征向量f ff
    6 m$ t+ I' a; k8 s* b将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    + E8 w# t7 h1 p) N% `; qF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k , c  ]( ?; \/ \+ ~

      _# p) U4 e, j/ m
    1 X$ z) P- @4 |得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c * m3 Y( Y% \6 j# {7 d3 J0 a
    1
    1 W% c+ N% }  @4 W1 b2 ^
    ! j1 n" b9 s6 z$ t/ r+ B' w; L ,c
    . ]7 J6 I' `# r; E( T8 X" Y4 D2  L! F" Q1 b' Q, G( l7 ?

    8 k9 I" o- t- {0 H" c6 P/ Q ,...,c
    ; [3 \: {( m" s% `5 Xk
    1 u, M5 S% F1 l& F& V9 S; w# P1 N% L- u' F# W9 \: O+ Z, _9 s

    2 C. K, l# D7 d; c1 [4 m1 ^  N4 r! B+ {4 O6 l) U& m4 D# x
    )7 K4 ~) e: S$ H  ?  J; w: U7 u
    三:Python实现
    ) g, m) j" j  A! k: G, Nimport matplotlib.pyplot as plt, q3 y: @% X9 x' @. l' b( \0 k
    import numpy as np
    " E$ I) a* Y+ ]0 m5 j2 V+ Uimport pandas as pd: L/ P4 T  t% D# l2 o% [7 B8 [$ ?8 w# p
    from sklearn.cluster import KMeans
    - Y% A9 ^0 ~- e; W: p( h: efrom sklearn.metrics.pairwise import rbf_kernel" `, A, Q+ m7 U7 R1 W
    from sklearn.datasets import make_blobs
    4 ?' c& }0 s) w: @" ufrom sklearn.preprocessing import normalize
    2 m5 h+ z9 x1 r  C. E
    $ y0 n  J- _+ m2 `- `6 Jdef get_affinity_matrix(data_set):
    1 y, g! _# G9 l    #  利用高斯核函数计算相似矩阵(全连接)2 ?( }9 d  s9 ~) X
        rbf = rbf_kernel(data_set): G0 u$ y7 r3 O- ~9 T' [
        for i in range(len(rbf)):$ }) G1 a* V+ J, c* x% K3 t: Z
            rbf[i, i] = 01 S; Y1 W& J/ z! J
        return rbf3 I( U0 S4 e1 S, R) ?8 y

    9 U* r" k9 r* @5 M  X( X/ U" _4 t0 T9 Z9 k; b' H. ^
    def distance(x1, x2):' Y$ `' A; r; I2 L
        """
    9 ^7 H6 y& A% N    获得两个样本点之间的距离
    & d5 l0 }8 W5 l- J& r* x4 p5 G    :param x1: 样本点1
    7 j( f) |7 A- v7 H( |3 H) d. k$ d    :param x2: 样本点2$ ~6 G% F; [1 t, r
        :return:
    + P7 x& G( Z; s. s. H! U1 z6 x. e- b    """5 K$ K4 E2 ~2 C* R- X4 K. n+ R
        dist = np.sqrt(np.power(x1-x2,2).sum())
    0 i$ b; G* d, E1 ?4 T, r    return dist
    , i0 M5 X# @( e6 T8 @+ ^4 e* N9 @/ O0 B
    def get_dist_matrix(data):
    ( z' Z  X0 Y" I+ j    """
    , V' {  i) V2 t5 R+ T. Y( y    获取距离矩阵
    6 E# C( c" N# {6 \    :param data: 样本集合
    3 w- E2 h5 s: {) m  X8 o4 a1 @    :return: 距离矩阵" b# D* N/ `* Y( r  G  G
        """0 B) ^; |3 v- B9 ?; r8 L
        n = len(data)  #样本总数4 N( }9 q4 g3 D0 H2 D" Q
        dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵, {$ z& ]9 c0 k. [
        for i in range(n):
    " _( O( m% W9 c( M        for j in range(i+1, n):
    ! ]  E- g. l- e% N; L7 u# g            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])+ Y7 B+ U: X7 p) C
        return dist_matrix
    8 h2 _* S4 A6 C
    ! Z/ z3 p: s4 G8 t6 Qdef get_W(data, k):% ~6 h, }( r" c6 t- v; k
        # 获取邻接矩阵(K邻近法)# m  _& ~# h! J/ M2 P7 |
        n = len(data)$ D% e5 _# f/ ]0 M; \; Y
        dist_matrix = get_dist_matrix(data)
    ! B3 ?' w/ b$ |8 H* R+ ?" o    W = np.zeros((n, n))& t. P1 @9 }' z& T/ Q
        for idx, item in enumerate(dist_matrix):; |3 E& j7 i$ ~) A
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    & q& N* x, ]- u' q$ l& r        W[idx][idx_array[1:k+1]] = 17 p+ u2 @: S6 w; ?0 ^( g3 d
        transpW =np.transpose(W), ~- [/ B: v# {4 b0 U
        return (W+transpW)/2
      ~8 g7 L9 M$ m* L) k0 v( K8 F# I
    def spectral_clustering(data_set, k):# d7 l! L) m( k1 z
        # 利用相似矩阵S得到邻接矩阵W
    9 P# {0 |5 }6 W7 L1 ^# a9 E    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    - n8 c' }9 x9 U1 Z    #  W = get_W(data_set, k)  # K邻近法
    2 e+ B! N7 M" M' p6 H7 }, U9 b$ W8 O2 V" ?* x
        # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)
    : J! L4 _% ^" K+ w" w    D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))1 z& S+ ?" @* z3 N" D2 L( H! p

    , \/ n; t) H+ k3 T; I, P    # 计算拉普拉斯矩阵L=D-W
    , i& c( n& _/ h    # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    ; B' a3 s: A  ]+ M' P    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)
    - U# R% [, |1 a) {( j; |, j8 ^5 y, Y' w
        # 得到特征值和特征向量1 Q  y- o$ ^- F) a3 j
        eigvals, eigvecs = np.linalg.eig(L)4 \: A4 ?0 `- ~. r. v
    % v8 w  X3 x- Y* y
        # 找到前k个最小的特征值(索引): R- l6 k7 W' ]* k! U
        k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    * x# q2 g- [% R$ J) k/ N+ h3 [3 L/ l; {" o
    * A8 Q+ R3 {7 @, m0 U    # 取出这k小特征值对应的特征向量,并正则化% l9 p% L* k! O2 P4 e+ M9 V  s
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])4 m. N+ D: f! W" i. e' F
    " b" i; |/ c) o9 ~; S4 ]/ P
        # 使用K_Means聚类
    & _2 Q) y& V: K& m  F    return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    # _# Q3 `0 c5 w! u: P6 j) s# C8 d2 b& W+ Y9 R! [
    . a0 F  V, `5 _& _3 K/ ^& Q6 J1 E
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)
    - w/ r  B. S4 W* Qraw_data.columns = ['X', 'Y']
    " N' E& X* b& M8 Fx_axis = 'X'! x# T/ I( y  d' O" p9 Q& y
    y_axis = 'Y'! Z2 c) D1 [4 m" x9 ^8 C

    0 m0 G" G* W  X6 f( g' q0 Rexamples_num = raw_data.shape[0]" ]# h5 I; n! B. L
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    " U* N- C* ?$ n4 a9 a( ~$ M; d0 o! c6 E. C
      G0 L) r8 f' d
    min_vals = train_data.min(0)
    ' a4 \0 W9 ]8 j: J- @max_vals = train_data.max(0)  v" I( B' u/ b8 j0 o+ ?+ V
    ranges = max_vals - min_vals
    ; U0 k9 T, [4 p2 O/ ^normal_data = np.zeros(np.shape(train_data))3 {! |+ b8 n: q
    nums = train_data.shape[0]& u1 O- e& a! G* O* _( N
    normal_data = train_data - np.tile(min_vals, (nums, 1))9 x5 Z; @9 o  N5 g- u. a
    normal_data = normal_data / np.tile(ranges, (nums, 1))/ }% i2 v9 h0 u2 b# V( }
    0 |2 _2 {( y: ]# N/ W+ i- M
    labels = spectral_clustering(normal_data, 2)6 z" n6 `8 O4 S* f& K

    $ O# a# y! Y7 E# ]. z# 原数据$ U# h) C; Z8 Q- ~
    fig, (ax0, ax1) = plt.subplots(ncols=2), J' q! F: a+ w
    ax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')
    " ?3 m0 X# ?/ p' V! V$ Dax0.set_title('raw data')+ E- h" K' u5 M& }5 l" m# b3 D  h
    # 谱聚类结果% J9 U6 T0 s+ D! R
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)
    & F. ^9 p$ I  v/ y2 nax1.set_title('Spectral Clustering'); ~8 R  _6 O' @) ~& X
    ( a6 d. _# p( l! `
    plt.show()! k  J6 }; S7 L; d% {* ^; r  r% z
    % d! @# V% c: p
    1
    ! }7 T6 U( g9 B+ P) J: n4 ?2
    7 n5 W: k0 r* E, S7 c. @2 i3
    " M  ]* ^* @0 G% H" a4
    # z; {6 L6 }" i% |0 ], i8 `- Z% P50 u8 M& A" \5 m# b, W1 |- j9 o. V/ h
    6  Z5 y1 f! j( `! w' v) w
    7
    ; z2 I5 m& u! Z  A+ \( ~) n3 _8; b/ \( \( N* y& P4 d3 X! o
    9: }% s8 N7 V* I: p+ c1 {* O
    10
    . K, O- a" d8 Y4 K11
    2 c6 A4 Z, y& h: t/ ~5 q, B6 @  f12# ~' V  g3 a# X( f3 n6 K
    13
    , w6 j: E- A0 y5 L14
    0 N, m( P( }/ V7 C+ ^+ B15
    7 f3 O# V# O0 w161 k2 e5 G( k0 ?' s
    17
    ' o  Y+ R7 ~7 ?( W5 R6 \! {18
    . R' Q% n8 f1 E- T  j19% ^) a; u$ n3 b" G4 W. e; ]& [
    20
    ; W' _4 ]' S# j2 _2 ?( p" u21
    5 R6 e" _. T) {3 Q! w22; l, x, H9 @8 m" u5 C
    23
    ( @& W7 h9 ~: M0 A247 k* W4 a# ?) w: h! [+ }
    25
    : s/ A; Z+ |$ h" e% x26* W3 F( _9 J  z# P8 ^1 j
    27
    ! g4 t9 W. e5 u28
    7 v- n4 t3 z) Y& r0 ^% `29
    5 F5 i7 ^- `& ]) N9 l2 h" B# `" T30
    ; c5 a- h' i! ]31
    3 k5 }1 m8 J  O* |. g327 _$ r3 g+ A& o" `8 O
    336 R& @5 T+ J. x
    34
    , H% P$ \9 t: C% x  `: u( z4 g357 V7 i$ V# n, O" ~
    369 ^" w1 M( f: q: L# W2 h% N
    37
    ! \( e2 f6 y2 U) `- g388 p( e4 W2 Y. x' ~  |5 Z2 E7 i
    39
    + j; Q2 b9 F: ~/ j0 U3 A40
    - l! k9 U: D' r) A41
    6 Q4 V, S- H  w- H& j420 i& q* ?; V2 T/ H
    43
    ( G9 b) `- R, ]1 G, A44
    - G9 S2 r' P7 v450 y( Z. _0 x, g/ @- ]
    46
    ' R9 t# p4 V* o* d8 ~/ G1 _- I; z47
    + t/ ^/ A: ^2 R% ?) \- z* q48
    0 E& g4 s1 v3 L: p49) }' }" S  b! d
    507 r! K; [0 |" |. ^9 ~# h
    51! w( {- \3 k/ a7 V# w9 {
    52
    9 j* m/ t+ z$ P+ i! R+ e8 r& n9 ~2 q53) h7 R6 z0 d" J! U. J# [+ Q
    544 h3 s0 s* V) B" u
    55
    0 D! w; U$ }! o5 i! z% W56
    8 e4 p3 f; U2 T% Z57$ I: E2 C& N  @5 U" M* q
    58; X, r1 ^& `, s% s+ c; C1 e9 \, T
    59( D  g& u7 O" _; t+ ^; p
    60* j' A6 F0 f1 f
    61# D3 U3 @* X. Y' w% C9 ]9 Y
    62
    9 s# G% b+ ]* Y! _! Y+ n& X63
    8 i9 u) P9 ~; m+ n64
    * t3 F0 }7 Z& J( G65
    6 |0 Z5 L9 n, I! @1 ~66
    ' n; P: h. Z2 a0 L9 t9 t% g( N5 M67
    % R* M2 V' D/ z. _. h4 {68
    5 H% x* D. @- Q% V69% ^. ~1 {8 k8 `: ~$ O3 i
    70; i8 \! u) M8 c
    71$ J0 W0 u( X8 f6 a# D4 ?; P
    72
    / {) N1 N) [8 y% b5 L73
    1 Z9 Z$ z+ E, @( n- U+ q* m3 c74; f  M8 m& n% M0 \; H/ W0 J" P
    75
    5 B( b, x& x, p8 ], R! u; a76
    ' O% R6 v( G2 B3 V3 z7 J77: }: O: p: X6 g( H/ A# ]" ^; w
    782 R9 y" J9 |  C- C; c4 Z3 s
    79
    ( T4 ^5 ]3 D3 b4 L! y) w7 f80
    & z4 }" ^# Q$ ~. k; f% y+ z, O, G' _81
    / I+ z3 H! o0 m7 m( l2 n! z. C$ @82
    ) ]4 U+ ?9 ~$ _- X& c& Z83! T0 A! q, ?/ i( T* O0 H+ y* n8 \- g
    84
    ! Z& y2 i1 D5 _9 r& d85
    0 \+ C) O9 p2 \4 b& B86' [- h6 f# v: H2 ^0 U- P$ v
    87
    9 F$ A2 _7 X' a  {0 o. V: x$ ?885 d( R1 c5 ~! B! r/ }
    89& N3 ^0 o  c8 |8 l; L
    90% _% F) O& k) r6 F2 D7 N: b, W
    91/ m5 ^5 F7 M: r7 a  L
    92
    / y$ @6 B! _; a- M6 \938 S3 j6 ?$ W6 ^4 s( n
    94- F: ~8 g; K7 ~: n" N7 _1 w
    95. f. ^+ t1 Z* ?+ d- M  Q* C9 `
    96
    8 e* h3 o* L0 I+ [* S/ v5 d3 H97, O/ H* y, J# j% t
    983 `+ k  a/ x. @0 y
    99; z% F0 K. G$ j- c) O* H
    100% E/ F2 X2 N3 K/ R! o: `+ N, N
    101& w  |9 _! V" ]7 Q- e8 u
    102
    9 l0 o' ^9 i# O: P103# l$ M! j; V; _. w. s5 y
    (高斯核函数)
    $ `1 E' r7 i  t6 u; T; P4 V6 |& w: ~

    - P# @9 {& Z9 j* k(K邻近法)
    ) e  _, L  A& Q8 C: }/ F4 t- W" z
    8 F2 ]$ F% Y1 z8 ]- Y# W6 \& n% s8 W6 b
    四:谱聚类算法优缺点8 Y" [; K, p# s
    (1)优点
    # J, t- }9 U9 O1 P7 E9 l7 x谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效
    1 J/ @) o; R4 G* ]" g6 @8 E使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法# X7 @. i) i$ w) x" U3 v. D. x
    谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解
    * x, v& z. Z$ i(2)缺点1 n4 U2 H7 A9 g. t  i3 }
    如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好5 R! j6 \& A+ q( _- _
    聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同8 [# z1 E5 E" Z$ [1 y/ y' [
    ————————————————
    * B* j7 m6 U  H7 f版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ) Z% P" B8 x4 m8 p* _原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494% R8 H) R( Q) h' H4 E) r9 H4 M

    1 Y$ S/ c% T( K5 z7 e1 Q" I( k4 H
    $ M4 l4 \6 Z# r( J9 s- g: \: h- M  \
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-10 08:56 , Processed in 0.501491 second(s), 51 queries .

    回顶部