QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3024|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现
    & z2 P# {! ^+ u
    * `8 c  m2 r. _% y- v本文部分内容源自刘建平博客,在此基础上进行总结拓展& J& m* w7 F4 p+ _+ ^8 M6 ?0 M
    & ]$ e! l- f  ^' Z/ u
    原文链接$ ~- t8 L, a  |' O
    文章目录
    9 r* ^- N' n: x% Q0 _6 o/ z, h一:谱聚类与图划分5 s& ^1 Y1 t% ?2 Z; t! ~# p- b' E
    (1)比例割7 ?& _% K* F; t3 C8 [. v
    (2)规范割(常用)
    # P- o5 P) j- T$ m0 M% s二:谱聚类算法流程3 Q" c( b0 @- d
    三:Python实现; a0 [+ l3 ~1 J% d3 @% v( J
    四:谱聚类算法优缺点
    5 @  a: \2 q& ?6 u3 v(1)优点7 F, S* Y* ]) F% L6 ^8 W6 }, c3 N5 e
    (2)缺点
    7 ~- O; @$ o( i/ _7 U- X! K/ a一:谱聚类与图划分
    ' @1 [* W1 a4 i$ U4 m6 R- k无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    3 q% D' Q: h) j( e6 J! e9 y
    9 z; _% Q; f1 L2 {  _, G每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A ; x8 R; ^' g! j# [# P
    1  ^! }$ G' Q5 v) t; y

    * }2 i; i) v2 }4 P9 w* T3 S3 f) t, N ,A / z0 W2 v" N  B/ J
    2' f3 \- r! |- q" i

    5 _( Z% _: \" Z6 s, S+ | ,...,A
    ) h1 W) {  W% H' Ik
    0 T1 v* D, S6 }* e. D4 a6 C: h" A3 n1 O
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    1 @* s8 b4 x5 d& xi9 k0 B- m5 h: T  Q) A3 E7 N" k

    & j/ W0 g9 ~! d: @8 ~' ^ ∩A ' a3 r2 j. c' k, q8 f: Y" i
    j: Q/ ]) o. E3 z/ v2 O5 v5 d

    : [+ u" F5 b6 B( k =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    0 e" B" b7 ~0 N% U$ o4 @0 S" N$ A1
    . b$ ^' D, b" f- R2 V  w% u, U  U  |2 S
    ∪A % o9 i. ]$ O4 C* H, \: s/ G
    2
    / \: @6 M/ h* j" s9 F& |8 L* D4 O9 ~
    ∪...∪A " H% j8 ~6 V- l/ R
    k; y' Z* h. K$ `1 O/ l% O

    0 U, l- F4 q+ G! B6 M1 [ =V
    ! t& R# B: M& g# p对于任意两个子图点的集合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 U2 t9 `+ a( o4 b$ F+ ti∈A,j∈B
    / V$ _- N0 @9 I: z* F" r5 i- r4 ?; y0 q

    * Z5 w% L: Z9 X! m1 [$ n w
    2 z' W' s) M" o1 t& z6 |# w! tij
    6 S+ Q5 C0 o7 P5 z; }4 K$ F& }2 G/ i* g' Y! M5 N! V$ e
    1 {2 f# D5 k4 f8 ]& r. a
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    ) F+ A8 N: [. }- b1" C5 h/ y5 X. Q$ Q$ n
    + M  [) m# I8 [* x( P# k
    ,A + R0 \( R/ H1 g5 o$ L1 t
    2% {# B$ a. E' D6 q& f

    % l+ a) l" e, ~5 g7 T: i% O ,...,A
    6 p- [8 M* E* [3 S% U0 K' y( tk
    ; I* K  F- E9 X* }) K
    + }& I$ q3 G& |' n8 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
    " i# h! q! P. K2 ]! E$ @, c  o1$ G( C5 w- ~$ f6 |
    / A. b5 f& F: I4 V
    ,A " O' X2 t1 p) n
    2
    1 l' I1 L+ h6 ~: M1 ~! w8 P
    7 c$ p  k7 W5 v- A, p/ A" a ,...,A
    ! N! K1 d) Z5 v2 xk6 _/ c( U8 a% S# e# s. d! c

    . t: ]: n5 [# |% x )=
    4 E: T& k' y& F5 }, ], f6 u% c* _7 ^25 Y! i3 C2 |6 X( p5 A" |
    1. q7 O/ K, c: a# V) }1 Q

    ' U) W: w  E4 \; T0 P
    5 v0 U! {: U) A# Ii=15 ^: i0 Q. g# _/ o+ t% |
    , \% I8 a. D- {( S
    k* C! N8 z6 [6 p% z( \* L

    * J9 z1 e& T. T; u& o W(A $ A$ C* Q% u) p7 J3 C
    i/ K1 a) b1 D, A  D

    $ Y; w. D" F7 \3 j4 {/ }! K ,
    - p( x. ?1 K) v( |2 PA5 O: R2 ^2 b3 W8 _, V  X' v
    ˉ  a1 x; q- J8 d1 \5 _
    1 Q0 v0 h8 r; d7 K) S0 \
    i
    . @' V. D) G/ J8 r) e- M7 j' O$ _& K# a4 v- d3 \7 n7 T
    ) (其中A ˉ i \bar A_{i}
    6 n# \  [9 ~4 L4 P5 g8 }5 ^8 PA% R* v$ \' m) S4 y1 C5 u( I
    ˉ
    " w5 L6 U" |7 }& d) }" }1 M- t
    ; c2 D8 _4 E) K5 u- j  b: M0 u9 vi: d) o' k9 J  R1 ~2 A, \; y9 J

    . z- P3 [4 [2 R+ Y3 v, P6 d 为A i A_{i}A
    " m9 e+ p2 S! P+ H, Ii% E5 K* H" Q& z# k

    : l1 t# N+ E# h# n$ P! j0 Z 的补集)
    7 l$ K8 e1 n/ c) D/ q; R" w' v可以看出,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
      A0 T1 M1 L' T14 O/ p8 r" _- ~5 Y1 \0 }0 x

    6 R$ V* t) W% o7 Y ,A 0 T4 e. G# \& P" A" r
    27 k8 x5 |0 y0 y7 x- S2 J  Q
    * ~$ n, H" e/ S
    ,...,A 2 n, C4 \, f. ?
    k
    ! o8 i- {+ o! D6 p  C3 h4 k4 A. }# O* k" _8 ~- x5 F0 b3 m
    )=
    , @9 K( [- o  X2
    , Z9 d0 c. n! r. N6 ^( {1
    + c4 B4 t. S  P& G0 b9 J  C8 j! n+ U. o1 i7 v( N
    , I& B; W6 U# k6 M6 @+ ?$ S
    i=1
    * J- r: c% |6 y2 l" v% Y
    6 O/ H8 T! l$ A$ W! G$ G+ Jk, q* h/ R/ V% L* @9 D1 c/ f

    . W% M+ e- w4 k+ M) ?" o W(A
    6 p6 {4 t) p. h4 @/ s' Ji
    & j3 m% s) Z2 |1 w7 L$ y: U# ~
    8 w7 T- S! T. { ,
    ( p" Z, J' p3 G  s/ BA7 a. ?6 c- }$ `: ]$ G9 x2 C
    ˉ5 g# B4 v1 z0 r$ H
    : [/ c2 J% H( Y- m1 s1 y  A' l
    i
    - y0 E3 _0 z! b, x  A
    % k, a1 p8 U, a' z )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A + t* {5 P: u% T% g
    15 Y* m; `  \1 k6 \% t, X6 e
    ) Y; P1 L& g8 Y" a' R% Z
    ,A + r# D4 ^* ^2 R7 H
    2
    7 D7 ?* `# m: M" }# ^7 i& |0 w, ]1 r3 }, i. H
    ,...,A
    7 P6 X1 G, R* q( B8 W  Uk
    $ S# f7 ~! F6 R2 s
    3 k! p6 R3 U8 [  D )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡
    / w% T+ O' W; D; b
    ' j& i5 @2 e  b例如下图,选择一个权重最小的边缘的点,比如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 3 W9 D$ J9 u' m' G
    1
    ' H( m, W9 _7 K& p. I. W5 W4 A5 C# R& c, c3 }  U
    ,A
    6 p; G0 c/ i# @1 g2* j* ~1 |9 k) \  S$ c2 T
      s2 `5 a$ I, x! `( S% ~- X& e! |5 ?
    ,...,A & S/ Z; U8 r0 u' H
    k
    : g8 S& a% F% m
    " |+ x. z% h9 A )但是却不是最优的切图
    1 Z/ q8 d' C0 L( B  F) {1 e4 ?+ t% Y$ h# E8 T  d6 y
    为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    " r, i+ }- y% J: w2 S0 m3 r+ y
    9 G- \" {: s3 {比例割: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
    + m& Y" g' P. B  d" h15 Q/ s! A' T) Q
    4 S& j8 Y7 S9 f: P6 n4 k6 S
    ,A 5 P$ S; `$ q! J& e) m# j
    2
    ' L+ \/ {. u$ E& s6 ^! x7 [0 \4 c1 T0 L+ }8 q* Q; n
    ,...,A 7 k# ^1 s( d# ^+ [) J
    k0 o2 K. a' n3 v8 B

    / |- P5 v0 D- H+ p1 Q- c1 ` )= : W1 o6 X7 s6 M; _
    2
    . I- a" h" i# X' o& J# M18 A* p6 e* {4 R: L6 k

    * Z5 N$ o' ~, w* ^
    , q/ r, d# d) q+ p1 li=1
    3 m% e* m$ |6 p5 L5 m% A4 d3 T: m2 }! w
    k( S1 s$ ~. I( [6 f, J2 }0 j$ G

    : ]& W1 }& q* W" p: A% {+ r% ~: ]
    6 u8 [0 O/ u, j" `5 M∣A . e7 Z- x' i1 [/ t7 ?( S7 a
    i
    3 P, |9 C( v; j/ r- l$ {2 K- f% U
    * L6 d2 |6 Q3 h0 P8 b4 D- E
    4 S: w& g# N1 G2 O* [W(A , u6 \" s. S( i5 @
    i3 B  [+ _: p0 a  S+ N3 X

    1 P- P3 n8 C+ l3 H* F ,
    8 e# I. P' A* C- R1 [: C0 S$ e+ tA
    ! h. j- E: W0 C, q9 u: \4 a- Mˉ
    ' D) J( V8 S4 P9 J  [$ ^9 {3 z, H  ~; k7 b
    i
    & K& q' ^7 x) u- p$ U
    ' d3 j0 g: y& k )
    7 @& y  w3 F/ s3 v+ X4 o: A0 Z- u. X# I! N
    ( c; Z9 n: y. P6 l) y/ N
    规范割: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 ( T' w% \9 S" ~/ e/ v' K
    1
    / ]: `2 g  ?* M1 {8 p# w2 R) T
    ,A
    : V) V6 d2 a8 N2 Y8 d2$ X! c; ]  ]8 y5 d6 D

    3 F* t# q( F+ _7 v ,...,A 8 g  D  s6 p2 ^5 D9 T
    k
    1 e0 y& s1 X: X6 ?5 K
    + H% n; h  r6 V8 N! O2 y )= 4 _4 ]9 j7 t; t' Z, D( G, z9 h
    2
    7 }' h4 M3 Y6 F# w8 u$ s5 H. w10 J/ C* f8 a, f. f+ s% B

    $ ^- z1 z) u) t. R: n4 X% f' K6 {- Y  x& U8 H
    i=1. W9 |1 A6 l6 E9 @7 j% ]

    ; `4 P1 p8 m3 N7 a9 z1 @- sk
      L$ x5 \( w( o! n  ^. E; r3 J+ n' C" r1 M  [- p9 l& X

    ; }1 x0 H$ `, C- I& H* r. o% zvol(A $ r3 k/ r5 L7 @2 K2 E
    i2 K( K# Y! g, h* m1 X
    8 m4 f! p0 ~( o
    ). w, M% |7 y( m! W, k. q7 N1 ~) ^' T
    W(A " X! i, k+ L7 |7 v
    i
    1 D% Z& u9 s3 ~0 _7 k, W$ p% D+ z6 Y! ]; r
    , . i; C4 e' J& }
    A9 k  ^4 W7 r* j. r8 K- d5 T
    ˉ$ c6 T7 t( ]4 _0 ]! ~

      r, A3 O, v  {7 a) Ai$ W0 R+ [2 o0 z% S+ T/ C

    9 j; ]& _0 ^  R% Y3 n- @1 t* e )
    2 d, |+ H! \; F; v& c. R1 r
    , s% e( ^; U) R  y7 Y- Q2 r, A/ L2 \, S5 ?
    (1)比例割
    & T, ^6 X7 v' \引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h 3 m$ ~4 y+ q$ u/ ]+ r; q( V& m
    j: H# t% |5 {7 s5 Y, `

    # v* g: C5 \( i' R6 R ∈{h
    # R! y4 Q1 `; `4 z11 y: g: l% ?' t2 b, k. r
    6 Y  Z! i4 Z# |6 Z6 w
    ,h / ]3 {3 k" P, Q, L0 }% Q
    2
    / P% {! ^; {& P& I) ]& [6 p* }
    2 f; Z2 D1 \: V( F2 B+ F" x3 v ,...,h $ b4 _1 w! L  t/ h) H* a/ G
    k
    * m7 w% ?6 _4 r# ]! s, F
    0 g; b1 K; ~2 w0 R  F. l% N6 n },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h ' W. d0 v* g* q+ N, [6 @9 t9 s
    j3 K$ k( `. v3 q% d, w

    ' O- T! l& E. x3 ^ ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    : f' V7 I) U1 H) L/ q) Z& `$ {; B% q' hij4 h- i! o* j2 C
    7 X, x  T% M' U8 f2 L  ~' k% m
    如下
    % K. z7 L( f4 v; U0 G' Y* W, `
    - o0 _# H6 t3 D3 v9 k9 O& v" \8 B+ Qh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=$ R$ S3 A0 `: k. D
    {0,vi∉Aj|Aj|−−−√,vi∈Aj
    7 H# Y4 e) B+ J+ Q' O) @, d{0,vi∉Aj|Aj|,vi∈Aj! ]; C9 L, c) D& s8 M0 O
    h   w+ N8 h6 ?2 L% V
    ij
    4 a: A# M' }- P
    " W- T5 n; A2 Y/ ~$ v ={
    7 a) G5 c: w$ o8 o0,v 8 c/ z2 u6 b3 c% V
    i" v/ n$ m7 E! l0 _7 Q. L
    / @# @  M! P  O# ^+ g' _1 x3 z" }

    + v8 ^) j0 }! r! [. c1 ]/" J; ~; T8 s+ A* |
    A , @! t" T) w2 Q$ c
    j  i$ E; ]3 C5 h, X: r' l

    ) e# J! M3 X- l1 d) t. g
    1 }. V; C* [+ l. I. v∣A , U) c& C/ E0 Q8 j* N! l
    j& @5 `. s9 I$ V9 d( }$ i# u6 F
    4 z7 ~1 }2 _3 R  B; X, i3 p

    - v! u2 |) X2 F( b; W/ v( U
      q9 G* ?5 a: }6 _! @ ,v ( r& z6 l% _4 }9 N
    i
    , t5 Q3 b4 R) k+ j. [$ o6 p9 Z+ ?; L/ ^; O- k# x# S5 F) M( j
    ∈A * k" w/ t+ G0 A, c! O
    j" w/ L& q5 F. l5 w$ U
    , O5 K; D7 d; Z
    ! ^( D  ^% D7 t4 ]
    , Y% ~3 O2 u: t$ g) B' }0 {

    $ h& r# ~" ~) g3 ^& {5 |$ Z
    % D' u9 |+ P* V6 \9 v1 o# C于是,对于h i T L h i h_{i}^{T}Lh_{i}h 8 ]8 Z. Y6 ?" U9 W  A
    i# x8 [% {$ H$ i$ A# v
    T
    4 e$ {5 W8 L: r# C3 p# y; |' N/ E9 g) b/ o
    Lh
    ; |. t6 _1 i: [i
    $ b* ]( H9 w2 j: P3 R( ]0 V' G7 r1 _2 `
    ,根据拉普拉斯矩阵性质可知
    6 Y. x4 m8 M) A& b0 t$ Q: {4 ^1 u+ H3 P: m. O
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    & j1 g( B1 C$ E4 J1+ Z* W. z, r$ ~. B: u
    ( }. A7 i& ^8 [; I( l, t- `) Q
    ,...,f 7 ?1 K5 Y1 ?! @/ D3 \
    n+ ~0 ~+ ?8 B; }) H
    1 k9 D$ C& U  o. b
    )
    % L. a& l* I- X. R2 k/ A( O8 MT  \8 L$ c3 m0 h6 d
    ∈R
    ! |3 q% R, K) ~: w# V; wn
    ' B3 d: b1 K8 h" v! A0 H ,有f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T}Lf=\frac{1}{2}\sum\limits_{i,j=1}^{n}w_{ij}(f_{i}-f_{j})^{2}f
    & u" t' V/ q# i. N2 c* v& kT, I8 Q2 k. Z/ k" k4 m
    Lf= : A  [5 l* P4 _! n! k+ F
    28 E- [8 B8 X+ s3 K! [# [1 X$ U
    1
    : g& W+ n# b( q5 N
    % g+ x  J# I8 {0 ]% v% z  y0 b& K. j+ Q+ Y5 S
    i,j=1
    8 U8 j) N) b% v7 p' @, d" u0 ^5 u; G4 f! Y' C6 m9 l5 M7 u; D" y
    n
    & d4 C& a, z  X& ]) H4 H* y
      p0 Z- |8 Y0 K8 |0 o w   c4 X+ @5 K! P7 C7 K
    ij
    - E, y; {( x( k9 Z9 X. T+ b
    3 @& p# T1 c: F (f 9 q& e7 z( B9 z( `# p
    i
    * h, s1 {3 H* N$ T5 A+ a8 U) ^; U/ k0 ?. a
    −f
    . r  H1 s4 m4 O6 Oj
    1 W5 C" u/ K- m" j& q5 _) V" q! ^  ?; {8 _) }4 Q5 [# [
    )
    4 A9 Y$ o0 |1 {0 l5 g1 `! X2
    3 L9 s3 G) \. W) I6 x9 S
    7 f" f  s( A9 `5 oh 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 c3 z$ w9 z5 d- Y
    h
    3 _# S+ S+ M0 mi, e: ?/ d1 I2 N/ G# G6 u0 `
    T
    # \0 F; E' q; @" m" a
    ! u6 [7 H& ^8 A6 z3 } Lh ( S- }. W! \5 O' n- a
    i+ [/ [" r9 _0 O/ Y9 ?$ l; \

    8 V! c" x! p4 N = ( `0 L! \2 o- k* V4 y" {
    2
    : k( C$ N% q, L& @1& A2 i; j4 e4 f  q9 J
    9 ]) h% ?7 Y$ x- q% y3 ]

    . e, u, ^4 ~8 J9 L6 Y/ U' \$ xm=1
    : v2 v0 M% ]% l4 D
    9 J. d) o6 C0 p+ g" T+ [: n' r8 f( z, N1 ]0 s

    * }: H) k/ o0 d* m4 }n=1- Y+ B* ^+ q  }+ g! n) J
    # Q, X5 O& N7 A
    : e3 i' c4 d' t( R
    w
    4 j! ]# r& r0 p3 f* imn+ ^7 X& i( ?3 H: }7 r/ X$ s
    , `9 j( b2 \' K8 g& _8 X) w
    (h # o& Q- N' r* y/ t* l- h
    im
    8 |+ W: L" t, l/ ]- ]& `& v$ w/ P* ]1 m+ Q
    −h
    1 g# Z6 E( {; \in
    # p: r% w6 ?* u
    0 E+ r8 P2 h! _6 U% U2 I$ q ) 6 q) H. C! N6 m- u. ]: j
    2
    + |# j1 o6 ]& m& ~7 f( Z( c5 k =
    + r5 l7 D; O! `; B) I∣A ' p" V4 A# \5 j  z2 R
    i# B% ]' f2 |) l" G0 b3 u  i
    - n, d! |+ P& u7 g! ]

    2 k5 P6 {! s( D4 L7 ~4 rcut(A
    - A3 W0 y0 v- U6 A' ^i4 ]$ `- D2 S6 {9 s" j5 F
    % s% x! |7 o% B! A- e, H$ x% G
    , # Z3 r4 R4 @1 o! x. y
    A
    6 m; a* ~. k, o# a2 T  A+ Kˉ! K% R- J2 W8 `, U* c' D7 e# P
      n/ S# A' x0 J+ t! ^9 k
    i, O4 R! f- F1 t/ W  u$ j5 P

    , `- B& B$ k4 [0 z0 D9 J )/ Y+ b' e3 A. `  y

    * D' p: |6 s6 X: J& ^7 i% Y
    4 ]" W5 N+ J# G/ m! H" N& W. P5 G
    . I. t  ~0 ?( x! t4 u! ?严格证明过程请看刘建平博客:链接" K! F- V) O5 A5 [
    可以看到,对于某一个子图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 c5 T5 w/ P3 U' [
    i9 [- J" b3 K1 ~# D; `3 d+ }5 E
    T
    + F' h7 B! A- b# @! c5 x+ M' p7 s: @  S7 W
    Lh / M& l4 d( H& Q
    i
    . `- \  X$ J0 g" T) H/ U3 l: j' w0 [+ W9 A  z+ L9 ~
    ,那么对于k kk个子图" w" s$ u6 Q6 g/ u

    4 L' A8 H/ k1 k: l0 r: yR 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)
    * i6 ]6 ~7 [) X: L- ]' aRatioCut(A ( H; R2 W0 Y% \+ M
    1
    7 \7 O* n6 i7 \1 s. b" f9 e2 O) V# r$ U' m
    ,A
      ]2 m' s6 E) f6 L9 f7 ?) {2$ i) y# t" r* [2 S6 R

    - p5 _. i8 @- M3 l- ~ ,...,A ( {2 g& Z- M5 E% \
    k
    2 Z& n( c5 w7 m& O
    7 J2 F& w2 |% W* x5 V# M+ U )=
    : n+ v3 l! g, r% ci=1
    ( B, a3 U  |. m- A& A
    . x! y5 r1 `+ a+ T5 I; Tk
    . A: r( s5 s- q% a, ?- q- c  x3 U2 C: c6 T
    h % V8 o+ n) b% W5 ~+ Z; ^' p$ `. ]
    i3 c6 ?5 O& C9 n6 u& K
    T
    . }7 @! `/ q. X* n8 d. w
      {1 @% ]4 e& H  \; Y$ q- ]+ }, T Lh
    % }# n2 `$ M3 K) Bi
    5 ~/ W/ m. E1 x0 m( Z
    0 ^6 V3 H. {6 S( E6 q = . `# ~* A' }3 W9 W" j4 @* a
    i=1+ V+ d0 s0 @9 i0 Z2 G5 `: S

    5 Y' r4 b  H% V2 ]% B- M4 n0 ~k
    / q( Z* i% Y& O- U' y
    $ Y& @0 V- E; V8 `6 P; x (H 7 |2 B+ T, f1 I5 V, s
    T9 L  K, ^: K- n0 Y' G* z4 m
    LH) $ T, C+ N5 J) F3 D7 o0 }2 ?
    ii
    " J- T7 z8 ~8 r
    + C. w' |- X  Q2 b$ }$ C4 @ =tr(H 3 Q7 ?: w4 D4 J- c. Z6 ?
    T# k7 Q& k8 `; v; ?$ x1 L% Q$ m3 |9 L
    LH)
    , K9 C4 y& Q8 [# ^# k( Z8 y$ [7 I8 g2 s2 f3 v* r  @& b
    因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H   C% Z2 g3 g( G4 T1 Y
    T
    ' A6 ?- s7 {  P" X1 J, N. p LH)。又因为H T H = I H^{T}H=IH 0 j) p* v9 X9 g% D+ u$ B$ L- ^
    T0 n5 |: P1 N( a9 N/ N& N
    H=I(单位矩阵),则切图优化目标为9 [. ^$ v/ Y: M1 [! b0 A  n
    % O) f1 e9 k5 |% x5 K! j8 S
    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
    , b* U, m4 S8 GH+ X2 W1 G, Q$ G6 S" \1 D9 ], _
    argmin
    2 v" m# N% \; Z2 c9 N
    ' \# H( |( M3 K: d# s! m0 i- d/ N0 j! i) n6 p' i
    9 Q& z- [" ]0 e, q. A% A, }
    tr(H
    : O3 @$ h& ^5 E/ d! d7 GT6 C/ o1 J& g1 T, M
    LH)s.t.H   r  L3 Q# G5 Z
    T
    $ u  u1 D# v) |4 S& b* m9 S" d" ]. v H=I4 F  r" V) l" H$ n  z5 O5 G! l1 a
    6 H4 i; U# f5 j% k9 G
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H ) l6 n: N& C& ~
    t: j, u8 ?$ N! O. ~: o
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    7 q$ }5 X/ S3 W! W7 z8 N/ H; n' A% mi
    8 g$ z4 z4 `# ~T
    , s- G7 g3 c9 C' k/ j4 \) C  M/ F' X% B* r# u
    Lh
      _+ j8 K! f# y) N% d2 `6 ?3 ei
    4 e$ e0 X! u# A* x2 {  B
    0 U% a3 ~2 v# S  w, ^) F ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h
    . v. x% D0 k, ?6 vi
    ) f6 `( k+ [6 E6 F3 E$ r1 WT
    # B" N* m4 N0 W7 V, N' K7 E: }; k# H& |# C4 P! g9 s1 T+ [
    Lh 6 a. i. u9 i( t' x- R
    i
    " Q" p" _" U' e, ^$ d
    2 {4 r7 W; P& A0 b5 u 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h " |" G, W' V7 t  k
    i  {* A$ v4 e7 M; p4 [
    T
    6 n9 B' [/ ]/ O6 b9 v9 f0 _  X: h! Z7 [" M" F$ A$ J0 {
    Lh
    0 U) Q' x1 w# i: w! q' `i
    6 |: m9 x+ s- @+ i5 f! f: h( j. I& l+ y6 P& q
    ,目标就是找到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
    % p$ d( p; h* h/ ^* ^9 Xt
    8 L2 Q! u! Q  D& N$ A LH)=   p1 O* e! a2 w6 P6 a
    i=1
    - ?2 c1 t- I3 e) f8 ?$ `, ?3 F5 g3 @
      a6 ^( h5 t- Z' J: O  K0 [k# u" h* s: i  V/ x3 d  R1 [# ?

    4 |3 k" w0 L9 U4 D) t1 q h 0 w- k8 i% t1 _/ o, ^
    i
    3 j8 r" }) X! G" s8 A6 AT
    1 c  U  D( |1 {" F
    1 b/ S; J/ `+ C7 n! Q1 P0 K9 O Lh & U9 h6 y2 S) {, n* r/ M# _
    i2 u* ~* |( t, w6 w8 a5 ]
    ( ~  \0 r4 k( v, \& H/ K4 G6 K
    ,则目标就是要找到k kk个最小的特征值6 X( T  k) q1 N' ~: F

    % z; E) h' b: _. \- Z; U- h5 S因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下
    % |8 g4 `" f( e8 D4 G" _% L# F
    7 x( C8 r) {3 n, {$ l3 s/ o一般来说,k kk远小于n nn,也就说进行了降维
    + ?- }3 I) ?' Fh 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}}}
    0 Z* {- z& E) b( l& ~+ z& Vh   C. [/ \$ @; o+ s
    ij8 n5 L: i% C3 u; e2 q2 C6 G
    7 L0 s5 A$ U( Z# P1 \) [6 X
    3 n  H7 Y0 ^. x
    = + J1 J) }3 P- b9 y
    (
    + l4 X  T" J" u0 a- ut=1
    / W# |0 I1 U7 j- n5 p' k) P9 G! X- F0 u& n8 h7 Y
    k
    0 e  u/ {7 U0 s3 ^# Z2 V. y' C; `
    ) N0 l3 Q- x; E  V" d: }0 k& N; h  k h + Y6 p/ ~# t0 E$ G  ^
    it+ C- n% O8 u  }* L& }( |4 k  C
    2  p3 Q8 K5 c6 S; l0 z2 c

    % s( x( ^  }& q ) % ^$ O9 N1 z; w, P
    2& N/ [0 m4 q1 |. j
    1: n& x2 \/ d7 W: i3 Q
    * i; R( ?% k# E: ~+ y# q
    1 j+ X7 F2 K8 N% h
    9 o, f, H) G% Z5 F
    h
    : E2 C$ t" f+ e' x1 @8 xij/ ~! h9 p2 o8 U6 _

    # K1 a# K. J4 _2 J  I5 m- l  [8 S
    % e1 Y8 z5 d% ^0 t* i2 ^' o

    8 ]6 g# [* ]# N* [) k- H+ f4 Q1 S2 W* h$ [$ B
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    # i( e1 }+ n8 A" k2 S7 Z3 R; Q! W" w$ B: B" |( E
    (2)规范割(常用)
    3 w& n2 X) g0 {$ |5 O规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A   G1 v+ h3 X2 G+ k; q
    i4 [- s; j+ ?7 o' G" G
    9 T/ U* w8 c; d) L/ m+ ~: z2 Z. o
    ∣换成了v o l ( A i ) vol(A_{i})vol(A
    # B( e2 k: ^5 M6 O, @5 o# ci
    1 e" c& A2 t0 k) M/ x
    3 C; S0 [/ k1 U ),定义指示向量h i j h_{ij}h $ a# t, f8 Z7 }/ x" x9 r; R
    ij' e4 r$ V" A9 z" _& K
    & [/ t3 L# F! F+ f( X7 l
    如下' N# j8 l3 X% a$ k: z0 `
    7 E' a6 h3 H2 u6 k0 y
    h i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=
    & u3 N; f* `  {6 P6 |. W* v/ W8 G6 ~{0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj2 `; V' s5 E) C1 k
    {0,vi∉Ajvol(Ai),vi∈Aj& a, R8 W  Z  Q0 `! e$ k
    h
    * }3 t4 r- E1 r6 `ij
    + d+ p* i; @9 u4 \) \7 F) \. [4 F. \" j% f* X- Q7 z8 ]0 {* N: P
    ={
    % T8 a& ]' D% y+ x! U7 f+ Y/ O: f0,v
    8 R+ n- r* J& r  C6 ci) K/ L. n3 f* U, F& w$ l- t8 b% s
    1 F/ w) v9 O( o1 ~

    . z8 z& W, K+ ?3 }/
    + a: b* A4 r" q9 z5 z7 OA
      j  I5 T/ F, j: dj
    2 s9 k* @, ?" T& D4 y# _( X. I$ M
    4 _1 G! ]4 o( S  l" N% k% h2 H* J1 ?& F2 I5 M6 v& X; w
    vol(A 5 F: v( g" Y# M9 O) L
    i
    1 r% H, C( Z$ P" A  J' d4 p9 R, _9 Q( x2 Z+ C8 n- _4 s/ M; N: }8 H
    )
    * \9 ?- U5 o, h
    + f  I1 M" D8 H" \6 i ,v
    5 i: W6 S8 C& m: Q0 g0 I3 Qi0 S" V. ]+ N+ b, K3 Y1 I9 O

    , W& K7 f  b4 l; O" e ∈A 3 b2 k' t1 Y" Z8 H7 i* M  k
    j
    0 w  J/ l1 k2 _2 b6 s5 S5 Z7 ~* v7 Q4 W/ s

      U1 Z7 |& W" U  Y# T9 a2 Y
    ( E- ]# X% G7 d6 }4 l, P+ m: T/ K" q- p8 x( h8 C

    ' T' B6 ^) f3 M: w于是,对于h i T L h i h_{i}^{T}Lh_{i}h 3 i6 k7 z# }; q& b# X3 [$ C
    i
    & A4 ?3 ~: p" m0 v5 V8 HT* A; L! a1 {; _' M+ i- \3 h

    / ~0 M% e! O" c9 m$ q Lh
    ' b2 [# |9 N) W" N; @  I! }  E! Ni
    . m( Q. K2 o& r3 y  C2 H9 t4 u$ k7 |( ~9 B# ]) A3 J7 W9 A  t' B
    ,根据拉普拉斯矩阵性质可知
    " L9 u6 V6 x# w6 i) o# a9 @9 R
    9 m; w2 q# }8 z/ u4 N, Q对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f * ]& X5 f0 a: I6 d
    1
    ) O  k; T, l! @! T: {: E( c1 q+ N9 C- a; i4 d
    ,...,f - s$ v2 X# _% E6 q
    n- V# a9 g3 R. R4 U/ p- s6 h
    1 V( p+ b0 n) F7 T
    ) * k& W7 _1 y# P- U
    T+ _, X" |7 T9 P' ^
    ∈R
    ( J" ]! Q8 B% Gn
    % F$ r. G; C, o ,有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 `; v7 c+ H- L8 N* M7 l
    T# p" Q# C: ^7 q0 \
    Lf=
    - b8 D+ z' y  I/ `2
    ; l8 c, T$ _& i# \1# N. F! A2 ~+ F" i% g4 d# u' _

    0 p( D& U* K8 ~  ?, V0 [' e+ q$ ?5 f4 V5 @1 X
    i,j=1+ E6 n$ S' j& T

    6 _# V. W7 e5 G; K6 Rn
    4 J, n5 y& ?% l, T. t% Y2 H% _& G# Y7 w5 e& y& Q. ?# z
    w * e3 S& j" U* o- B6 k
    ij
    2 J/ c* O* }) N, X$ L9 m8 I
    ( O: X( j3 \- d' n8 ^2 q9 O3 J; m (f " y7 ^! o8 X/ d- s2 _1 L" Q) X# Y* P
    i
    0 Y% t5 C' I# E; w3 [$ f
    1 L6 a; _# x2 B6 ~) G: P4 a/ h  b −f
    - m; k6 V9 S5 k3 v# f% t  a* oj
    1 N1 n$ Q- N! L/ X
    : T; l2 u; _) f1 B  e+ `0 p ) 3 w8 F5 ^$ z) O3 e! l5 J3 g9 A% P
    25 K4 z, `3 U2 e3 W  {
    8 }; y5 a+ L* e! 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})}
    % k2 [" I! @. D2 |h
    ( R! r& t+ Z( ^& S. C9 }3 R$ v% G0 n8 fi( T/ x! d9 e. A- ]3 E5 d
    T
    % z+ }: ^) I! C+ M8 s* Y, C& e2 |0 B7 A  b3 w
    Lh
      b1 t# }+ E/ E! P  G* Z/ \+ E" Pi* R, U7 X& L3 U" r; j" U% T+ q$ h

    : P0 O/ |2 r3 I) l9 r+ n% o5 _ = 7 [# o) M! q/ A* M# W  n1 d
    2
    $ M8 d) j2 b$ S' x1
    6 }! P* x& r, [+ K3 t, Z6 u4 Q) o0 b2 Q! B3 V( ?$ K4 g
    4 z* Z- X5 r5 h- m, e
    m=1( C4 D, T% q1 S! O
    2 T: S; `% @3 b7 ^

    9 z2 e0 Q- h9 k/ t: Q% ~
    $ z  ^( K# r( [2 Tn=1
      i% V2 X; C1 b- B0 n. H& ~: i  ~/ Y4 T
    ( u0 b8 _& N; B3 c) f
    w
    * R8 q% a0 l0 Gmn2 c5 q( e* I" ]8 M) R' m
    2 A5 _2 x5 R- P; h% y) ?& R
    (h ) {% P+ f/ x. W' V+ \$ @% @
    im- m+ N6 A* E% Z9 |
    & V; Z. j9 K0 J2 p! N6 {" {
    −h " q3 W  F- Q/ D3 j; a: \
    in
    7 a" L% b1 F) p4 X5 M
    ' t# P4 x& n$ B5 H2 o& ] ) ; `; U3 K5 @2 e6 Z! D; V
    2
    ' u9 I0 l0 g7 ?# @5 j% g* V# q =
    , q1 M7 q  t+ C8 W2 `. Avol(A 4 J4 \3 s5 W5 ?6 L& l* C
    i
    " K5 o' G1 M/ Y/ k. o/ p0 \9 f  @4 Q1 w! L+ q
    )
    & M5 p/ c  E9 y: A: E. jcut(A 7 G- v0 }. W  U
    i
    : \, ]" t% ~  z4 |
    , f& G& i! O9 R+ p6 k3 J. ^ , 8 r7 e+ Q/ S: K6 @
    A
    % q, U; [7 ?$ Pˉ
    9 l) c! Y: ]" j3 l$ \2 k4 l6 D. Z, t* l) Q
    i7 Z0 ]2 e; t! b& V
    ) t: N' k7 `: X& T' p" i5 N6 m
    )
    4 X! {" s3 u/ H7 v+ D+ D
    % a; N* J7 u; T# n% V1 p" k4 V
    " ?0 I& g; [0 n# V( i- m9 ^* }. N: Z7 l2 N/ ]7 c0 h
    严格证明过程请看刘建平博客:链接
    # p$ v/ }" F  \6 J- o可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    ; G3 s9 j( B( ?i
    * E, n, b% O) }& j) oT
    ; {3 [3 u: K) m  f! y( b; v" M5 M. V
    Lh . @- E& g# ~# M  K) F& q
    i
    , l+ q7 A, U  R7 f5 y
    ( ~9 F  h) [* J ,那么对于k kk个子图2 B0 {3 T6 Y* Y, z5 ?( V  i

    % v4 {9 d5 ]0 ~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)
    ; }0 n  \% w+ J2 tNCut(A . S8 Y; N, t$ l# [
    1
    : d$ P" Y$ @8 K1 M$ M$ B& K: ~0 [% g: b5 G7 V- `  R9 H4 L* R1 J5 D
    ,A & ^# |/ ~' U* \/ H  J. C3 o
    2
    4 P' l7 L; T- U9 B8 Q8 G( C. y5 H+ d& \8 g
    ,...,A
    # ~: l+ i# _( ^# k% bk) I% Y4 E# _6 C) ?9 q3 _

    1 L- b  z( V/ S$ [ )=
    + \+ G; ?6 \) y2 fi=1, G" H6 O  X  i- H1 z/ c
    1 a  d5 u' W& {1 a8 Z0 A7 T
    k6 k9 B& x$ m  x
    ; V7 K9 a. E% G! w# K: L4 |2 t8 B  q$ t
    h
    0 @' o- k" O. hi' H& N4 K& f' j# G' s/ o
    T: G; m- }$ S# X3 I$ x3 a7 R0 B' t
    $ a, A( y! f+ e- m9 q  L9 M8 A
    Lh 0 r+ r0 i' f9 f& @( U/ \
    i
    1 o0 {8 U/ ?! J4 x! k4 |4 W
    : a. i0 O. ~$ U% ?" Q4 O = * ?9 m! g2 R1 Z% q: r6 T
    i=1% A6 n+ ~+ F( J# p- W

    0 z$ D0 u2 L3 G" k: N; R. g% |k. R& @3 ?. f5 `
    , [! y$ @8 z! ?7 i( @
    (H
    ! {  |4 q8 E. }+ S1 l. E0 F4 }# vT
    4 R" ^; K7 X3 d' G; x+ h LH)
    ( @3 K8 U8 c" Y8 |( a9 L4 a% ^2 Z, N- ?ii7 v  p7 R* e6 \0 ^' z

    ! I. p! ~& i  C8 x0 R- ?* j =tr(H - L/ O4 P8 z- L( I
    T
      E4 _- d* v4 e& ^3 l LH)
    * D& R$ Y4 z" [5 k3 z5 D: R) i3 m- k' `7 b" i
    但此时H T H ≠ I H^{T}H \not=IH 5 m/ M. ^4 M8 `6 i! A$ @
    T6 D' p" l0 x4 a3 l$ ?) K% y0 ^% a; V
    H
    7 H2 P. q* p5 \5 D, t# p% S
    & A: ^& l: _: G1 A/ b=I,而是H T D H = I H^{T}DH =IH * E0 P& Y0 r3 a+ o! w
    T
    % o; o1 c, X! b# a DH=I
    ! L, l7 u9 k6 T) \
    ) G" f& a$ C5 e' f7 w7 Y( s这是因为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 ( j; h$ c: b; ^$ J9 \  |
    i9 {( f- g: R$ B! C1 Q& ?: Y1 J
    T
    ' ^0 O; \1 e- B; h4 H9 a% ~
    8 c/ H7 S& q) N* R1 a- d$ M Dh
    " v# x. {4 \7 [( N0 _i
    : V/ s7 \7 A3 u* x3 q: q  n0 U5 u1 Y) B3 G6 I' ~
    =
    0 e# q) u& W' P9 K7 q+ Jj=1
    * y$ S- V* \; t( j. ?+ ~8 s4 G- n  P) t0 |/ U1 }2 e$ a& b* x% b
    n
    5 M+ M# I, ^. p* j
    & @" b& _1 L- R8 [) q; [* m h 4 i% p# B# W7 B2 o5 C) C
    ij
    * K: }6 V' q# v1 L! w2% {8 b" y7 m  w" a  f8 B" f7 L- _

    0 B4 X& w3 n$ d8 q. o' R d
    : [( ]! Z) Q. E) r* Aj
    3 S: |' e( ~+ R  _# Q! S/ f% J% M6 u: e0 W; c% Q) k3 {
    = ) y* s1 x% S# _' ^1 p' J
    vol(A
    ' m6 i  R1 H; W/ c2 W+ Ki0 c+ G0 X/ p2 E& q; u8 Q

    $ n( p5 K1 |) q1 @3 [+ j )  c) k/ ^; \1 c( a' o) N. F
    12 y5 k7 }& W( G

    $ R! g$ ^9 h) t" |: {3 h
    ( k) ]6 b8 F$ k" g- Mj∈A   d5 \& h) e9 ~' v
    i
    # t2 w  v( U1 R* h) [3 J. t# m7 A2 B  g/ R! H* |6 R

    + _$ ], O, T% v' s4 ^. d( w% c
    $ T) [! L, w$ O- {$ s" Z' I* Y* P% e: `* S1 T
    d 7 f& h$ x" t# V4 |  x
    j; M. S6 n' @4 A: z9 ^$ R3 h, P0 T( C
    . ~. T; a9 j9 I- n
    = 1 C+ N2 j% j8 L. f9 u+ k
    vol(A 4 G. W! C& Y7 z6 D8 c0 z
    i
    3 N; c9 @- N! s2 G0 f8 J$ C% I
    + k+ L! o$ N9 ` ); h+ H- E3 K8 y$ O+ U4 c
    1# g* a- m3 D2 }1 Q7 W7 N4 M: ^% Y

    ) `- Y- M8 E* A' X2 k vol(A
    7 h/ _/ Q  e: z2 g( J" K3 gi
      R# N8 a0 E& e  H/ c" V/ D' e& G8 b) E9 c4 o& I
    )=1
    8 V" V" O7 X8 h' Y% B* n因此,此时切图优化目标为
    ; q4 U4 |  ~3 o6 T, H( G- |' `
    ) e+ L0 x+ B+ |6 ?$ L# Y3 ya 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
    2 X+ X) y! r& ^- A6 K# z" P7 uH! t) Q- n6 r/ z$ |. N: o# D9 s
    argmin  C) ]# {3 O) [8 _
    & S5 c$ W6 J  V# X  U; C) h4 R# t

    3 {1 q7 b& I. g8 i4 E
    4 [8 r  S$ z7 c1 C tr(H
    ( e1 b/ c* ~  Q+ i* ~% \- h- ?T
    6 Y6 ~4 y3 _% W8 t  N2 T LH)s.t.H
    9 j4 r: I) [2 e7 J6 R" h) b- H% ?T3 l2 ]6 E5 B: B$ c5 l# `
    DH=I
    , p  A: n4 |' s& q. {
    $ F( _& \5 e# C. v: R! ]但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D 4 A! E3 X, b" w6 e5 K/ c
    , q& {# R# B$ ?5 W' Q
    22 v4 ?. y' W8 f
    1/ A# @3 K( P4 m. Z2 K: J4 {
    1 X9 Y; G+ j" b( e6 s6 w
    " ~: l/ O8 C! m9 @2 ?3 s* s5 `
    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
    . c2 ^# D. Q7 F. YT% K7 A; r+ ^$ Z( h3 @4 M3 B
    LH=F
    : V, P  @( ?/ m  Q. GT
    - R- |6 U3 k$ q4 Q$ H. r3 ? D
    / k* i! X* J3 f- J7 q, Z4 Q) y
    ' s- a' H: b2 o9 v2
    : ~) \; }' i+ J$ W( c7 l" `! I- B$ m1  ?1 U( o8 j5 m
    9 Y+ {& v1 C# d' r4 G- R1 q/ U

    & W7 A* g* c9 D! }9 g$ U  o LD " p; q0 ]6 F( o! Z. _

    ' y  Y7 V2 M6 z  z- |) \" y5 U2
    # B9 H0 _9 H  ~' ?) L1
    & i6 _8 B. r: n* H% r- a5 C& O! c/ A; F2 M) m4 p( N
    ' ^0 f& `+ K! k; b0 u  h
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH
    - Y3 q- R9 v0 DT# m7 e/ c" ]1 D
    DH=F : d! k6 H. b) D8 s, S
    T
    , |- w  k! F3 H+ V9 ~ F=I,于是优化目标变更为- }: g' A. k7 g. M/ X% ?
    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=I9 s2 x7 C' q) @
    F: j4 l/ P: M! }( X
    argmin4 I( i# P- j  T7 F
    ! v3 d2 V! w: M

    * Y# |) d5 |' s# g* w  a# [( ?% o7 N! G& ]6 |" b
    tr(F . f- ^' F7 L  D
    T1 y7 f2 q4 J- |% i* S; I+ l
    D
    * Q4 J9 O9 d$ F7 w) O1 |
    / l) ]  z, E; H9 R2' U, {! r) s( X: e! _) G
    18 E9 T) T( v1 @) H! l* _0 ^
    $ B4 e9 `2 r: e

    ) q  i- m" \: s/ s. ` LD 8 j4 o! {/ ~5 X8 q
    / G- }7 n/ `4 g* a
    26 |5 u! G! m* k9 ~
    1
    ) @6 {+ k3 C2 q! b, o
    4 D! T% t7 v" a% L( x0 N  S" r% r- M; B6 C
    F)s.t.F
    4 y) ?, ^5 V: W2 \T  F" v) t' ~2 c- ~
    F=I
    $ ^( C6 ~3 \6 T9 f+ \; w  |3 u$ h3 e% x
    现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
      K# f# c4 P4 Q. n* H( @* [: A, r6 v- Q) q6 K+ ^5 s0 J/ q+ X
    2
    & e6 G5 E: o1 |1
    / N) ~* E5 N/ U7 U' z( [% m
    - \7 ~% D' n# N7 Y. d' y6 I* }" J: N& R2 w; V! u3 Y
    LD 6 T# l& d7 e% p9 k& J: W# `

    0 Z* c4 _8 H+ b( Z7 n2' h1 }' e2 A8 o- S5 x8 {
    1; I. ]& y* V+ ]* t! _
    ; d: @+ d4 p3 ^  H" p' B

    1 H' l) i0 Q7 K* @  F7 T (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类% }! k; B" D) d% O) ^5 N

    2 f5 t6 b" W* h1 N% a  j一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D   r, [6 H& h2 H; F7 y7 m3 G
    7 M$ ], t0 I: S' [) b1 s7 ?
    2
    7 l; O/ u& q7 Z" P' ^6 Q" x1 v' E* e2 h1: v" f/ E" I8 d  z+ e
    - l4 M: q' D9 W# P: [% w# `

    ) i, O  Q4 G. o* y+ k LD % Y8 S6 L+ ]  r# M
    1 n. Q. r! z: |- m% s' h
    2
    : k3 P2 ?  ?/ f( T7 D1
    & h- a* ?7 s2 M' J7 f7 R' i3 z
    ; Q: |7 Z6 o! i0 q& ^' g) k) {
    0 U- a. c7 t" C( n  K 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}}
    ( y! u! Q, S, x, u/ ^d
    5 h( {: I: i: O* V- e" vi# V4 P0 @; `" p, e

    1 A; L+ |1 _' W' R2 f ∗d 4 `( h' i( ^6 z0 N  g7 @- M9 |
    j1 P( e6 F# E( b: L3 l+ A
      G7 F8 |) i! }; p
    % O1 e% ~7 t# s$ K" h6 {, ~' |6 V
    1 O" l+ {: q( V, _' R3 x1 E

    $ W% g, ^8 m: {1 r: r% o4 rL & E: Y! ^1 H) A0 O/ s) U. U
    ij6 g8 y% b4 E# F. Y; w
    / A7 g! Y& b5 B

    - b! C- [0 J( [6 \) W# Y( W+ K% o7 \$ h" j$ ^$ X+ d
    0 _" b+ T- `$ T' c/ `: d5 i3 K, C
    二:谱聚类算法流程* c& b/ q! h5 n& A# T
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    : t8 [0 D$ Q0 E$ J+ W2 w4 X2 w0 c19 b: P' P% v- L$ H

    $ @" x0 V; c! ]# m: V7 Z) |' H ,x
    & ~7 [% Y# |/ @$ d/ O% E2
    3 h. w& F$ _5 B) S. M! V, X2 Z+ x
    & G3 b- Z* z8 E7 a6 F+ `' H ,...,x 3 w( ]5 D' o1 }6 ^( D
    n; R6 d1 i4 e5 N

    " N# J$ Y; Z- X% P5 e1 D: N1 {# c8 f }
    ' C$ y& t' t! r7 `/ L" ?0 t6 L4 B4 e$ o: r7 T2 I: V! o/ W
    根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)- a/ l. N1 d9 L
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD; u' }# x/ k7 {5 P  j/ H
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W( ]+ g) \6 {, z1 F8 g7 m
    得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D % I7 Q1 b% Q5 ?; \" z: F) t- n
    7 e4 t8 c4 ]: {( k& R" c4 M$ e
    22 o2 c4 Q) k: V' D) p( K! V
    14 k: S; g& i9 U& B% V) B
    + Q3 y) S; B) }. M

    : I) o' Y- t" [+ U6 Q0 G' o LD
    6 o5 w  I# {" _; D
    # c  c$ D, P1 K2
    7 G4 V3 L! q% U$ e4 k, x$ {0 C% `! k1& M4 n+ q# t! d: i' T

    7 S$ k7 N" L4 X: `! X' x! Y" w4 _: C% Z8 B. j# F! S: d/ [& u

    , S) a4 Y- o9 n' E  \/ @计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    % ~0 F0 L6 c) o
    / c/ \4 V9 @) q. }2
    ' {' C0 k% F% [. P3 H8 i14 X& N2 t7 N5 R" @; ?1 S; k; w+ F+ _
    ! V3 M/ L) ~) w8 l
    ) ~- b' U+ o: y6 ^- e3 Y$ Y5 [7 k
    LD
    8 A. _$ P0 r: N7 K+ h! r
    . T- Q' q' c! a3 l( B7 f" N# z2) U/ s7 \2 ^) M( \
    1, W" K4 v; d* c1 W2 ?6 N/ J

    7 ~8 x+ ~! s/ k$ L7 f# U. Z
    % Z9 b  d' t1 ~3 [2 j 最小的k kk个特征值对应的特征向量f ff
    0 i# J1 S2 _  J4 T$ F将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    ! x+ h$ D, }: A. w7 _* nF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k
    0 D$ b' a% q( _9 D5 U
    5 N& j: b$ k( ?, z: T1 g  C+ a
    8 f3 v5 K$ z7 d3 w8 d6 @得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c , `: \, \+ |' Q
    1
    0 d% W, L( _& `- ?$ c- e3 f: V: N4 L8 U( P& L' E* Q+ i+ t  O
    ,c ) e7 @. E" a" T$ d
    2
    + V# C: `2 e2 q: A+ i& J( Z) R- C1 A1 ^+ A% F
    ,...,c - |2 d; l" }" Y
    k   E4 G3 V1 W! Q, D/ b9 H3 h

    & k3 b) ^* w% }  `- h! s0 ~% z; T( |' e" T% O! F, V

    - t! q6 T' s1 F1 ? )4 f/ D. e6 o  ?6 H8 N/ P: h# |$ f1 m
    三:Python实现
    . O( i# G0 i6 @. G, _% }' Y& timport matplotlib.pyplot as plt
    2 B$ ^" Y- y: t) W  a" }# K6 [import numpy as np
    / z0 {0 n8 m$ W2 Mimport pandas as pd, F+ f9 `! p5 ?, }- Q+ q
    from sklearn.cluster import KMeans
    & K5 ?: Y; a& b3 r/ W6 jfrom sklearn.metrics.pairwise import rbf_kernel
    & ~( I' e: f4 a3 s- M* N# wfrom sklearn.datasets import make_blobs0 c, |4 _, |" l, [4 B
    from sklearn.preprocessing import normalize+ ^' H* A. O! C! K- E+ _
    1 o1 Y" y! E. N5 x& w. C0 K6 \
    def get_affinity_matrix(data_set):  e* F) C) Z9 z% ^( ?: X$ d" w
        #  利用高斯核函数计算相似矩阵(全连接)
    $ Q( v; x1 p; W    rbf = rbf_kernel(data_set)6 ?8 q$ @: Q. O! y$ R
        for i in range(len(rbf)):
      X: d. X: D2 o  m/ o# m        rbf[i, i] = 0
    9 T; B8 `# l8 U* h# W4 X) }    return rbf
    4 i- \! M  ]; R4 L5 J, [7 r6 ~% y4 X4 A  Q% `
    ' A$ D3 o$ S$ e+ B$ t1 r
    def distance(x1, x2):
      n4 J- X" E$ {+ i3 }; ]0 b    """
    ' w" O; z' Z* h5 b) X. d+ ~    获得两个样本点之间的距离
    ( y. o8 `' k" ]# q; @9 v% S1 g    :param x1: 样本点1; z9 c, g6 o  g4 M/ y: K- }
        :param x2: 样本点2" P3 J6 |2 S" U( Z- |
        :return:! P1 U& s$ k- y3 Z( o
        """
    1 g* ~5 N/ ], S) A3 ^- S    dist = np.sqrt(np.power(x1-x2,2).sum())/ n4 ?: o8 Z0 n$ q9 E8 V0 j* _
        return dist
    & E% W7 ^. \' A+ Y- v/ ]7 _1 B% t# B* I$ H! {( b4 U/ `8 T( ^
    def get_dist_matrix(data):% [0 `, F' V9 e
        """! F+ K% G6 G4 X7 ]4 [" s2 z
        获取距离矩阵
      U/ y6 ^2 I( s+ @    :param data: 样本集合
    # k7 ~8 @% g6 B. ]( b* Z    :return: 距离矩阵, a' X/ O- y+ o& R
        """& q8 H' B2 z/ `* ~5 C* Q  t
        n = len(data)  #样本总数
    8 D$ g4 O/ H( ]* q, u/ g    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵, H6 o& K7 Q# h0 d2 }% u
        for i in range(n):8 b" Q  i, \2 H* u+ @) v7 L2 l
            for j in range(i+1, n):8 o; [( Z. M5 A: v
                dist_matrix[j] = dist_matrix[j] = distance(data, data[j])1 m; ^9 e% ]* N5 F9 `
        return dist_matrix4 ?% t% q6 i% G9 [% {4 c

    2 U! G, q" W- q: H3 w/ Q1 udef get_W(data, k):3 K2 G( [' r# b/ R; [: L" Z* ?/ E! }9 P
        # 获取邻接矩阵(K邻近法)8 Z4 x5 O- a' u% Q% W/ R! B
        n = len(data)% {  B% U) @1 ~$ ?" x3 z2 |
        dist_matrix = get_dist_matrix(data)( C4 m! d- }7 d
        W = np.zeros((n, n))5 ], J1 j7 Q9 i6 f9 T+ b! k  }( G, y: w
        for idx, item in enumerate(dist_matrix):
    0 b; Y4 i: ?; N        idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表, D3 Z& W/ L: |5 F" t& U* K, O
            W[idx][idx_array[1:k+1]] = 1
    : G& c6 ?1 h: E' u- W; y. u* {% U    transpW =np.transpose(W)
    ' y& v9 k$ c8 [4 b: A$ g* l    return (W+transpW)/22 j/ ?& ?3 F& f( q  a

    + f" }* c: x* x* ^def spectral_clustering(data_set, k):
    % L: I" k9 J2 ~4 s    # 利用相似矩阵S得到邻接矩阵W( q% `+ n/ M0 X0 I4 N; x& a
        W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    4 q1 P1 X: N7 T2 Z$ N6 `# J4 y    #  W = get_W(data_set, k)  # K邻近法
    * O2 r2 @6 t! q5 d+ o
    ( G# m5 Q" p, E  |* d1 Z. m9 |    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)" `" r% B) T$ s' {6 L8 X  m
        D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))/ z. N' O2 X& ~+ `( c

    8 T7 w0 \( M6 V% P  j    # 计算拉普拉斯矩阵L=D-W9 ~7 Z+ c7 c% u5 B* s
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv& r0 Z: ?: H9 Y% _3 m" H$ W
        L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)
    % `9 K7 m6 _! t# S% A# z" Q  e1 y# {% O2 c% u) E4 k8 ?1 S7 T6 x) f
        # 得到特征值和特征向量
    0 }% x& k% D& Q; w' d) Y1 h    eigvals, eigvecs = np.linalg.eig(L)1 t! C$ S. W$ K/ B+ K" W

    3 X# t' g+ U% S$ {2 i; W    # 找到前k个最小的特征值(索引)5 ^6 C  h4 ]3 B' M5 W
        k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    * @* W0 Q# s3 w; U% {
    " I: K8 n# P8 E% ~' Z    # 取出这k小特征值对应的特征向量,并正则化
    4 S% ?" @+ \% X    k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])6 z$ w; e7 M/ q
    - m0 k) A/ {5 d; e" E. N
        # 使用K_Means聚类9 `2 S& E. e* ~. p7 t
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    " c) S0 [) j$ u) b: X0 }9 W6 o  |: |
    % u8 z; x) g' ~
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)
    7 f& D. l  `& s- [raw_data.columns = ['X', 'Y']6 ?* \2 l, m( @4 l
    x_axis = 'X'
    , j. z; ^. B$ z$ @+ |7 ^y_axis = 'Y'
    3 U; R) x) D% [
    " E* Z2 g2 v2 L/ S2 [examples_num = raw_data.shape[0]
    7 v( @: a5 l, ltrain_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    5 B& U) [3 y: w9 ^: b
    0 V1 j* T" W1 f
    % k4 c* H, X' h1 K- wmin_vals = train_data.min(0)
    . c, }8 Q% [+ T1 E- l- wmax_vals = train_data.max(0)
    / F5 I4 ?: y1 }6 Yranges = max_vals - min_vals
    6 L' H3 v9 _2 t2 x3 [2 Snormal_data = np.zeros(np.shape(train_data))
    / Y5 V0 B# ^! f8 F: B3 b% Onums = train_data.shape[0]
    + g& i* `/ o2 \# S% \) I7 znormal_data = train_data - np.tile(min_vals, (nums, 1))" L* f% U; e+ h7 P# e/ p6 P
    normal_data = normal_data / np.tile(ranges, (nums, 1))
    ! b4 }; x. N2 R# T4 q+ d: B! N; v* O2 m/ N2 ?% t$ H+ Z& Y. P0 V
    labels = spectral_clustering(normal_data, 2)% C5 K4 T) p- v' }% h) m
    " s( M% k; Q3 b6 \( U
    # 原数据
    , C9 V9 C2 z( b8 k' ufig, (ax0, ax1) = plt.subplots(ncols=2)
    4 N, C/ H# i3 {0 u0 f2 U! D0 jax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')0 l/ B3 l! n2 O
    ax0.set_title('raw data'). B; n8 u1 E2 h; ^. j+ d% U4 g8 y
    # 谱聚类结果
    6 w* P4 j5 v# kax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)( @7 d/ {0 q- ?0 U9 H
    ax1.set_title('Spectral Clustering')+ ]9 x0 M3 y" K

    - v" j) [. [- y) E5 r, h, Tplt.show()
    ! ~7 ?; \2 ]  b5 O/ ?2 R/ Q' W+ v1 ?7 Z( h& O7 V4 M. F7 t
    16 q/ q: Z" Q5 u7 V
    2$ w8 U& A, Z0 V, p2 v
    3/ J7 B' ~( F- Q
    4
    $ |/ B4 f% w: p# b0 \+ v5! u7 T2 F" N& S5 Y; ~5 p; Q& a
    63 j& X+ ~* M# _; A+ K2 u5 r
    7+ k- Z9 z( U. s! x1 K# ~# [
    8+ e+ e: q8 f0 s) h( x2 f
    9
    4 f" h( {. `" g3 A* |10% j; u5 f  n. y6 `3 Q# Q! \& o
    11! Q, k/ i! w* R
    12
    : W9 S! R7 `" O7 f13% a7 U5 Q; T# x4 z- d( N7 ^" ]
    14- I. [. L* Z+ N7 o
    15
    8 Q3 m) n+ b' b% ?, q4 d) P( R16
    4 E9 W# d- q5 A171 Y% b- A$ s- i; \" S! P
    18* j: b9 L' d$ V# F) y+ }/ ?( l
    19( a/ t! n" m$ I) }8 N  r
    20% g8 \1 v6 Q" F
    21  {( Z. |0 A# x0 j: K; O" T; `: H
    22: \8 b& L* D9 `5 e1 K7 z
    23
    - W- O7 I2 J7 P4 P24
      R# d8 q, j9 N& T6 X25
    ; }: O3 O" |2 e5 ~$ i1 r26
    ) D* L7 N0 h/ K3 L  ?27
    $ D3 {, x7 D( Y1 Z288 Y# a5 D# |8 Z' v5 V; }+ `. P2 L3 N
    29! s- U! z( w3 H9 @
    301 W7 s5 o4 _. \" u9 X# ?
    31
    ' S. W( n" i+ p; c( J32! K$ \# F3 ?6 s! D+ c1 L2 _" @) n# u- j
    33
    ' {  q- s9 ]+ t. e, P34
    . e( g$ b2 @8 \1 `' X5 H* Z+ j) Y8 Q358 a4 V: b# ^+ X
    36
      K' R3 b! _5 V! `* A37
    0 V9 ~: E9 D  X0 @5 b& S4 j38
    / {) ]+ l1 J+ y2 v8 T- S2 {% d0 x1 k39/ y) R) [8 P. T* s
    40
    5 U- I$ i( h" J' @7 [- ?41
    % f2 B% m0 N" R0 m428 _5 D% Z& x& x6 \- O: U9 \) o
    43
    % l' |3 V. @( D- K1 x" j44
    & V. t2 I+ y9 }, Y45
    8 _$ M9 ~: J. ^% p8 n, \( a46- b( W2 V' O, s( U! R: z/ S* X
    47" V% J; [) K6 x
    48# P* q6 @$ M( ^' l" l4 \
    49
    - L2 v# u! q( u& v( r/ Q( v) [50
    1 ?* n% t% ~& ?0 u4 @2 W51
    9 i+ X  a- W# L6 `% J4 a52. ?/ A/ O$ S/ h  [6 y
    53& o% H* f' i" o6 w0 `
    545 g+ H' B" z8 y5 @2 b3 v
    55
    * X% Z, C; [( P7 l56
    ; i% H& V1 h( @+ w0 @  V) x57" k$ I8 D4 h9 o. \# c
    58* J$ N2 Z+ \# W9 U
    59
    % d) o9 O: e1 `60
    ; @* Y& o) @3 y61& F3 @; i; ]; g
    62. v( s) [3 S1 R* w; m. L
    636 o# k) X! F( Y% |/ ~# S* ]$ I0 V
    64
    ' F* k4 K- y3 |65
    ( _: x1 P3 X, {% h- `4 J; x9 S662 b" d$ {0 y# }+ O% X9 ^/ ~
    67' {" o, ~) }" z4 I5 t. }
    68
    / \, ^, y" u1 k69
    0 J8 }1 p2 {( F, Q70
    ' f0 Z% G0 a8 f! [- q  Y71
    8 T" h5 I0 r1 R- d. M8 M72
    / x0 q+ }& x7 x( ~73& p; o: h% `: E3 `
    748 X: X* E( Q- y5 p$ a  T0 e+ w
    75
    7 p7 M- |3 J& l! E7 z. P- H76
      w0 Q% I. H( F77
    ( P  x& V: X* ]/ w/ i  C78
    * n2 n7 m0 k% k% R* j+ m4 E5 ~79, J7 A& N) j4 r8 ^, V1 _) t9 X7 V
    80
    ( n% g" v% ]: ^/ n+ O8 Y/ [814 M2 T* S% \* p2 E
    82
    " Q1 E' S+ y2 G: ]1 z# p83
    / g8 E+ ]* x" M0 Q  O* \84
    " q% s1 f8 N3 H( w- _( T- y& X85
    - ]1 O* M! a8 b$ o86" q& b# Q0 d+ w  j# \3 V; g
    87
    5 A; g# g4 E3 p" i887 e* x$ o3 [; t+ P4 y8 d& v
    89
    4 u9 _1 R. P, i0 p& D. c3 G( S: a# S1 ~904 Q4 ]1 H% B* U' m) _1 y# {
    91
    4 M( K& W; G  V$ p) ?0 _92! T, |! `, }  n* L
    93( D! f! L8 h0 K( m9 U0 e  w
    94# ]2 C' h% I, D, U2 E- a, D
    95+ H( ?  U, E6 d& S1 b! x
    967 R6 D6 c5 b6 \* O: \
    97) j0 b! c% |* ^' n
    98
    # }6 p4 @4 p/ {! O5 ~99& P, q1 N9 {% i% ]7 {$ z
    100
    - F4 v- w) C  I$ s9 P# p9 C101; G- @6 p9 t: r, |# a6 A8 ^' ~4 o+ Q
    1022 V- L7 ~* ?- L/ f" {
    103
    + D, f+ _% Z& n, i7 `(高斯核函数)! \' l9 ]2 Y1 o9 E* s# Q
    5 M4 s; n8 t3 T* ]) I& W" p
    ) u! z5 e0 D- F8 X
    (K邻近法)- b5 L& ?" n# E% f, X

    9 [3 _( ?2 ]& P; m1 W) |3 I; X9 n6 k6 B; E2 q8 K6 }6 @
    四:谱聚类算法优缺点
    1 w! L" `9 b" k- L, @(1)优点
    , a* X7 }* f+ Y/ ^. j; d- a  X, S谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效
      F3 Q! ?3 ]) M5 [使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法' P/ Q: z& z5 T4 y4 F% ~/ T- {
    谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解* @. D- O+ j3 O2 a3 r' u
    (2)缺点/ q/ t& g3 V/ L( ~  A
    如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    ; o5 W% b4 _) e) A& E聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同7 T6 l" l& M0 v- x
    ————————————————5 ]  U8 a; o5 D! x: e9 ^: n
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    : ^9 S0 l; C+ Y3 x! q3 p原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494
    # L4 g+ l' m/ X# {7 T% u4 J
    % e) F; J  b! p1 Z" v) h8 l- t; H7 U# J! m* M: Z
    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-9 17:37 , Processed in 0.494230 second(s), 50 queries .

    回顶部