QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3071|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现8 m) J/ \: H  r( Z: B
    $ K* A/ o4 b- g4 n  }
    本文部分内容源自刘建平博客,在此基础上进行总结拓展
    8 ]5 f, V9 t+ J8 r. V2 q2 ?9 A
    7 r/ K. t( H, q2 P原文链接% t- a: i# O& k# [2 {7 ^
    文章目录; i6 J: f0 h) S2 a5 F. e
    一:谱聚类与图划分
    7 s- N4 ?; A0 m! O8 ]/ v(1)比例割1 V! i% z! m" ]; D; S+ n$ B
    (2)规范割(常用)
    7 z3 K4 B: ]+ u) j! z) N9 P5 G二:谱聚类算法流程" q% {5 r9 S3 g; R! t# E% S
    三:Python实现# _7 y' q, i. y. A5 t/ A
    四:谱聚类算法优缺点( T, B% P) O' D
    (1)优点
    , L) j6 \/ ]+ d$ [# }4 \. z7 @(2)缺点
    + o+ Y( o+ X1 [. F, X一:谱聚类与图划分
    + f, }- S8 h1 |5 l无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    1 ]: E1 {  o9 z( l% ]1 ]$ M+ T& L2 _$ `+ d" `* Y% {
    每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    , I1 M, i0 O# L1
    * z' K1 B" V; f4 x) |8 r& m* a4 s
    ,A
    * c% P: s9 H; h+ v: ^* R2
    " L6 |8 {$ }7 Q( x4 R4 @' n+ `$ r3 c/ A$ A) d% |
    ,...,A 9 W6 b# t1 [% i- e* C) J+ i1 B
    k2 I1 Y/ O/ o. F( {
    # L/ D- ?- }# N# S/ ?* _
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    - |) s2 T' L+ k% s8 [i$ O: @2 Z, \# y3 ?5 @. |

    7 C, W1 Q; y( Y# U ∩A ( h. Y1 o7 _- z
    j
    ' X- {/ k- `! |1 ~! U2 ?5 y; L, n6 X
    : I- S% g4 \, Y+ B" M =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA # p/ c) R9 h& L; ?- K1 ]# `
    1
    / ^7 X: Y  I8 F+ U/ e/ @4 }. Q( `& t) ^$ o! A4 s1 S
    ∪A 1 ~8 l4 H6 [& j
    2
    + \  |" M5 f1 v! V: n/ l8 k5 V7 C" @7 t% K3 b
    ∪...∪A
    9 {: W3 X  o$ l- `- i7 i# ]k4 {- i: F) {( }1 M

    " p( j$ F. F) ]( L =V9 k1 R- y/ s6 }( ^- H  S
    对于任意两个子图点的集合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)=
    ! c. O. u& t; _i∈A,j∈B8 W! T# M6 o# t, G" @1 J, E5 H

      ?0 o/ `* M8 U8 n4 H' ^" M0 A& w1 Y; e  O$ \' M* z
    w $ E1 d! P; _+ [) b" O- n
    ij
    7 B/ Y2 _1 @& c8 b, N# z' g6 q
    # Q! {& }* T4 ]/ f' Q) f" B+ z/ J! d- h' ?
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A - S! |: r3 f& \, n# R! c6 a' G4 L! i
    11 b/ A7 t# W$ P8 [! w
    4 a& f* d+ s/ X8 |3 F
    ,A
    3 }0 }: J+ e, u9 C# i7 R9 P22 U! y# d' p6 u: }

    # I6 d( `, m( D# C. |" S; | ,...,A
    9 x; z- e1 f7 r" O: Nk1 M8 c% D3 ~1 V0 ~* i+ N2 A+ X  f

    ; o& |+ V5 Q  c4 D },定义切图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
    # I0 Z: O0 h: ^& U% b+ m1% o5 W; ]6 S1 d- }6 [
    ) g! t7 X7 W3 {* p) q
    ,A # W2 u6 l( G( x% K) ]
    2+ B" H" \+ U" e  i

    5 y* f& c, {+ M4 ^- s$ y ,...,A / P& n( y% K: w2 L! H, C
    k
    & f* {1 X" L1 l  E6 A8 I5 F" r; K2 y/ r
    )=
    , l" V, I; p9 Q) d: Q& p2) ?0 q! U  H7 n
    1
    3 ~# {1 k8 y) h+ M" \
    ' X$ v. i( G' D3 x" l
    2 q0 K$ @. f- }i=1
    ) Q5 L) g$ ]3 }6 T4 l' `* N- f& D) o- p
    k
    4 h5 w* I& h/ q" H% U
    3 i1 S5 ?- A2 P% a) D' M W(A + Z6 }/ h5 W; x5 b
    i
    . B% Y. N) T3 k7 \: o% o* b* u9 ~% v) r/ T& f9 u
    , 1 V, L$ x: Z. W5 T) N
    A+ C( c0 _/ N: U3 Q' h9 c+ Y
    ˉ; c1 j0 L( m% M' }3 l

    & k0 ~( x$ _+ c6 Y4 Gi
    6 \( |" _  a! L
    7 P" K) a6 b% \! W ) (其中A ˉ i \bar A_{i}
    2 m4 z9 s2 k3 y4 K! MA
    1 M) W/ F% x  ~1 [; K1 uˉ
    / e8 @. G5 I% t$ M* y, U+ S% C; y8 L1 b6 b( `' r) m
    i
    , ?( \5 o! n3 `* E& B4 x, _& A% c; m
    为A i A_{i}A
    ! F. f; l$ q8 q6 xi9 D" N: [3 f1 O" ~1 Q4 A+ y
    ; |& A" ]  K' P& J, g/ G
    的补集)
    ( F9 j' @; p- ?" p, Y+ L2 Z0 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
    3 ?& f$ g9 P! ^8 }" F& q) |3 E1
    4 W+ W7 R  a: Q
    7 V. {# W1 e* c! x/ H3 l ,A * R8 i$ ?) D9 D* T% J
    2
    ! c0 d9 S% W+ e* B
    & J3 P1 k1 |4 ~. Y) D" z0 G6 q ,...,A . K7 h  i, ^! i* ^* ^' Y+ p* G
    k
    9 x6 k4 p9 N# E; I
    * k7 S2 z! H3 } )=
    7 @! K$ ~% U7 M2 N4 ?' D! D, O3 o2
    3 [& s& T4 k& t+ ?1
    5 k- l7 b4 N5 X8 K( `0 d) q7 R2 q
    * Z. F9 n4 q7 n8 e7 {: A1 w9 p8 n1 y$ k2 E- v% D
    i=1
    1 f; g/ _9 b4 [- u! L
    3 ~; k8 n1 A2 H) Wk* V$ B% S' g6 \  F) {; l' ]8 U
    2 X& ?; A* R: _. E8 d2 y2 J
    W(A
    0 K0 v/ Z! I3 Si5 p" v$ x" r0 `( e

    - c0 J# m/ y5 a; l% a5 f ,
    " L0 |9 v: k" v# H& P; b3 n, v" rA8 n5 L5 _1 E8 }- I: q5 Q5 A  X
    ˉ1 c; ]0 g/ S3 y3 h4 x  x- ]6 n# ^
    7 b2 P# i2 X7 w, M$ e
    i
    : \# j" T- b- o  Z* ?+ n0 \% M% l2 V: D# u
    )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A + x' F, T1 i/ k
    1
      }2 V. J3 X7 h. `- H8 _9 ^# P
    8 P0 H' e5 Z3 C) q/ c3 L ,A 3 r5 l3 a/ f" C$ d; d& u* ]" c0 m0 i+ h
    2
    9 O& q3 g/ w2 m  e! e3 F& y  r
    0 h3 a" u0 w/ O; S, Y ,...,A ! N& t( O- O& X& e/ I3 ]
    k' R& y* w8 X; @3 D3 K0 J% h

    8 F2 K$ d4 N$ m# @# d )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡
      H/ @! A. u5 I; s
    . K" C! U! S3 ]- t) O/ j2 U( O4 L例如下图,选择一个权重最小的边缘的点,比如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 $ t% H7 p+ i# ]7 z" v( B
    1
    2 m; P3 }& R9 C) x( f$ K6 k; k6 z
    ,A
    . r6 |2 y2 x  D4 c# b" ~$ k2# s/ n" K7 @9 x% J  y8 ^
    # ?7 |$ m, B. F+ ?
    ,...,A
    4 m, {6 Q1 \# A* o: q  Ik& Q) Q; g0 s& ]0 w' ?
    / Q( r5 U) W/ {/ p+ |: [% `- X0 B' Q
    )但是却不是最优的切图. z, T1 z2 G+ q2 P
    . }0 x& E1 w. v
    为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割( H9 X: J6 c( d4 L  k& s, u) A
    , D, |5 h" L1 [5 K9 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 8 k  G/ q1 Z% f- c
    1
    8 v; Q: b8 P/ n: p- ]. d
    0 R, P0 n) \) h+ ]5 K/ G4 B ,A
    , B, V: g% `! W5 L! E# n, }* o* L1 w20 |) G+ g  \$ B; e

    - j; ~2 c7 [; @2 X: L) ?7 F6 [4 b) _4 ^2 v ,...,A
    7 L6 @  ^0 ^& v8 c. G! Qk
    : [5 n1 V& B' N1 i% V5 o9 b, L4 Y3 _5 f/ [1 j9 k/ t
    )=
    7 [' N- ^/ @& _. W# Y9 _5 g2+ l+ s( N9 g4 H* ]0 m! S2 @8 E) |
    1
    # p* T8 G0 \. S8 t. x( q
    : ]3 B- y! I. n' ?: k* \4 K
    9 {  b3 g! O5 v: U( g" k/ [6 ni=1
    & j+ h2 w% Z/ _) f8 Z! ], }) P
    - E- `! ]" L' Z' o0 a$ Yk, i+ ~: y2 i) K' e, h9 I# G

    1 ?' B. q3 }. j6 F
    7 ?. |9 V% l0 @% M" y∣A , E1 d( {0 ?: q' c0 Y
    i! D0 h9 z& U& {
    % Y/ {! ~1 M8 j

    & N  u* D# r) sW(A 6 W; D: i4 @. _: c, G
    i
    . x; o# u3 @: H( j5 L
    3 G8 b; Q( l, H# F. ] , ( G5 X5 }) Z" {$ K9 t
    A" J4 _2 L) Q/ K( m) H# v( c
    ˉ: s3 S7 u9 s, m% k% J: J
    ' r& ~, l8 ~8 n$ m
    i
    ! U6 @* ~# n9 {: N; Y- U0 r! D- [
    - \) d' i- f8 ^9 J( b, a( i; o) f. H )
    0 R+ x6 F6 p- ^/ _( B& l) _% V2 a7 U0 O. v3 d
    / O9 q9 d. A1 @* g
    规范割: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 # I4 m" Q+ k% k, c
    1
    5 f9 c0 P/ {( C+ [8 X
    " N7 A9 ^. T! l+ A) P ,A - ]3 ]: f  F3 G
    21 T* @& r0 t/ W, S
    . r5 h( ?4 Y; a
    ,...,A ' T6 N# p" g7 R1 I
    k( T4 g+ o7 Q& w! X% c

    ; `$ d/ Y5 x$ X+ P )=
    - w# ]+ U# C8 }+ p9 R' e2& G$ \  W( c( V+ H( \; T
    1/ j- }- V8 `# w

    1 v9 L* P! E" J! _  }, t' f: M  k# `- U* }
    i=11 V" b! x9 A% c* ^

    ! N$ s: R# c0 G  U: kk9 w" P1 ]3 S/ ?% n+ A" j- ~8 m0 A

    8 N0 O1 p3 [% B; }! C1 J) O) r0 b2 _+ S. f4 Y
    vol(A 3 J# F+ K! g, F! ]6 C9 X; G7 k
    i
    6 }  N9 A! M7 d8 `/ i% k- m# ?/ ]& v& Z) ?$ W
    )
    " r8 n# W2 `8 ^' V8 LW(A
    9 l% f6 {: q: n& Z0 ii
    4 D! [3 R3 w( j$ S( ]- C! W2 _' p* b3 W2 L. |# E7 P. Z
    , " v  V+ S* M% z! W
    A$ s, ~6 G; O; u3 H$ e
    ˉ) U" E) t, `& H) k, q# ]
    # I! x) m1 {& w
    i
    3 I$ N' \: }- B7 P; t. S
    + Z& U7 [( c0 P1 T, T* _ )
    8 g" u, U# o/ E7 y* c/ t4 v
    & D7 V5 j& h; a7 L) B3 Z7 ]0 S7 ^
    (1)比例割, J8 H9 Z, }8 J  k& ?
    引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h
    & @5 }& r# [# Aj
    ' G5 E1 N, [/ l2 X, n) b5 h; j, _4 m  e, P( X
    ∈{h # z- x1 P% l' K; {1 o+ T$ L
    1
    4 b4 e4 |1 [  |& |2 \9 K$ k6 e# m) M& x5 T1 G1 N4 \
    ,h & r% a$ b8 M/ n! ^
    2
    2 M- q* B, s* J! L/ |: _7 X  T# L& W+ G, \, b+ b
    ,...,h
    8 d$ B- X* Y% E" d$ N/ ~; i9 Wk
    ) F( z) k2 {5 l+ Z: \& `* g
      U2 c+ }6 T5 d+ W* w },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h
    - z$ Q1 |4 \/ ^. U* M- r  jj
    + J% V0 w7 L" b; c
    ( B1 J9 \1 L; D! S% x: i ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    $ R' z" Q4 U+ ?4 \4 y  b' A* L0 eij
    $ Y/ }) |# M* `- s/ A! r* j  h- j5 W$ I. d$ q: X2 Z9 M! Q
    如下
    ! F! [0 }8 m8 u  w+ Q8 q+ f+ f# x" b9 Y% W
    h i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    5 c# f4 o" Y% \' e# e' e6 U{0,vi∉Aj|Aj|−−−√,vi∈Aj
    ( a/ N/ S6 O. y/ e9 C{0,vi∉Aj|Aj|,vi∈Aj5 P! p9 {9 H# u- N% I# Y
    h ! Q+ h$ @' Z& K9 w" ^% y) M
    ij6 U7 R4 |! s) O
    7 t8 [3 ?: Q' n9 u: O/ l
    ={
    3 E* m# g4 z: j/ X6 D8 }0,v
    4 z0 F' C: P; o1 [& z- Xi
    ) ~7 g4 Z7 I) n' @7 |. L, d
    + O. X) m1 ?4 V/ U- O
    : u. |, k8 P( m/: R: G$ n3 ~6 f) C, n
    A
    # J, \2 O. J' d1 P( m1 A+ ~- C: Q! Jj& T, k6 D6 {. p0 K1 ]  j: I
    + Q7 c& Z7 @5 I. D: w/ b& q

    9 ?. |/ C' W  s) M3 v  b$ x; J∣A 3 D8 p! O! w0 j( P: k2 Y) n6 d$ \
    j
      P: k' h- W" o/ w* f( |1 m) z% p/ u

    , ?! S1 C( g! y- Q$ }7 {5 |4 d* ^0 O+ }
    ,v
    & y, g$ p3 {, r6 Y/ k5 `) p9 [i2 G8 l; I0 Z9 [% N) I- k; L
    : q! N# |0 f" y' _& }- {9 i  d
    ∈A # ~$ x7 v3 }2 r0 w* z& @9 }5 z
    j
    6 _$ e8 b% O- O5 K2 h
    4 [4 a. _5 Q: S4 _( u5 X. O! f
    + K+ ~0 S4 \  L8 V  n6 D
    ' y4 ~7 y  K. j  Q' ]0 a( i* H% S& ^: D3 e

    ! @* @+ Q! E2 r) l9 e% w于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    # n: \. u/ h8 m* hi( z# p9 d5 P* K5 I' C" M( c
    T
    ' x, Y3 b* b; G' \# T, l* b0 D: E. R4 _( W/ b8 o; J
    Lh
    3 m* z0 a1 l& ]( E0 c  h, `8 oi9 s6 X5 i! J; J. r& \: P

    0 D( W) w7 B4 ?0 e ,根据拉普拉斯矩阵性质可知
    2 V" N9 y6 a" j, P5 {& U, `3 j" `- T" P0 v! ~: u
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f : ]* M2 t' ^$ E; U5 J: G& K
    1; k' f/ l5 r# ~; B

    $ \4 [9 b# M. E& I2 c ,...,f
    5 R5 H, A, S3 ^8 Zn5 ]0 k! i4 b+ Y4 w5 ?  d, j9 H6 O
    ) x7 @" C$ N0 V; W1 r9 W* g$ @
    )
    ) X% u9 h8 ]. Z- ZT
    ) [  ?: X+ i. m5 o" o2 v; i ∈R
    3 r/ v  p, I; f) x( w3 i% A- T$ w% In/ L+ G) d) l0 a9 u& p
    ,有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 ?. q9 O4 R+ _T& M  ?$ B* X8 u- b
    Lf= 2 \. S% u0 T) m! o, `9 H% W- ^
    2
    5 F8 u0 I% v. f. Y1: w5 v# u- T0 s6 w' V% x* z

    ( W3 t' {4 u7 T- b# x  e$ B9 x7 h% ?$ v. H1 _$ k6 o
    i,j=18 g" L6 G- M6 d
    5 e5 P" _9 q. ~1 r0 R- z0 [, z. m
    n
    . X" C6 A) x' h: ~$ s6 X4 a- f! E. ?  L6 |
    w
    6 @8 h: J4 n  H& P/ o3 Hij
    $ `; b3 m: c. S8 M  Q+ q9 ~6 g3 e8 f. i! A/ Y( R
    (f 9 C) e3 j( H. B0 r, b( R
    i
    4 k# c5 t. L6 i, Y/ Q- A0 y& R& G/ t( a' I5 a. Z
    −f ) d# |$ w/ v/ f& X2 K/ @
    j
    0 c0 [( g% H( I# a; o: j' y* h, y2 @: S* Z; ?
    )
    : N' p& c! n( L0 B* A* R4 S4 Z( c( ~23 b5 K' A1 X8 h4 B4 b& O8 C  @" L

    - {/ {1 _) }' [' r; M8 s: Fh 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}|}
    # c% e$ x2 c' a% t0 r, @h
    9 S+ \0 A/ [$ r3 [$ fi
    . E9 K6 j3 i! Y8 X4 {0 BT
    1 D/ W5 q. Q' _( q4 I% v1 x) a- C  [% d6 G+ K) q* L: J9 V
    Lh 2 v5 o* ~1 t4 ]6 U
    i
    ) m# c+ c  G; _& @4 h) h
      h( d/ r: i& j' D# c! v: H- f =
    2 T- P# n5 w8 i$ Y. D5 h2
    8 o3 g! a+ I& }4 M5 @1
    * F& Q' C- |6 z3 ?8 T/ i0 e. J* C( t1 ^8 m

    4 y4 w, U) h' |% S* }: Mm=1
    ' [  U3 I' g4 M- b2 ?4 E6 L( c* s$ f1 n5 E' O
    6 X5 K7 m% X* N) M  C$ G; M9 h

    9 i9 W% y" ?* ^3 L3 S% `" bn=1" \" C3 h) o- }

    : c5 E$ v/ p$ O# }7 g
    4 x/ i. w% R% w5 c& t: M# @5 l w
    ' ?% U$ `& h% ?4 n5 [6 O0 E- f! w" Q. G" cmn+ J# @( n  Z2 `. E7 u  j
    % i8 ?; l, z8 S2 }) I3 X' \6 |; q
    (h
    ) s. X1 j4 |) }& o: Fim
    ' c0 G1 K, O  M' e/ Q
    / ]$ c! w: U  }1 B! k1 z. g, f −h
    ! k" }6 F& C$ W' k! Sin- ]/ i) Y' A# q- n( M

    . X2 K6 V3 D) r- n2 P4 a- z/ Z# f )   z, s, Z; ^2 s- h# t# G% K
    2
    + F  K+ p# j! J" e = / [$ _; t& m7 y3 m2 a# a+ F9 t
    ∣A & U; {% t' S  M1 J/ p1 O1 g
    i
    ( o& e4 \, p5 ?- @, x) C& b( R4 m2 \
    , Z. A4 S6 a$ o. V$ m
    cut(A
    9 V. |( @+ j! Y3 X9 Ki$ [0 d. l* _9 G
    2 B# R* }) a* V* b
    ,
    ; r! C! X! u' D. x+ aA
    & X" O" ]$ x4 Y$ K9 J* ?4 `- E/ Lˉ
    , \& [2 s+ d7 h+ g0 e. g: b; r0 u3 u# g7 Z, |! k6 f5 @- _' z
    i# R' p, Q2 y' q1 C5 p
    * T! i- K" ~1 v# X$ A
    )7 R6 B/ a7 H  r
    2 N. K" T# S7 ~, {

    5 t( S1 f. A2 [1 l5 y6 W1 g1 N0 l/ H9 I& f& ^. L
    严格证明过程请看刘建平博客:链接
    7 C5 N6 e* ]; ]/ 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
    % C4 v; `4 e0 ri% P0 M* }6 r' F! F1 j3 _
    T1 z  a6 x- {2 Y* v9 i

      B% s6 V+ |  [' c Lh
    1 H& L" D' q# u: Y/ Z% D8 D0 S9 m" si
    7 C0 ?' f2 T7 L" }2 e
      U! d! U5 f0 ]* S7 ^0 Y+ y ,那么对于k kk个子图& W: ?& O# F+ i( Y% c& K

    & B! L, }  E( @8 B; uR 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)9 B. {+ N( S$ T! U  b3 g- ~* Q9 k
    RatioCut(A ' A% Z% [/ v/ [
    1) |; u3 v, k! t. t/ r+ ^
    8 X3 T! Z7 [$ a" O, A; Y, }
    ,A 0 t& `/ O7 {- |
    24 P' Z2 l1 p" Q. Q

    8 Y) w$ r; j9 ~ ,...,A ( S; C! d; L5 _0 M
    k  |% t0 |6 E; ~  o4 g5 E) c
    ( R: H6 h- ?' Q! C4 O
    )= - f) m0 m$ x3 A
    i=1
    , ^) @- h! ^1 E' s4 {
    9 c: e3 T% k: M( m1 `2 g" kk
    # Y1 H% {4 ~2 V5 y" [- v
    4 R  t) [  b* _, N  }2 H4 V h
    " l$ m( u2 P$ V1 {( j9 U" u8 pi
    $ f3 r( V1 b2 F0 C) qT
    . w6 ~4 b: _6 y, c" a. m$ R3 @! h" M4 c  ]( C/ O. q2 u6 z( m
    Lh
    0 |( O- E6 r5 d8 \i
    $ j" {, B' R, I! `6 c5 y9 e2 T
    6 N, ^& g) [. T& F7 j: U" ^9 P% ? =
    $ z* T5 R/ B7 F; _3 r& Ni=1
    4 s" F9 U) X+ G
    * f3 G( h: f) Wk
    ; o; p2 p/ P+ J; A; C# T: q
    3 V  O( W! r; X% N (H
    & d# q& A* C; Q: g* X5 S" nT% D5 a5 Q) m  z9 r
    LH) 2 {* p0 Q& ]* Q6 D5 d9 G5 g8 {% z- M
    ii8 Z  i* P$ ]/ B( _
    : H8 c! E! F  W, f9 u
    =tr(H ! n' f( Q# P5 Y
    T
    ' N! E/ M! h& n4 V7 E6 p8 G LH)
    & i( h( `7 U4 R  u1 @5 r
    : y. G* a, h5 B" F' m2 [因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H : L; ^/ A& k6 X" d/ \4 {/ y
    T
    % M( p- r$ l( f LH)。又因为H T H = I H^{T}H=IH
    / k, s/ ^7 K  h. L' _2 B% R7 DT
    . K0 [% }, N8 [" t! \ H=I(单位矩阵),则切图优化目标为0 u$ \/ \6 `7 s* P5 P, Z: K2 {* E

    1 t' K# J; T! a& x- V3 T! x% ma 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=I5 F0 S$ ?3 d/ U4 d
    H4 p* Z7 p" k$ z
    argmin
    % A" W9 k( w" S, S: F/ d: T- |2 r9 X4 ]* Z0 g2 g
    2 s! ~, O% [1 z4 W# z+ I

    6 x, m5 D$ b6 T0 _, h" M tr(H
    ! M3 c- |& P* _0 ^& m; nT! u3 K3 v9 j7 k3 Y5 C0 v- @
    LH)s.t.H
    ! E8 y0 b5 M) L- o( J1 oT
    5 I3 u& q7 N2 n1 ]% `  c H=I6 @! t! @3 D# f: H  V5 L' {3 s
    6 |; |- F  T5 }
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H 3 J: M: ?8 ^, e; X! g* d
    t
    * J% B4 k5 G4 L% X6 b; \% H* E LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    # \) E( M' _/ H. m0 mi' R3 h8 k$ }' e# u: Z8 ~
    T  Y! j4 w% I+ b& f9 N% V$ U; X# O
    + C6 N9 d: A* \; J6 {: v+ M
    Lh 5 ^. {  K. H+ t
    i# J* [# [$ G; `$ g. Z3 D% i0 G* ~0 O
    6 C- |5 H4 \' j
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h
    2 G9 B- O8 y5 E9 Zi
    / h0 L. i) w0 ], {2 A- x) A; L' q" rT! G, X# b9 M2 J8 X0 ]8 l

    ! b& y' H8 A7 o6 `/ [/ w Lh 5 ]% w0 ~# r, c" a
    i) y. Q" A& K# D
    & y8 `$ l1 K$ y' O- C
    的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h 2 _4 c. p! f; m; l2 {. H- [7 G
    i5 S2 E9 \! y' T, E
    T0 m' W5 v3 _- w3 {5 |
    * l; Q9 z7 F% w0 ^
    Lh & ~: }9 Q- I5 D& {) d; F  s) X
    i
    & \2 ~3 W! g  G: S$ E1 }& L
    8 ^7 Y- r: s+ d ,目标就是找到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
    , E9 A7 X" p  d7 W+ St- n2 Q* Q1 i1 {! e4 Q
    LH)=
    7 Z; }# a4 t0 `! r. Pi=17 d% d2 }0 G! T1 P! D+ m* T

    8 v" P- }' R0 e: e) ]k
    # A0 W% ]4 V1 o1 A3 K6 e2 k0 b1 T3 x; J" H$ s
    h $ W) e  z+ r/ X7 {0 {
    i1 `- u. K/ K2 ?: h- k0 h0 L
    T
    + g0 T) {1 S9 T, h7 L6 a
    7 u1 Y* ~9 m) a0 W# q1 m9 ~ Lh
    - C4 {7 U* z5 o! Xi
    & g2 i7 {+ {- A$ S' F8 ?# x" h
    2 k1 N  ~% F0 }1 S ,则目标就是要找到k kk个最小的特征值4 b& S, f2 g! h3 @
    4 z  y" y! T  a! x3 b$ A
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下
      m/ T9 _; e* m3 q# t6 f
    % O+ z& p1 {8 K$ x' {% B一般来说,k kk远小于n nn,也就说进行了降维1 b3 _( k; {! ]
    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}}}( |! H3 s8 L" F2 L: G6 `
    h
    6 }7 I  m/ W- T* cij
    1 z( [) i' J% q2 D  v
    8 Y0 G* j5 Z9 I1 q% Z
    8 w0 {, O% }: a) m* x3 a = - b; j0 z& ^9 w! [! i( F: H8 i8 I
    ( ) e5 H3 x1 T2 Q7 r9 i/ n
    t=1
    ( x, |  i5 G' h" b0 @0 W
    / o4 |9 l1 w4 g; y* s- q  j+ P4 Kk* }  [& b. E7 b; A% A. M* I3 M! S

    ) \0 ?6 J- ?! m h 3 r, Y* ^. g/ z+ l# Q
    it
    ) S9 A$ T/ Y/ ~2
    9 H  V6 F' l/ r9 X& v+ m$ y
    2 m, k4 n1 J2 E) N$ j; n2 X ) 1 d0 [$ k5 h- G) T6 G9 Z3 r
    2; ~9 {6 q: A3 Q/ f5 J4 r
    1
    , b. c- L/ b; }* G# B* L: v4 W' W# y- Q

    - ~  w; o0 L3 _: M' Y/ N' S, N9 o6 @; p8 w; i0 Z
    h
    9 B" y2 F$ H5 y+ Q+ Y) kij
    ) j$ M6 `0 t5 F9 E; \2 Q
    9 F- f4 b% j' \' ?* v4 q) o1 o' V. R' Y: r) v* T, ?
    % s( c! l. ^% H
    6 u* h7 y) c( Y
    + v* W/ ?0 ~9 A
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    / n  S: s9 E) D. p
    + C* R9 Q0 G. _(2)规范割(常用)2 w' K: s! u3 S; o9 M0 Z
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A . S5 [! L1 e5 K- t# ~* N' {4 q
    i
    5 w6 \+ Y; Q1 a# Y0 ^/ G9 b6 T' J
    2 ]( s) q* X1 [! f! A2 u. Q ∣换成了v o l ( A i ) vol(A_{i})vol(A
    5 {: K5 i2 s2 d2 H! J3 yi- t- q: v2 R  A) ?7 E+ w
    * F! V5 ^3 e  p; ~8 n/ r
    ),定义指示向量h i j h_{ij}h * @; W+ O% X; V1 ?1 O9 w% a+ \
    ij
    0 c: W3 c5 u0 d/ L0 F1 h) U3 z. q. [+ L
    如下, r# G# B( T6 m) s- Z: G
    2 v5 K1 c( s6 R! d
    h i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=( V1 ~5 w1 n: O$ H( v7 `' O
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj
    " Q8 d4 B7 q) X5 e  w( J* j- Z{0,vi∉Ajvol(Ai),vi∈Aj
    / K$ N5 t- b' }1 G( q6 Dh
      v. S! U  U2 B( W1 s' G0 y6 yij
    $ Z1 v/ ~! K& P" @# g7 S$ J1 o, T  e' a
    ={ # X, u" B: K- J) Q" I8 b3 h
    0,v
    : }6 h1 j: Y: ~2 u2 p; |# r, P8 Ci' r9 z8 P( Y( s6 B+ V9 [/ e: R
    % j" \2 t0 k0 y

    5 }) L0 ]9 d- s. v5 ?/, F0 C. z, q. {6 y0 [3 [. F/ M, }
    A * V9 x& ~$ g. K) e( k, G
    j
    9 j, A$ E. s9 }3 O% P& q0 R% {& I6 C2 w% L$ S( E

    & `9 `1 j& I9 `vol(A ( w/ n" u2 Z9 E
    i
      {4 ^6 H& {0 A/ |! f
    ; N9 f. n+ T0 r# y4 h2 I2 c; r7 m )
    & F  ]7 _# l5 a5 Y9 ~$ o
    , a9 Z  l2 [1 [  K ,v ! B9 c* o% }( C5 b+ e
    i0 v5 K6 M; X0 o. }

    $ |2 c; S- E% t6 q" | ∈A % x. n3 G" W$ m4 A- n
    j( l) t( y5 O$ q. x* B: g& E
    ; Q5 ^- c9 L, ~# p4 u) k+ i4 F

    - V2 a) H" ^* s# D' u$ j
    " u# L* n# s+ J. i4 @) c1 }" [- n  c  P
    ; w* [8 V3 u- n
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    ) w3 T' S: v# @5 h( si
    % {3 V0 f  ^5 f; t; tT& {3 h3 _; e. I8 _2 ?- s
    ; K3 n; M( `# W% X; y
    Lh " T. m) ?0 a$ r1 k+ Z
    i
    - ?) t! ?6 Y2 B) z+ G0 S# _9 d- ~+ Z7 Y8 k
    ,根据拉普拉斯矩阵性质可知
    ' w( F' H( r& l1 W7 X
    % ^7 N" d5 |3 M1 O  E# r$ }8 i' u对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f % r0 w! f4 L$ Y4 v; o& M! ~
    13 k" z8 m; L0 i/ K+ a6 W8 c
    $ H1 l4 w5 K. X
    ,...,f
    0 `/ N1 q6 @0 `; In
    9 G4 ?/ j9 L- J+ M
    2 g6 K1 w- S/ b- ^1 y6 |5 J% F ) 7 m. T( {8 B  N8 I# h( f% l. V( ^# V
    T2 V2 _0 E" K  h4 m$ t
    ∈R ( p6 _2 m3 ^3 I
    n
    1 L" W! x# v3 R/ ~2 ~ ,有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 X  R7 E& B+ y& K0 D
    T
    / t, G. R% H: I- O. P/ o Lf= ; t; n; k' ~& ]0 E
    27 k6 s$ d6 P# w/ c7 _' b, Y
    1
    7 P  U5 i- g' e5 X+ E$ @  u' P& N2 {% S% ~4 d
    7 l- K$ [9 B# G* t
    i,j=1
    1 F0 S5 z& t5 T$ f" o
    9 G* R5 A" D. c1 o+ j0 N4 in
    ) p% [% o4 N$ u( p& Y0 b$ I3 |& A8 B7 H
    w
    6 H5 T. M- D' Q3 l+ `- l( Qij$ t6 F1 y* z3 B' e, Z% h

    " t; r1 T% X8 o( F, u0 Q: l (f 2 M8 W$ ?. A' i. s/ `: s* }
    i
    * J' D8 v" t; q- B2 M7 d: o- U) S/ L
    −f
    9 [) ]. p! P5 f) ~/ m4 ~j! _) m$ @" @% o+ @

    ( k: m7 F$ J1 P! J' t ) % Y2 u5 @, G5 `/ _3 ~
    21 j) V# [4 J  r% E5 k$ X  z. t
    % H# K! w7 K( V' W& U: V
    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})}7 @3 B* k6 ]" F/ Q/ U( o4 S7 _- D
    h " [- m% y  x, V5 j
    i4 y$ A! u3 l+ @4 Z; Q' U, ]. R" M
    T
    $ \2 L7 M: s) z: n6 z, L) C
    " v/ @( H8 r, T) k' f$ T" F6 e4 E Lh
      B* H+ N# p8 i& w0 ~, ei) `# j) X' x4 M1 X
    3 K0 x. k: U7 F! Y
    =
      f0 O% B8 g6 F/ d( L) S2
    9 z8 {. A: f5 e1
      N" p9 ^- f7 w( F8 \; t, |+ P) s* i8 G& i
    ) f8 {% t1 J: O: c% w; c
    m=1  p  L0 H  `2 @1 _6 @  E9 b

    ) n1 J) X# m! h- D! r# S3 U7 O) \4 j, w) [( d- H
    1 \7 k5 J; J  D2 m$ ^# `
    n=11 @- _# S  f5 |* Q" z4 C/ w
    & c- \6 c  |4 B5 O3 T

    ! m. B5 Z9 C* W1 p$ ` w
    3 t+ t+ {0 r) h9 Q+ I, Ymn) C7 N2 _2 U0 e. C/ l
    ! @3 g/ `2 ]% Y0 v( ~6 g
    (h ' Y. V7 p: g' \( ]' x0 E6 a
    im4 i7 ]9 p+ @) z& d& z; D0 t4 R* x
    , [$ E- N7 U$ M: C. G. U5 \7 H, u* \
    −h ( r3 V- W9 y! M
    in/ x  n8 ]( Y" h: i- v& {
    ( q  @4 |9 W: K0 f& G
    )
    ( u* y# ~; @) j5 j+ V9 H5 h2! e5 O- D, [" |3 Z; M/ x
    =
    ) x: ]+ T5 ]3 X( O% @" O& p8 Q1 {vol(A
    - t& L6 o( f" Ei
    ) i. C$ M3 B" D- L) ]/ [  S0 f; J" d3 }4 T9 Y; }1 v% r3 H# c
    )+ x2 E# j9 W4 ^7 f* V
    cut(A
    ( Y  R* w) W0 ^: di
    ) C+ a' Q* H, z" u
    3 S/ A4 @* I9 X/ d& i/ p ,
    % s" g6 |" i4 a2 W9 E1 K! sA6 V1 c8 G. p9 ^$ ~# ~
    ˉ
    4 h9 o. S6 ], o0 |& |' W  Y6 |1 B! O. E$ Z
    i
    3 j; A% K" V8 L" Z' C! t# \
    : W3 ?3 S) \0 R6 k, k )
    $ @$ t5 ^" P) K% R: ?' s
    ' u! B3 Z( C& _8 n1 S" u4 G
    # l% L2 m3 }: N
    3 ~4 a  i% I  M严格证明过程请看刘建平博客:链接3 [% ?5 m  q  d! d3 P$ V  ^2 {8 e5 l9 N- ~
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    . l# G2 |( `' M  e. L( }, ci
    . h: b' S+ P9 ST
    2 ]- e) X4 U( [
    & C: C0 @* \5 P# u2 M Lh
    7 V$ _! {# f2 v  e: @1 zi9 y- v* l! c1 }, {! W" m
    * N  y8 B0 H# g4 X* R
    ,那么对于k kk个子图
    5 b5 T+ N) H! g$ B9 s% g$ T- Z  s8 z+ Y
    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)4 |+ F3 {7 i: B% y1 L: p
    NCut(A
    6 b- P8 O, D  O2 J1: F# x/ Y3 f' V  J3 N* x

    " {, [2 S7 c' z2 b ,A 9 n  G& v5 Z2 n$ A9 u& t; {/ c
    26 ^" C3 _0 n+ A: Z( i7 L

    2 `$ Y$ U' C% y/ ]8 {% H ,...,A
    0 }. l6 D5 ]0 [) {: {& y: D7 @k
    * Z: g2 q% U% l+ Q5 `- ?& P: l- T: K# S
    )= ' q4 ~4 K$ _5 Z" v; k! Y9 `" B  f
    i=1/ m/ k0 b- m( H, H6 m: P6 |

    2 F, Q6 G* ~: S+ N5 fk+ D5 u+ O% W$ n+ Q! R" s! L
    5 o4 ^4 T! \7 l( s: F. M
    h
    4 N6 P) N! `; S) q$ r! ri
    1 o) {- z- r4 N9 p0 W  ST: K* T2 F3 p* {. \9 S$ N' m

    7 V: y) M/ m* A3 ]0 C Lh
    2 z; s2 D6 T# m$ M7 C' Di3 f9 E$ k: f3 n/ C  A
    - \& A/ u5 l  g& ?) G2 M
    =
    5 ~; j5 h3 x: v4 M: T' a$ `i=1
    ; d5 \8 b" O( L$ u6 F/ v( P6 O$ C$ a6 L
    k6 f+ L& \+ P$ s, W& G

    5 a- v4 [: I& H$ b) M! Z (H
    0 V# ]; c4 r1 t& c4 \- Y% u: ~( B* iT8 |9 L& v9 v/ l9 R7 |! y. w3 L$ ?
    LH) 1 `+ u) i; M9 @7 V' M
    ii/ r. R% v7 l1 b8 v8 P
    * }8 M; X. B8 i; [
    =tr(H + {+ W3 Q& F' q8 B" y4 B
    T
    ; z% y; d) a3 E9 j1 l$ l9 w LH)2 k: M; w5 R' r1 C

    1 F) R. m0 H9 |$ ~4 \但此时H T H ≠ I H^{T}H \not=IH
      M; ~+ w0 U3 M; I/ s% U' c. OT
    : Y0 ?, w' i  E5 R* R; A) P7 x H
    2 B4 z0 @( t7 c9 S# w9 A9 S- V" G- u3 C/ @
    =I,而是H T D H = I H^{T}DH =IH # `. W0 Y8 u+ L! D* Z; C2 d
    T8 R8 p3 o+ C5 \4 v& n7 u  n% ~* \2 h
    DH=I. s. v3 M4 L' n

    $ K  d8 h" N7 F7 h. E这是因为h i T D h i = ∑ j = 1 n h i j 2 d j = 1 v o l ( A i ) ∑ j ∈ A i d j = 1 v o l ( A i ) v o l ( A i ) = 1 h_{i}^{T}Dh_{i}=\sum\limits_{j=1}^{n}h_{ij}^{2}d_{j}=\frac{1}{vol(A_{i})}\sum\limits_{j\in A_{i}}d_{j}=\frac{1}{vol(A_{i})}vol(A_{i})=1h
    5 v1 N, Y) `) xi
    & \% n; y! o2 @7 v1 v, o# CT
    6 l- Z/ o- V) ^' Y. J# ^+ r+ y4 y4 b0 h. d
    Dh
    ; h. @. T2 d. {& m! _2 vi
    ! G. K* R8 {, F" s5 Z, e$ Y7 U# q+ q: C6 z7 Y0 e2 e
    =
    6 l/ {& v3 K$ f6 a+ Hj=1- z$ [( w' r2 V0 Q8 J( u7 g

    5 p) y) D' q, [' Yn
    / ?2 a5 d. z0 x' @
    6 G. v) R9 t& j% r1 v+ H, n h
    7 P1 c# c9 r1 f" ]& W' fij2 h0 U  q+ ]9 b1 w$ n9 Y
    26 |( ]% K. k' K9 l4 K; m

    ; `; }+ ^7 Q# S% R* D7 F( k d + d. X8 e6 x3 H8 m- Z+ }) I
    j! R+ j1 |/ }& p8 B) s- H& P
    - Q2 s2 K+ \1 K) z
    = 5 W+ b6 v5 v$ G' {# j
    vol(A / }9 L  {8 S* B4 D- h/ N3 H
    i: ]: I* _& \. i6 _! T0 @
    ' f! k7 d. U  c2 M/ k( I7 [
    ), k2 ]9 P. E8 j$ h" k7 `
    1
    # t  q5 J3 W& j% m  s3 M+ G& N; j8 A( {$ k
    9 v4 x) O/ p( v" W5 z! ^
    j∈A 9 y0 ~& l1 r4 ]$ V1 D# i
    i
    + N& e: |# f) r7 h' X: s7 o) N* G. b: M. p, V; U
    + Y* V& I* Z5 z; v6 ~3 u, X
    + M6 M& ~  @/ C
      J+ E' R  W3 q0 W
    d ( t# {" j9 ~2 O% f3 A2 E& l: d
    j5 d8 S4 }1 \; V/ W1 Z( Q' N

    1 Q( k3 U9 r3 ` =
    ' Z% b/ I$ n8 T0 F6 F: e( M# }vol(A 2 g% J; h: i, j) P
    i
    " ?3 ]7 R- j1 Y7 t0 o8 j4 S6 J2 J. @+ F
    )8 E& x  X+ z/ ~6 d( `  h9 ]$ k3 w
    1# U9 Y& u/ H) H
    , |( h2 C, e/ O+ Z( O- u3 M, J
    vol(A
    : l/ l/ S2 h. A' R* T3 w  Ki- t' b+ B4 o, ?, q+ N
    ! E3 m6 l- O. Y* _
    )=1
    8 I/ q: k# }3 I8 W+ j! f2 `因此,此时切图优化目标为; B6 g6 ]5 Y/ }' J  H7 c; X$ f

    1 w9 B. I& i; n: q4 @1 o7 fa 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  f- p% k( w: R* L; m2 s
    H" r# C9 n/ I+ A6 p
    argmin
    / B' o1 x: _  t, P6 H: u# }0 C( ]# ]( q) u  L& W2 [% n, j5 L$ _
    8 r3 M! r! E# R4 h8 _! Y7 q; a
    / K$ E3 h- M6 p
    tr(H 7 ?; U; r: {& _1 H9 V7 V3 V
    T7 w; O! B/ Q; x6 S1 z8 R) g
    LH)s.t.H 0 U' P9 h7 x: K" e) R  n- F
    T
    6 z, x. K5 G: K# ]  ] DH=I' F4 f' O9 P& ~3 M
    * y3 [$ }1 T% E& h( J( p4 {, `# H0 \
    但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D
    . @. B3 F2 T7 P  G
    : S0 V, a, y! c/ @) I- c22 @+ ~( F2 u2 ]9 y9 [/ u" I
    1
    5 Z. y' `9 Z6 `. M, p4 l  v8 V1 I3 l$ G' q2 c7 b: f

    ! ^, n+ F6 P7 i3 V 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 / T" g# R$ }% q( b# e- n: ~& ~
    T
    0 \# i+ m4 k7 ?. X0 [* y LH=F % [4 U1 I! o+ n: y
    T
    * ~! ~" ^& l2 Q) R3 ^8 y  @ D 8 O" }! o$ F6 z+ ~
    8 s! H- {8 m& d$ Q& C0 f
    2
    6 c0 j5 n* i5 ~! s. Q- d, I1
    * c1 s7 ^4 D; ?) D9 [3 P8 t. Y: i: O5 Y8 X9 ?
    ! U9 Y- P* ~7 _
    LD 5 x, l- U% s1 S" c

    . Z3 e% s6 d! }+ m+ t2 S3 K+ Q21 `: v4 k2 c9 t! Z% V+ w( p
    1  T' N, |! w% [% t  b% y6 A
    * \( b- K- k/ m, O- a
    / m& K; z8 C# W% q$ o* M2 S
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH 3 m# X5 @0 H$ T1 O3 O; {; Y
    T! Y- U% w! E) F0 W/ k9 Q& C
    DH=F
    . H4 X0 T+ d% W2 d% iT
      |" l/ g# D8 r0 I/ ~/ M4 O3 w2 ]2 X F=I,于是优化目标变更为
    $ G1 {' k/ ]5 [  h9 }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
    ( S0 Y0 C% ^; @5 Y$ `F( Y6 I$ f  ~! T  C  K* L0 f# {
    argmin
    " R; j. V% J7 `3 I9 ~; v
    9 i; i8 E; z  }  y/ g6 D
    . R, S9 `( N) P
    1 i1 `# p+ O0 t tr(F ( w; n1 l  `% j% t- C5 d! C
    T
    ( |3 R$ g( {+ J+ b3 |' Q# g D 9 v: U: }" o" T) s  b
    2 k4 J. g5 f% B* F% N/ a% i
    2, _/ I& T. Q' r& @4 H; I
    1; P& P2 n: m- k' R4 S2 j) u
    / U- o5 T3 V4 P4 K
    & j9 h- M# Y) t8 b1 b
    LD   Z, v6 i* z) u2 L* _
    8 x+ S7 p( a2 H9 ?) L5 V
    27 n# G8 w$ V7 F: i
    1" g4 l8 L5 Q9 a2 A

    ' D9 _, s- A2 T" [5 g
    , P9 Y& }. b  W7 G- R. n F)s.t.F 6 r$ F: B: x5 R4 d2 T6 y% C
    T6 u9 f7 _2 f! b. `  v
    F=I! w7 V: K5 q8 k/ l% o( N4 M
    6 F+ Y% ]. V+ }) i# P, |# w
    现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 3 ^5 A5 H  y& \; r
    8 u5 ^/ \( c0 e+ a
    2
    ) b1 h1 p: }4 t1: V0 q4 O' j1 ~; A7 k7 U- U

    - h( Y' e+ [' ^& X  U$ r/ _) _5 j4 J  S5 s$ I/ k" y/ j
    LD $ z4 h, U/ X1 V, C/ Y3 P+ q! E% c

      a6 ^$ A6 x3 N, }% g2
    3 e& @9 J* v: `7 c1% G, }4 E5 @+ I  [8 Q; P

    # U/ ]: c, [8 Y' u
    , L6 u' q/ D" z8 G (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    # D8 r# o4 p$ I; L
    & e, u* N2 m0 g0 R一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    + B& A( g5 y" B; H! K% y* `$ r& w
    ) U( b2 `6 g) R, Y% p$ L8 [! I2& c: {  F* Y4 w, m- _, A) n
    1
    - C' R4 X9 `! l% E
    8 _0 P$ j. r/ O9 P8 ^% D5 l
    # G  E4 s% O- V1 r2 e LD ( f4 B, Y% o- x
    ) K" l. [' v3 A4 ^
    25 G8 k; m" Z. F
    1
    ) w- B: }5 a6 Z" \& S. B: P
    ' W" a, B5 c$ d* C. W1 Q8 U4 q/ K8 A; d4 S3 n3 \! _
    相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} ( s8 b# e0 p6 J: f( V; f2 V
    d
    + u7 n: C: {3 di
    ! K) r3 }- S$ f3 x! x- Y0 h2 l6 X4 e- d! k
    ∗d
    / V+ F7 N1 N' [2 p3 c# u- H/ \j- r* J0 c& N. \' P  r$ `$ s
    " M1 d2 {; o9 g& F3 z

    : ~3 s' q4 g" V& ~# ^; [4 @, E% w  H0 E- d  R: a2 u: T% [  p( O5 J

    ( P1 s) M1 z/ c$ ]3 |# S5 PL
    ! i4 ]5 b6 |+ V* i; H7 z; Y# r  W6 _8 Nij
    8 ~9 d( G) R0 I! [5 F% S9 S; N* I" j+ q% f8 F  F8 X8 g5 v
    2 l5 P: \  Q5 h( y2 ^

    9 Z& L* ~0 x4 {- F( ^, x8 ^8 u
    & |) E1 Q. Y) N! {& c7 ?二:谱聚类算法流程9 p1 ^* l+ _9 R  r8 `- C  ~
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    : w3 i# z7 a9 [' D1* Z7 `% q$ p  \

    7 L! f+ ]' c/ U# j ,x
    9 _3 k$ V/ Q" i4 u: V2& u& L/ p% z- l: R
    , r& a6 O& K- L7 b/ h0 [+ G
    ,...,x
    * O3 I& q' S* r, b5 G: |5 d# x( F3 tn" }3 \" P# n/ Y+ H1 K6 a
    . A7 ]1 x" j7 ^/ U! {- V  [7 E
    }0 j" S3 A& U% Q
    4 f- k. V, I9 f- v5 u
    根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)( i& D* [4 E1 R: O- d
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD
    # }9 W0 h9 a/ G6 D& W4 x1 Y& {# R# y计算拉普拉斯矩阵L = D − W L=D-WL=D−W; s+ X# Y, _& ^3 q
    得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    8 g) {; \0 A9 C& H; s8 T2 v
    1 e, m  z; @: B# r8 ?: R29 ^- e/ Q( ~. r. ^# O
    18 u% K3 Q+ r2 J& O0 e" w
    3 s1 Z: l& M. P4 }

    9 q3 ~4 G9 S4 e* X. U0 O' c8 G LD
    7 D4 Q- w; U0 l3 m
    5 M+ v+ ~& ]) S7 ]5 Y2
    3 C: L2 z9 j& ~1
    0 _+ J0 `, h+ Y7 ]5 y, F6 j  O! V+ q* ]8 n3 Z1 b3 U& c! G  V
    7 `  R' i8 M* e/ p1 d" ~3 V

    ( [. q2 W: f9 q: A4 Y; {2 P8 Q计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
      T) {! Y3 i2 r+ y! V, w- G; O# K9 I1 `3 L. Q3 F3 R
    2
    0 ~. n/ w# `9 p8 y0 `( G- A6 A1
    # X+ H6 k) E% p/ l4 v9 N% p( E7 _" `) c; r3 Q# w# _5 T2 _- p

    ' N/ P) g  f4 ]5 p# O6 x% u LD - }( d+ m  w- F/ n3 a
    / [+ L% Y, V- W+ B: c" ?; }. x8 V$ _
    27 k! {! |: {6 `+ n2 l" ~4 v% N
    1
    ( {2 t& @# m9 P9 o! q
    9 {" s2 o# }2 Q* @$ O
    5 N- l* H: C; B# Z 最小的k kk个特征值对应的特征向量f ff
    $ D, H; Q/ x1 b0 M将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    8 L! E! m1 K$ V. `' ^$ @F FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k 0 h: S; j" F! o- Z
      H8 Z9 M" `' `1 e$ g
    / m0 l( e7 ~: F, P) W
    得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c
    ! O) E% Y" }- |+ {4 V0 h12 i( A; m& K0 |( l* w

      h  h* q  A; X* A" K3 s; u: X) T ,c . z& g+ ~9 s0 l" v6 h( J: Q
    2, t3 `! n' W8 o  V  f2 G

    * J! X' U" A, P- r: s4 N4 Q1 y ,...,c . t1 }- W2 O2 M1 h
    k # k) {; [6 t& ]
    % A) u) O) W2 K! w9 I$ Y. l

    ! a5 }/ Q( H# V* A* o& M$ g# X* r1 ], N* K" \$ d
    )
    3 l% M/ {( i; i& |0 J: o1 \# K三:Python实现
    " Y. v% |4 u6 w  X1 K8 @8 ~# C  T. nimport matplotlib.pyplot as plt
    $ Y1 [& P8 n9 ~' W9 B% q0 himport numpy as np
    0 Z$ i) I+ J( L5 O: y) h, L5 Jimport pandas as pd# _4 p, O9 G1 i. |
    from sklearn.cluster import KMeans
    % I; {& S5 _8 Z; ?! h- efrom sklearn.metrics.pairwise import rbf_kernel( U" O7 I$ H6 b. h- R; m
    from sklearn.datasets import make_blobs
    9 T8 l( B( {  [% {6 @from sklearn.preprocessing import normalize0 ?. A% G) b5 @& i8 ]& `$ q

    6 v. q: G' E0 j1 pdef get_affinity_matrix(data_set):
    . u+ `8 [& i) }& I/ t& S- [, o    #  利用高斯核函数计算相似矩阵(全连接)" U3 R/ z. F: u2 U& t! R
        rbf = rbf_kernel(data_set)
    : N$ V/ w) \5 E; O8 r4 g    for i in range(len(rbf)):4 B" c6 r4 ~% r; k
            rbf[i, i] = 0
      d. ^1 Y% V! J7 j. D, ~7 E    return rbf0 c( t# g- d& j6 x% b2 H

    9 s! L9 w* m1 k" V: C' ~
    : B. w6 `* L% Q2 r4 H- ~' u. |" Mdef distance(x1, x2):
    , B: Y) |1 I( _7 E; o  Z    """; W) E3 a0 e6 j; z/ L2 a4 S# N
        获得两个样本点之间的距离" v$ A: U6 m$ ]+ u9 T
        :param x1: 样本点19 n0 Z) `0 L8 u; P% `- @; t1 y; e
        :param x2: 样本点2
    $ x; E8 V  s4 z' i# k    :return:, V0 W: ], T4 V- \7 E
        """
    - {, A1 m6 y. R, d2 d$ ]    dist = np.sqrt(np.power(x1-x2,2).sum())
    & }$ p3 [5 H/ K2 U% X  H    return dist
    # w# T  f, d0 i5 l6 @5 c4 H# P
    $ f# ?) f: u( \6 a5 tdef get_dist_matrix(data):2 K1 L: c( P9 ]/ A
        """: M! y8 w( O/ w& t* c
        获取距离矩阵. i5 J. }/ x' c
        :param data: 样本集合4 t/ R6 H8 o2 q
        :return: 距离矩阵( _3 j) F0 _$ o
        """
    2 @5 q6 r0 t2 @    n = len(data)  #样本总数) `2 @( v; v8 a/ _% a
        dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵
    2 U/ Z. m# `, R3 r, U# S    for i in range(n):) b/ x0 _' y3 E, s; B# O
            for j in range(i+1, n):
    7 J1 N5 {. q+ e* \            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])$ [# j8 s* Q9 M* E
        return dist_matrix- v6 A6 B- i- L. r; t5 A) X

    " n2 Z- D# t3 X. E5 e1 @& @) q) K: xdef get_W(data, k):
    ; r% _+ e/ m7 Y& E/ J    # 获取邻接矩阵(K邻近法)
    2 y# e6 i8 q2 b: T* J    n = len(data)
    ) l; B+ v1 {9 v" {, Y    dist_matrix = get_dist_matrix(data)
    " d1 l8 b5 O! q7 f0 E; z+ k    W = np.zeros((n, n))& A; C# O8 Z" F2 U; |- m, k
        for idx, item in enumerate(dist_matrix):
    1 r' t1 d5 ]% a, h2 t        idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表% S. {% |( v! |# \
            W[idx][idx_array[1:k+1]] = 1
    7 j/ k; {9 U/ t! p# d    transpW =np.transpose(W)
    ' j; a" Y( A3 R  I5 h/ ]1 H, F5 `    return (W+transpW)/2
      e% J" d& d, O3 H' V# \! t0 e& l% F6 V& S: b( W
    def spectral_clustering(data_set, k):( ]+ [3 x' y2 g/ I" ?
        # 利用相似矩阵S得到邻接矩阵W
    9 K5 u0 v. W5 Q7 g& H    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)6 x& R8 `( d  z, J) y- {) T
        #  W = get_W(data_set, k)  # K邻近法
    * N5 `! Z$ @" X9 {+ ^
    1 S! x7 ^8 F: P3 A    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)! M! {' K% v0 J2 e+ n$ ^
        D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))5 e3 \! u" `0 K) m8 ]

    $ {; i5 i: I/ X$ c6 d* ?    # 计算拉普拉斯矩阵L=D-W4 r: t8 Q7 Q  f* @6 {
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv. F: w/ P$ B1 M* e' Z6 d% F
        L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv), c! v$ c, o6 a7 o7 F1 P
    % ^$ f8 X; Q3 x1 ^2 x3 m( [
        # 得到特征值和特征向量
    ' l+ `) e9 k* l$ D    eigvals, eigvecs = np.linalg.eig(L)
    , E- w. O' P5 Q, F# t% L3 D0 M* `2 y0 X* e0 ?; a+ ^- T
        # 找到前k个最小的特征值(索引)
    2 e$ v6 X( c* G: P) s% P    k_smallest_eigvals_index = np.argsort(eigvals)[:k]  r; [" ~# g# Y: V3 [4 Q, M8 e

    ' t  t. j" l4 G- [% |, ^. e- C    # 取出这k小特征值对应的特征向量,并正则化
    5 S0 m1 b& d4 O' _6 ]; p; _3 ^    k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])/ g$ j# C, Y9 p! m, S, ~

    ( [. S, i9 D" R. N8 K7 t' G    # 使用K_Means聚类: Y1 H. R+ v6 J# w" X. c2 Y1 c
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    7 W4 q, D2 W7 V# Z# S7 X/ Z! X$ b' n' M
    $ e% o( [0 u4 n& D& c: m& u% N
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)
    - ?% T" w8 @) ]9 r$ M3 g  I0 @) Draw_data.columns = ['X', 'Y']% k- }+ L0 `) E& A, i
    x_axis = 'X'2 H' T; M) R6 L
    y_axis = 'Y'6 }1 N  I6 W, w( y1 w/ B( `
    9 O" J& z% E& ~
    examples_num = raw_data.shape[0]
    2 _5 P7 o5 s7 D* {train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    ' H3 G+ ]' G5 ]" Y3 J4 N, O2 ]" a) k# ^

    ) a1 Q: X8 C8 O5 |; tmin_vals = train_data.min(0)" y* k7 W, a, ^# i$ D
    max_vals = train_data.max(0)
    8 q( X) p  Q: granges = max_vals - min_vals) I6 s" A, E! X0 y' T: W* j. k" x
    normal_data = np.zeros(np.shape(train_data))
    / G" G& c- V  O" ^. tnums = train_data.shape[0]
    3 u1 F! P' u4 p3 n& fnormal_data = train_data - np.tile(min_vals, (nums, 1))
    + x  _2 T, G& F0 ]  y7 Qnormal_data = normal_data / np.tile(ranges, (nums, 1))
    . C" j" n" e  m$ @3 C; ]
    9 M0 |3 j: S% `7 ulabels = spectral_clustering(normal_data, 2)* H# k% B& F  ~$ q5 Q7 i
    3 I) H7 R% P! }3 a" M
    # 原数据* p% @, v2 n( }& A6 T4 z0 g
    fig, (ax0, ax1) = plt.subplots(ncols=2)
    . A, J2 Y6 J4 i: d) |; w( X# iax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')0 L/ Y$ N" |7 s$ c; S6 x
    ax0.set_title('raw data')
    % m0 b" T6 }% K+ [# 谱聚类结果. y& C6 }! h# f: F/ a) v
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)* l: }! N& Y8 c: ?- N
    ax1.set_title('Spectral Clustering')) f5 _' F/ E( }0 Z: y

    & @# O; N  N7 a; }, vplt.show(): t+ @+ o! ]$ r* s) L

    ( L! x3 p! J; W. k7 {18 W4 l  J$ \5 z3 ?. L
    2
    - [( m6 E" O* q( s& B) b3! |0 J2 ^1 C( v0 x+ i% {
    48 ]4 G* q: j$ ?: W/ X. ~( W4 R
    5
    ' Q  p5 x8 q, u1 k) l64 y" L8 [1 }# r$ j) u
    7
    * h, X+ [" R6 T$ d- p) n5 O" m8
    ) U; U( t. j# z9 b$ O9& s* i! |. d3 K: a* P
    10
    : m3 F, P7 M' h. |# i11
    * J( J: B7 Y9 Q+ M, N12
    - P# D# m+ I1 Y135 v+ `6 l: z; T$ @3 d7 u
    14
    ) m0 Q  H1 S( u2 w: {& [" z! i9 S15
    1 y  f7 ?+ Q+ v# h* n2 ]3 j164 j1 T, p  A5 w
    17
      Y% I% n  [  @3 P% ]+ {$ T4 E8 C188 E) U- a  o8 ^" c/ P* ?
    19
    - |) S+ R# I+ r( J20
    $ E1 y8 G: H$ g8 f) h21
    0 H2 l+ z( b$ @( U/ b220 v( v0 \( r0 w2 o0 C4 ]
    23
    ) S4 d  z  B! O1 _/ `2 n245 y" s4 G/ ]2 m( L0 g' y
    25, T. p2 L* x4 G" e8 W" u
    26) Q" k: f0 l3 q9 e' g
    27
    . ?& T! _5 P1 T28
    ' u4 t- c+ H4 l! o  m3 r6 x299 e# K+ H: S0 N! y" g5 F2 {( B
    30
    + e2 ]3 k0 q0 y& G$ Y! \% D' x* v31
    " c; z* n" c) j+ Z" {. J" G32& z  z5 V( v% Z- O* u% @' h5 \, Z
    33
    ; i  L- \4 p# c: a  I( l7 x& c348 W$ p* m( o8 k7 F: `$ j: C
    356 h& ?# x# L+ L+ {$ b$ X. A
    366 V( X0 ^: z( u
    37- M! E5 e" ^4 G) n# G3 ]
    38
    : H1 l& P* c$ N* Z393 j% X( Y6 w) J
    404 o& J& z2 a% e" b9 M5 m
    41
    6 o7 y3 z& ?% i- K! }423 e; i5 v4 v) `2 s( C* s$ D/ z
    43! D# y4 u+ t) q# d% U0 Z7 x
    44
    # Q$ a4 b# E5 @+ i& f45
    / r1 O. E7 P) Y( Z- }46
    : {1 K( E2 f: C1 x% ~  E7 B47
    ) D8 z9 B& ^9 x48
    # T4 {" ~* d: n1 O49
    2 ?2 a! d/ g- [; n6 }509 Z5 d# L/ A% u7 L
    51
    " r' w9 x) Y5 I) C% E1 y% R52
    1 y2 c. B' r2 G$ x53
    7 p- {- Y2 Z9 M) |* w+ \, b54
    & {) j5 _7 p2 S) P; a55, D$ m( W9 f4 H1 a
    56
    # b8 Q! n7 f: l57
    % I: u; K/ v& U$ k! E7 o# ]589 `1 ~2 W( W# @+ ^! v) ~4 A( l. F
    594 z9 b8 d1 }( Z" a3 y
    60
    9 I0 P) h" u- S- k61
    2 b% L/ o: D' t. a5 F9 d9 d62
    0 s6 a# ]  O8 T63/ p$ t3 w7 J' X
    64" N) b* z2 ?7 T5 a+ V2 n3 a1 u
    65  E1 K! c0 k7 P
    668 l2 U/ J1 Q. A. i, c9 f1 H# o
    67: e4 q. [2 M! Q) o# s8 Q3 x
    68( A4 J" K# Q, x$ o: k; M: p
    69
    & [* E7 n8 n, ~$ s9 A, ^# q702 Q5 Y' y3 Q8 p& G8 s
    71' p2 H8 O% ]" @- j' w& ]
    72
      h. p. j) {- i& L# X# c6 x, d* v73% k5 [, B" D  q1 x4 Q: f
    74
    : x3 w, ?8 E1 d& Q) p$ ^75# d$ L! g- u' v5 z0 t* o- T8 v
    76' }# e; m  G3 P+ W# D3 v; n& {
    77- c& A( N* I8 R- u2 u4 P+ c- \
    78/ [$ B0 i% t+ _2 d" ~
    79
    2 j# j3 m8 f2 N80
    8 s) {* e9 k! |$ S% l81
    2 @0 Q, O) {6 I- W* Q82
    1 {3 b8 J0 Z/ c6 Z83, P- w% j- [/ D' {) d
    84: E" h! A8 c2 U2 \1 h
    85
    # Q7 b6 e9 c4 D8 Y: `4 {86
    # m8 D9 D' m: |7 v& j87
    7 G# O: d* j9 Z% o  I. ]! x! \88: ?# t' @) P2 v( X0 S/ X% @
    89
    & ]. H2 Q+ a+ l5 V- P900 f4 [. s" B3 ]& R6 A6 y- g
    91. e8 ?6 s7 R/ y4 x+ K: {0 U
    92( J, r4 i* Y4 }
    93
    * m5 t4 l' B- D2 v0 w$ A. d$ P. P94/ [2 }, F: i0 h. o; j' i& P
    95
    # H* G5 @5 T- ?0 Y0 `9 o' I96; ^7 {' Y8 M6 P$ `1 V" g
    97
    ' M+ s4 N  F5 ]+ P98
    # m) v; p) B# L" j- F) r99/ f+ k6 |' N; E- Y/ j
    100
    7 q% P" ^) {0 T1 h. t0 Q101; G# y! [  H+ |. {# b
    102$ g+ s. x8 s1 j* E
    103
    0 s/ J' b' u' [4 ?" P(高斯核函数)
    + r: T9 S, r% _' Z. i% \' K5 J! u! s: z! U2 w

    % D5 l* O$ u2 u. a5 e  \' O# H(K邻近法)8 m0 o5 s5 o4 \! [9 `7 x! q4 H
    % C( F% ^! K! \& a
    9 @% W9 \% U' O
    四:谱聚类算法优缺点6 U' c* ]* }: B" k* H9 ?5 X6 o
    (1)优点
    ( I7 ^, C" Z6 s. f, R" f谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效
    9 A- e% y: y& @使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    / m& F! D1 H5 z- `$ X  }' Q# K谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解
    3 b) ?) q' B' F7 J& |(2)缺点3 {8 \& }) b6 k
    如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    3 |" a( o0 w& k# l聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同
    " {  u, e" M% @  @2 F5 u' H) k————————————————: y3 }  g& f+ S1 m" E
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    9 a% ^! `. s) k4 Y2 T原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494
    1 f2 k: R% H! g. D* {/ L! p% q
    : [/ i' E& m# j& O1 H5 x- h* }5 B; O  ~1 S
    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-9-13 15:14 , Processed in 0.445798 second(s), 50 queries .

    回顶部