QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3025|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现3 U: {( l6 ~0 s0 U
    8 u& L: l& Z/ u: N0 x9 n
    本文部分内容源自刘建平博客,在此基础上进行总结拓展
      ^2 D/ O% x+ U2 Z% f9 w
    + G+ o( [% S+ Z原文链接7 t' Z  c, j& i' b6 Q1 b
    文章目录2 v  }- q8 L" I- m
    一:谱聚类与图划分
    0 `* R) x. F+ |( O(1)比例割! Z  r$ m4 D3 S  H" [  I3 q' o
    (2)规范割(常用)* N+ H2 G2 r) ?5 f! D$ Z
    二:谱聚类算法流程8 ^' N; Q8 ^7 o% _( d9 N0 h0 ~9 U" u
    三:Python实现
    , h! ^/ n" n# O: Q. S四:谱聚类算法优缺点9 p! j: s) w6 w* G
    (1)优点3 `9 @/ a  b8 \3 S4 v
    (2)缺点
    # ?' d$ J$ S" F" d3 c# c. D4 B一:谱聚类与图划分. |) v& _; _  b) c# Z2 @
    无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中! j* h& _% M/ I4 ?0 ]/ h

    ) W" ^# F4 J0 _# c每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    3 N! J2 a( S/ e5 s# H1) {, E$ w, W. `8 \5 @9 D9 f0 x* R

      }, |" j$ J" S! X0 w ,A ( @  a  c' O, A7 T2 M( {
    2
    3 @" x: d# `: U4 i  [7 T+ U
    8 x- a% v! O7 h" f. l2 n ,...,A
    ! e: n. x5 K8 b6 _5 `k
    $ b2 O9 F; M/ o) l1 O
    8 K6 z# O' ~0 n2 k4 a" @6 m) t2 n },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    " `  K, S7 ^& ^( ^; d  pi
    1 I1 m) d) b6 `9 r( {* m2 w" f) L9 H; |. o, d0 U
    ∩A 3 c/ x0 j8 }+ V' z8 W
    j- C0 U; H* R( t( _6 \

    : C; Q2 ]5 ~4 Y# i =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    8 O7 A. {; V' T* R) j7 V5 m/ B1
    : J; A. k: s# S: u
    , ^+ z1 Z# W1 u1 ?& |) q ∪A
    1 o& Q0 K( W  p9 Z$ c; x2
    / }) x' X+ u  J1 x) ?8 T+ _; y- g9 q0 Y5 ^& o- J
    ∪...∪A
    ) V! S+ m" j6 X' i3 ^; nk
    : c' k0 A, J- G- b6 M
    & l4 H7 J3 w/ l. S' V9 r! h8 ? =V9 k% J2 d8 v5 @
    对于任意两个子图点的集合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)= 7 ]8 C, j/ o3 e8 \1 [+ ?; @* |2 ]
    i∈A,j∈B3 r4 K  O7 y' d- A

    , a  \) h2 M0 V$ o% b
    & Q3 g4 W0 J0 _# `- W$ | w : Z9 k) w% \  i/ J! m
    ij
    9 b( w/ e3 E( C$ V4 `
    * M# t: x1 {7 C% e' ~
    ( n- y! l1 E  w对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A 5 X2 e4 h$ Z2 X. a; v
    1- s0 q( N0 `7 {$ a

    & J# g1 n( J1 B+ s3 i ,A ) ^% G1 u( U  l0 i5 s
    2
    " l2 ]; `" b( S! Y6 {2 P( d* M/ ?, k5 K( ]* h( r0 }7 f+ }
    ,...,A
      E( }- D2 q5 I2 c* ~0 pk
    3 I8 ?! m) I( z: G$ ~) P, X1 ]/ [  E" d2 j
    },定义切图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 7 C2 H' b0 ^/ \: e! A9 i! t
    1* Y' q: A4 H6 ?. B4 ]* v
    9 T5 e( Y* S( _
    ,A , [7 w5 R$ R; S& V7 n, N% @- B
    2
    5 X) |! H0 ~; ]6 E* d3 Q7 b- o# {5 S5 m
    ,...,A
    0 ?( H$ J+ L4 L# {' K/ p6 Fk
    2 n# t/ D; X1 g; C2 t8 h" `$ u7 n- l% w
    1 X, X/ v2 B4 T, a' y( B, } )= + j" v7 [5 `# P2 @9 p. X2 e
    28 P  E' a8 X5 h& m4 q
    1" Q( g; u, @( p8 |6 Y
    0 E/ K( U% j1 n; j0 E0 c3 t
    & Q, R) L6 ^- Q9 N
    i=1
    # ~4 M  S1 T5 e8 \8 }( p
    # P- j6 J: h: o& X" o, Dk
    ' p  m2 ?1 y- ~
    ! [9 y# R7 _+ U7 ~; ^; D: f4 B W(A
    ' _. P" [7 ]$ _i
    6 r" X4 \. u( c( G6 o9 n# g# R" {6 J$ W
    ,
    4 h9 y5 A! u! ZA) C8 O* Z! A* R- W6 q5 O% S
    ˉ
    $ ~+ R) T- M' n. K! {9 E7 N8 z. x, w2 Q5 N3 k4 n# l
    i1 j+ s6 E+ x) h( x0 }2 p  b% w4 F& I

    1 }6 m8 M, t; B. ~9 i ) (其中A ˉ i \bar A_{i}
    6 C0 ?! u- o& `( k  F# UA, K) n# z* ?( ^
    ˉ+ u6 x" F  o) u* o5 c$ K3 @# Z( M( T

    , a6 v" y5 k; B, I" K# Wi
    - |, n8 f8 [+ ], Y! ^- i; d6 n% s( U0 Y
    为A i A_{i}A
    + U/ u: a2 {2 n- Z7 t- \i
    2 Z* B2 N8 V' b' n3 }
    ! n8 p( c+ b/ K9 b9 _) S4 | 的补集)) {& y- }8 x7 p6 d
    可以看出,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
    % m8 W2 A( P  d& D/ G, @1
    * s! W: T! `: P/ |( O
    % |! t/ l6 c; `6 Z1 o- Y2 L ,A
    7 _  I: Z5 e2 B; f4 U, w27 [5 K' r# x2 O1 g' P1 u
    4 Z" D$ Z8 \1 i7 R% v
    ,...,A
      t! {7 A  S) r6 i. sk
    ' v) u" x4 d! m9 p: s
    - ~, x7 P8 w% @ )= * z3 [/ P8 M2 b0 ~$ H
    2
    6 U) p* S. d$ r: t1 O$ D$ p) b1
    % W' i% |- F& D  p  s: _4 ?6 j# n: O& k' b9 I
    " K" k" B( k6 ~1 B0 o
    i=1( m, n2 |( {1 U6 @
    . N/ ?; N- r5 Z1 ?1 i6 |; h
    k8 o- c/ C4 P, c: y

    ' f+ S% ~) q* Z! z7 L' d2 J9 Y/ _0 L W(A 1 D" K. _/ B* }
    i
    + X( G9 K5 J2 l( ^$ L+ [
    2 D( B0 F* ^$ W& l8 a , ; X  O$ H" q/ |6 s% g$ A5 ^
    A0 S' S  [( j( Q9 v( J5 Z' I
    ˉ
    ; W8 c$ w( T3 M6 I$ |, ^9 }2 w4 w
    i, [; g' R! _2 f9 ^1 @0 @* ]/ ~& l

    / s4 C/ ]) x0 _- U; B% s$ j' i  u )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
    1 a( z+ F6 s; p3 o15 A# z8 d. P5 n3 ~. j$ @

    + V/ I' g6 E3 r# X) i) o6 i ,A
    / }9 X: N! |2 [/ r' }2
    & t3 e* u/ W. X: e! j8 H; x
    6 w& }! @& x) a1 a* X, w$ K ,...,A
    : U4 W: V5 V1 m* F0 B3 Pk
    0 G7 w: U- Z* B- E( n4 x; f& E0 {
    * z- Q8 t& x& w: Q )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡, l: r: V- q& I5 u2 N* |
    0 r* s6 q" M9 P: ?# O- C
    例如下图,选择一个权重最小的边缘的点,比如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 6 }$ f+ t, F4 O' m3 Q" |
    1
    8 K4 `- P" Y! ?  B
    ' \' E! U, r* W ,A * O# c' w$ J; ?5 i
    2
    2 ]" Y" a3 ?" A0 g% x, G4 U
    5 E& G/ g6 f( J' [1 I ,...,A ) }& _+ Z3 X% H' d* V% I+ E* X' y
    k
    % O: p2 ^* ]( l0 p
    3 l! k7 R" x4 v. v$ H )但是却不是最优的切图/ T' ?3 ^1 Q; J$ C- o! u

    & v1 D0 X% {7 Z6 O% G; F为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割: @! R6 p; J/ c- y
    2 [# B2 p6 \% z$ @1 R' u* D' I
    比例割: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' t0 I0 w/ y17 d* c) y  {" {6 Z( K

    + I& y9 _3 ^# Q  G& f* ]& A ,A 9 u# ], I" F* R7 Z6 b) v6 Y
    27 A( ]/ B* `" v, K& I* ]
    * {. I9 l7 ^* c  C4 _2 l
    ,...,A
    ! g4 q1 c  H% m9 n) P, Pk
    # Z6 H1 C( f( T0 H% s5 U7 t
    4 w( A7 J# z* ~$ i% {9 T' I/ C )= ( s# s- V; m' ^+ S/ ^
    2
    ; W& F7 \$ T+ `1 n) u1
    . ^& p0 Z+ r& q& H) `+ V
    9 G% e4 o' |. m0 `# C
    2 o; n, n9 S) t7 ?- Gi=10 N. g9 V  U" U7 [/ |* T

    . @- N( l# \5 j+ s" {4 g' u, vk4 K' X* ?6 u$ f2 r$ p
    1 C) O0 ], P& @% e3 E3 V
    8 @5 B" c9 K$ w% x4 B; U! x* u
    ∣A / `0 M. s, {# ]
    i
    ; d1 ?9 W5 ]% \/ k
    ) K$ p8 b: m4 h; z1 S! Y! K9 B; l% ]- |- N( x* O
    W(A * ]3 H' S1 Z7 Z" {
    i
    ; ]8 D0 z6 e  O% {
    : @, B8 ^5 t' i0 o4 [& q. u ,
    : D9 T) b4 _( Y- BA
    - p3 w% G7 P8 |* Gˉ
    4 J* Z; m' A/ C) [) T) L7 D6 P* L9 g3 \
    i
    6 [7 o8 J% A! R$ Y  k  i5 s6 e9 c: `- T, m& D
    )
    % i* a" j' s4 ^5 n7 y1 T' d8 t* \2 G6 V  o/ W3 n) O: C$ l

    8 b- m  Q" J) f# j! S. L1 Q4 S$ 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
    ! Q, D( C) K2 q. L$ d* w% D1
    ! m$ N+ c& \/ s  M# W( v
    & U5 Q% M' L9 l5 c( d; w: P ,A 0 p( f  ^1 N' z2 p# s8 I
    2
    8 o6 v) z1 F' \- x2 a! W- d* I0 @3 v# L
    ,...,A & e5 q* _- y/ F0 j5 r
    k
    7 Q9 M1 w- n9 i' Z* y, n' a( n6 d' n6 u, C- f
    )= # p) I6 _( q) ^- I3 H* G& i+ s- W9 |
    2
    1 ]+ f- `8 c1 n1! i2 N1 B8 d/ r; B: |' [; z: N

    / W" i) _( i9 B& |* {2 j$ b! D8 f( o& ]( K5 V1 @
    i=1
    : s; {" g* o; c5 k6 K; g* Q- q+ J) p6 k( M8 e3 `, Q/ i* @6 g
    k
    ; o% {6 s, i" H8 R7 K. Y
    : R# x+ l; h( ^" N6 O, @( C  k, B
    9 P' m7 e( G& ~& x: L! d8 W/ N( Avol(A
    / k+ y! H$ Y: @0 M; h+ Mi5 W! a* b8 g! [4 `) [5 x

    # A1 e; {- z& t& J; @+ a! T" ^ )3 x$ s8 a1 ^5 S( G; E" }4 Y
    W(A
    1 ^9 S) x( ^9 X6 u  \5 E1 |i
    & n9 z2 I" P, q8 b( [* E8 o
    # ~; D0 L* M8 C1 v) B/ O4 r ,
    3 L/ d7 q- m. \9 Z9 W; d& t4 RA1 ^$ W# \# Y3 C9 A" |$ e( N, J1 X' e
    ˉ0 f+ w( o0 `! u  p7 Y

    % N: p! @  Q1 L3 qi' S; N4 B. m5 f$ {, j
    $ s$ g8 ^4 o4 P1 _
    )
    + y* M. Q0 e! v) U/ R! E8 @2 B. S/ R3 v
    8 |5 ^6 S: u9 G* e
    (1)比例割
      r4 K/ q5 Z1 S! {引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h
    9 v, u$ g4 F4 jj8 V" T9 a6 O' ]3 |8 g2 C/ {* P
    7 \2 z- n- w: J6 \
    ∈{h 1 [: t. t& p, }
    1
    ( M, {  Z, H4 [8 ]4 j4 [+ H. t9 e7 R& }
    ,h
    : s/ P# |1 j8 M0 j- S" E. ]% Q2
      ?; `8 F& W8 P+ W3 Q
    : Z/ W8 y+ m' C ,...,h
    7 \/ s* x: d/ D+ {: }+ {+ sk4 o6 O7 S* e8 A5 Q

    ( |% h: ~8 Q9 p5 Z/ n+ O" H; A },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h
    7 s' n  e) t; K1 C4 ^j  a) K6 ~7 b3 [) n& F

    & ~7 y/ }+ G+ @' C8 u ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h 3 w% {& p- F! d; P4 v/ ?( W
    ij+ w. m. U8 }* ~  o. }
    7 h, Y1 k; h9 s% d1 }3 K! L
    如下
    7 }  D3 s+ p' f% C5 T- P- _& v4 E- a8 V+ C+ q
    h i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    ' h; o/ E: p" ], s3 R* \{0,vi∉Aj|Aj|−−−√,vi∈Aj
    & m; s9 M4 w* S5 d{0,vi∉Aj|Aj|,vi∈Aj+ t  p4 h' v0 V- L% k4 S2 n' Z, [6 J
    h
      H" f6 b3 R3 t! v$ G% qij) ?7 N8 ]* S6 V& U
    8 M% N, {0 F& V; Y! [. x9 n% l' @
    ={
    7 h; ?9 P! H. n; t6 n5 S' T: B0,v 0 M+ J* B' r( D! D. u
    i
    ! {+ ~# Y. e8 J8 K
    & C2 H, g% ?( e9 p5 b1 y, ~  f3 a* |8 F0 P
    /
    % Q+ S( n/ R6 R/ }( kA 8 K+ _: \8 T$ S1 [
    j! x' _; u' `4 H! X6 ^# j
    ; `; N6 Q5 p) c$ k4 Z9 b$ w

    ! [  Q% [! r. H: u7 p∣A 3 h! l# B* X4 T
    j
    1 w0 g" j6 H( k7 N& T5 O+ x' K3 L1 q# _5 x$ ?6 I8 [: s. q
    . w( j3 c, C5 s# v( B: K, [
    $ Q) G( Q2 h% v* K3 f% @
    ,v
      [0 G4 N& j9 P/ A' ai
    ; N8 Q  R2 A0 V9 o5 j
    # ^9 i' p2 n7 H ∈A
    : C$ T' @3 Q; O; xj7 d4 X! c% Y2 Y4 H$ {, A
    : o5 j9 w* N: A2 \" o

    + }/ g6 b  S2 R; `' e2 Q: g+ i7 [: j. S0 o- ]' s

    . ~2 p, U7 r1 k5 f- l: C2 g" u2 N8 {$ M* y7 ?. f
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    1 B6 Z& K/ s3 T: `i) z+ u" ?8 I5 z0 T/ n
    T8 O1 M$ o9 X9 e$ h. M4 u
    7 S0 @0 U& k- w' l- t2 O2 W7 I
    Lh - e# {4 w! U2 X. e) a6 A+ h+ t) N3 i, M! Q
    i
    + j8 ]8 Y0 B$ v5 S$ }
    ) `- X# b( ?2 V- Y( I; N5 J ,根据拉普拉斯矩阵性质可知! E/ h+ _% v2 D0 V
    % X2 s7 E+ c/ l
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f * Y! b; W+ p: G) n9 y& ^7 L/ o
    1$ M. h1 C. ]- M9 s" u

    # |! H5 R+ M$ L ,...,f $ A1 N0 V+ t% y2 X6 r  k
    n
    : X0 s( p- q3 L% Z3 y+ M8 O$ T# X  ?2 \) Y8 o
    ) 3 k9 R: e6 ^7 z! t7 o
    T
    5 Q4 N- ^3 L) T- A% B- C ∈R ! [7 q+ e" f5 }7 x
    n
    + w% s7 ^- U3 X* i6 R; 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   H/ l4 W% T) R; P) Q6 ]
    T' P5 [; d1 s/ X* }
    Lf= ! u% K7 X2 _3 x. b# b
    2
    5 u) m% M$ h5 n6 A1% V5 e4 X! l: q" ~

    . S. B3 n- F* g4 ?& ~  U" M( |
    1 U' |2 Y; x6 ~i,j=1% z4 P1 M: m7 L- j7 F
    + h" W5 G" [2 J8 I
    n6 P6 d! s' h9 ?( A

    " i$ j  {3 N. [ w / P& k" i# J8 `$ r; i. R
    ij- y0 s* G9 e* ]: v; j4 h9 J. x

    3 C3 t$ a% W5 h& ~/ T (f & p2 k' H: V. V8 f4 _. Z
    i0 ?+ \# L$ y' Z/ a, B- A. P: b
    ! g& @; |. w+ V, W- @
    −f ( [/ l$ T+ O; x
    j* H2 ?5 S) k( O/ f' |! Z6 P/ K  h

    " {2 V3 Y5 u3 S7 o- k )
    - Z9 }9 @' V/ K- I1 e' w0 F20 ~" D* b+ j/ {, `& @" b

    % g/ h4 U+ Q3 r0 {( R* Mh 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 k3 v2 I# M! ]" b
    h ) K( W$ C& d. {  b: M' |
    i
      Y. o5 I# @2 M/ @. \T' a% P% `8 _! I  d
    3 \% d. W" T- r2 [; t
    Lh
    0 {% i' l: L' S. p. A, si# k6 n  q* T) F4 m7 \; p( W
    4 a. S+ B, h. \, F- G5 v3 W
    =
    & g# Q/ {+ X% M8 X* |, J; L" ]28 g/ L* [; `6 R! m
    1# a: T  t9 P$ w( J& N
    ( k- x/ L# f( H. k# g9 P9 A7 E

      x6 O0 s% X4 |m=13 Y3 a0 V  |  f' P/ \8 C
      G( E/ l: H8 `3 k* m: S
    & F; Z/ U$ M. ^; x7 R8 E

    . ?+ P# s3 v4 w1 n* q: j1 qn=1- w( a: I4 C) v' ]
    ! ?6 A# R9 ~: ?% c( B+ p4 d
    + E* f' c3 `% C6 I: ?, ~) h
    w
      @7 M- t1 N- x' Y4 d5 P  T% a3 jmn8 t$ c9 e* f' b& j/ |* z. t: k8 s, {

    * ]1 G- `- x+ a# F2 u5 M (h
    ( J& O7 t% W$ |3 d2 L, o& |: s8 Lim
    ) R9 w* V0 a( ~: c2 ^
    2 j- R4 A) @. \+ c/ }" o  p5 { −h 8 o6 |8 `! u! V( S8 z0 x
    in
    ! f$ [& j" }- N5 m8 b
    ; S/ D/ P& L2 m# j! u; @+ C- {0 h )
    3 V# c" i3 o1 s2
    # u9 f3 g- [: D, r$ _+ ?+ ^ = 9 n; j+ k7 `. s$ p( A% m
    ∣A 1 J, @; p2 R  @( L' L1 Y8 T# z- e9 [8 [
    i
    3 Q% {. I5 q  c
    4 E6 p, w& S8 }+ p* Z* L: j) w2 B3 V& ^) i6 @- M2 A( p
    cut(A
    5 l1 j; Q' k: [. w, @i
    % R7 q" E, N, m6 u8 v4 w$ ]
    8 e* z1 c4 C) y4 g , 6 v$ |% R4 ?* C6 m2 O, R5 c9 @+ B4 ~
    A
    ; A" m2 U) ~  ?: L, n! E# L4 G  L6 oˉ9 c: \2 t* Z* o; d
    4 _0 l: J1 z5 R  H, O
    i
    6 N* J; h4 Q0 r, K; r( u) \
    + b; L2 \4 O! ?3 I* {$ R( Y )0 h# g% U8 Q6 ^( X6 {
    5 h2 V+ f8 L0 J7 B& Y3 k; C* n9 Y

    % A8 \2 D+ _8 v$ @! Y6 h5 b9 M0 H
    , Z+ G# v& {' O# ]0 s4 P+ e严格证明过程请看刘建平博客:链接  g  b! C8 h2 ?) b' H  d: q
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    # V* A, R4 D  t; Q8 E! ^7 {; Oi
    # B9 k, Y$ K- z0 XT
    $ e6 ~5 h& y6 z+ I% A0 I
    % I; k2 o( X" r! i9 @3 X( r5 a4 F0 c Lh
      n  i8 C- d6 X, `  n% Y0 ci2 p$ v1 m& ^, X/ x' q
    3 n3 f2 m, \0 B- T
    ,那么对于k kk个子图
    & {& }1 [+ T! n3 g5 _( s! c  P5 |) t9 q% F
    R a t i o C u t ( A 1 , A 2 , . . . , A k ) = ∑ i = 1 k h i T L h i = ∑ i = 1 k ( H T L H ) i i = t r ( H T L H ) RatioCut(A_{1},A_{2},...,A_{k})=\sum\limits_{i=1}^{k}h_{i}^{T}Lh_{i}=\sum\limits_{i=1}^{k}(H^{T}LH)_{ii}=tr(H^{T}LH)% w8 @% u4 j3 }
    RatioCut(A
    ( u3 \8 Y1 O2 T' E. G2 Q1
    # _! O- {  b$ h0 V
    " L2 c  r2 n" f ,A . j  ~% {( b" R6 k+ a; h/ H7 B- e
    2
    3 z8 f9 }+ Z; G" _0 s+ e, Q$ u2 G# F8 m7 s! r
    ,...,A 4 l& A7 o" `: p/ ]6 @
    k
    . B# d0 M" k4 B' p( \) [6 Y. O4 j( m+ Q
    )=
    2 p  I' l) A2 Y4 y- Oi=1! `$ M; w- o3 o: }8 c8 L1 ~' v
    * ~2 \3 B3 P) e/ J8 m- h4 Z
    k, Z) f% L8 }! {  D

    + A5 v- G" I# O9 x8 Z h 4 @9 }9 [9 F- w. V
    i. K7 w7 M4 O1 a
    T0 m" p, k8 I( v* x( _/ V

    # p8 q- H$ D9 L5 |/ R7 [* q Lh
    ) E# e7 N. s. a. Yi) u: O3 r- q! s' C1 d! G! `
    - g# _$ j2 O& [" v0 k) i9 C! P2 T8 B0 Y
    = : ~. [3 a; |: X" U9 ?* p" d3 I
    i=1
      G+ p; x- y$ `& N1 A" g, Z7 D9 M" |
    k3 R7 x# ?8 L3 O, c$ Z: i

    " ?$ K- P- @9 J) Q. t" a, u0 I (H
    : e8 C0 B. [2 ^0 D% X4 I' t/ S7 Q" S% XT
    2 T- F: ^) m) [% ~- a# ]+ B LH) % y- L/ S/ a0 L' @+ w' e) d
    ii, d  `# r/ a" l/ A

    " A% S/ u4 ^# ?, x6 |, J+ j$ T2 N =tr(H ( w1 A0 }# o* F
    T( ^, o9 ?$ v8 Z* Y4 s/ @
    LH)) {* E0 U- B) F1 F
    8 [" ?) t& [6 L- [  W9 H
    因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H ' r% A* a6 e7 Z7 E
    T
    1 m0 ?% a' Q  t) Q" k LH)。又因为H T H = I H^{T}H=IH % z' @" Z, b( `
    T
    & S4 S. k* x- T H=I(单位矩阵),则切图优化目标为
    - W' e9 ^. C* @( n1 Z) [, A% ^
    & ~( H$ S% W0 _0 i* A; c5 za 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
    ' n7 v) Y" a4 \H, N( @( w; b* D( H6 x
    argmin7 D' P% g# Y1 K! x! @/ A1 u
    5 s- [  h/ W, a& ^. Q# N
    6 N; r  f: ~4 B: B

    & I+ j; X$ V  l  H2 i tr(H
    ; a1 ^+ M- V: u  k/ WT6 F% b/ n, s6 Q% B! J) k; l
    LH)s.t.H
    ! \3 N, N) y6 [& [T
    + z$ k2 k* z# g' t- m* Z0 [$ C H=I0 G1 Y" d! [; r/ y( ^' c

    : g" ^/ N' J2 J对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H & B& e( [7 L7 @
    t4 o. H3 H" \( t2 T& v; y" E
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h ( G: |9 I8 [# \9 L/ `
    i
    9 W( s2 N, ?9 ^" K  u, @1 ZT+ e1 [0 S& [; a% Y
    $ P$ A4 {* P% |% d
    Lh
    ! \, M& v( Z7 `  t* _/ P1 L) [( ?' Zi/ A$ m3 u( p! `. X* {
    & O+ c5 c" }8 e6 a  k- J0 ~5 j8 y
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h ) v% I% Z) J1 P1 _: A5 \
    i
    " S' u7 x+ ?! u2 l* ^T& i* h; i$ [0 ]
    9 {5 `! X. G0 s+ A7 t1 h
    Lh 7 ^" o# [4 q/ b- R3 q
    i
    4 C2 m2 H' _9 j' X3 m) |2 C
    . L& ?" |, M, y/ J0 r 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h : e: ?0 x/ O) h: b3 \+ }
    i
    % u7 h# h; s0 e- a& E4 YT5 z4 y6 o: i/ {

    $ `( X5 n/ a- Y) J( N: z Lh 1 H% o9 |' S  u6 u" F% j
    i9 J+ t6 g, A1 _) G/ G, O$ D
    , I: G7 S. H: p& C. Z5 y) 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
    ( A& e9 Z" d) z  G& it- d6 v3 {- O9 L% \. O, _; A2 C
    LH)= 1 N5 G& n0 q- S/ S3 }2 _
    i=1( X- r8 _2 G  b; r4 x% ]1 O" u0 N
    + T; u# ?) o0 n, K  m* R
    k
    9 \4 ?+ X& R. ]% ?0 `
    # u: o; i# p3 t# \" F  y' S5 v: } h
    4 R, a3 v9 Q$ Y1 @0 e" _, Wi7 l" m( _& S. k% j: y! V6 ?
    T% o2 f: m; h1 g! I

    , J& C' ]+ S. @8 [# k2 r Lh ' u. ]- P2 I% Z6 o& D8 Z
    i7 A' b# h0 S' ?- E( T' F* `4 {, _% M

    ! H1 @$ n5 B! d ,则目标就是要找到k kk个最小的特征值% {3 F3 N9 [, l) g6 ^& Y
    / A2 I8 I* _/ i5 k  C
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下
    ) L: T, q: F/ _# F$ f
    * D0 x* Q# s0 `一般来说,k kk远小于n nn,也就说进行了降维: d1 t1 Y/ z; @0 r8 V
    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}}}, G0 t+ s3 U3 I4 }7 k/ l8 o
    h
    . y' i3 l3 y/ c# @2 g5 Mij( @; }4 P+ j7 E1 w9 [2 M! A

    & h' p2 l9 C( T
    & x' ^) o+ T/ e) P8 Y2 O; ^ = # b2 [* e# f1 ?4 O* `4 h9 w/ f
    (
    2 ~1 n$ w! V. F. H* E9 B9 g8 st=1# r2 d4 A( b* }9 v  G  u( D% t
      e+ [7 n0 V7 j. h9 d
    k. F& x& ?3 Z# v2 ~8 y

    " f6 O8 _7 _% g& B7 @5 h h 2 X8 x5 w+ f5 Y3 K
    it
    1 d. l  j$ B9 _6 p1 C2+ [( g; [; W6 l

    ; u. ^2 r/ b3 A3 z( M8 T )
    - I, ], q* W  N. A2: a" T8 z8 B  i( Z  R$ |5 ~: H
    1
    6 b1 k9 s' }" D1 w* u
    " w5 H/ U/ k6 ?
    . H9 _: ^$ L  `* ^' ?" s! N9 u6 S1 Z% i# y. }3 o
    h , J' U& n* G& [) @9 V
    ij
    ) w% H% o- x: u/ V9 p
    $ @. F. \* O1 K; z/ M* G2 K' b9 \! O& Z5 l# f# r( W

    6 ], g7 H$ C! v; C0 q
    * k- \( j8 L; L; o' S
    ( r: Y/ \8 {" p' d- J' L这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类* [/ c  |3 m! e) A& G7 M
    - B1 B! D7 o' S3 i, M# s
    (2)规范割(常用)
    + O6 W1 @" G# [! H规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A
    " ]* B7 e# B* O) yi/ y! a5 @' j- x& x5 c' ]* r0 U- Q& N

    + O% C7 U/ P* P- ]5 {6 h* V+ [ ∣换成了v o l ( A i ) vol(A_{i})vol(A
    * P1 P) i0 m. pi2 |, P5 H! z" C  a
    ! A0 Z$ _" \- \6 c1 N1 m$ F
    ),定义指示向量h i j h_{ij}h
    , P8 ]5 V6 \8 {! k  e' ?# Qij9 c7 [% c3 f% _5 T
    ( B' ~& |0 f5 ^+ @  J: r
    如下
    $ b/ y4 t, Q. l$ }0 D9 M8 R6 L8 a& c
    h i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=  i$ N+ m' \. H1 Z6 T0 @
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj
    4 z( ]/ h7 a1 z- s3 `9 e{0,vi∉Ajvol(Ai),vi∈Aj4 K6 H# `- m& p8 j9 E7 `! _
    h % W7 H2 j6 N6 v5 {# z
    ij
    - ~8 ^: j- \- k1 _) a% |" m, M8 {" E/ b6 z$ e! K- q1 s
    ={
    / a( b4 }5 J0 @: G' E0,v
    $ J- a" y. i2 g1 [6 Ti4 C; W, n* c" U# O( c" _

    / f7 z* T' Q/ O2 l$ l% M/ D8 N( N6 g3 P7 C. L
    /
    " p) c4 Y% c/ P' wA
    ; \. c, C" X3 p5 U* y( Z& S- E' [j# G4 t) l: L% i& v
    9 T: c; q6 r, `' M" T# n/ D! I

    ! ]" @, p) ~' e' tvol(A ( e3 x" X& V2 f3 F
    i" @! b3 Y0 ?# ?4 `/ i% Y
      L( S" D* H0 \& o1 g& k
    )" {( z' ]$ j' {; ?4 z% [9 V' i
    # Q% k. m6 h4 f' ]" Q( V& v
    ,v
    ! ^) l# \' X, u' X% b' Fi' U3 n4 ]5 r, M; S: Z

    , M/ |8 B+ O5 m: ~$ L, E9 U ∈A ) ^$ O- w: Q& x
    j, k# H" A3 \. l3 u

    9 |: ~- x8 j" i% X/ k% {2 ]4 \  U  S8 k4 i  n' @, Q' J/ n

    3 s  k: [6 q7 [9 R% ?/ ?. S
    # C4 m- e* Z* u: Q: u
    % @' _8 T1 n& h, O! e+ E' Q" y: C5 ^于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    0 {: U% W0 X, z% G7 b7 fi
    6 ~7 e2 K# o( W1 p' z' D1 Z' JT7 @% p' J# B4 j8 _2 X3 V/ N
    2 R- c8 r0 P$ n" B
    Lh
    $ |' S+ I: q/ G( c- r- _i4 e! ^8 i- w7 e8 Q" R
    + M! M9 O" ?; f, Y: T6 Y
    ,根据拉普拉斯矩阵性质可知
    3 `6 F: B+ j2 X: l0 y# m" k, X5 W0 B% X/ L4 e& W
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    1 F' b! m2 @, q$ m* y1' d. s) Y# l8 a( H0 y$ x7 }) v

    , p! v$ }1 ^4 _! ]4 [ ,...,f : s; D3 F3 Z* ?: v  M
    n1 N' Q9 c$ V4 _, Q& y
    $ i7 K# V/ k* p7 q- b- O
    ) ; {$ C) t9 @  O5 A
    T
    2 g( U+ @4 a3 ]) I/ ^5 N! \ ∈R   A; X) @) d, p$ e
    n
    % ^# @! n3 }( W8 e# t ,有f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T}Lf=\frac{1}{2}\sum\limits_{i,j=1}^{n}w_{ij}(f_{i}-f_{j})^{2}f
    2 C8 |( n% T1 o8 a  iT2 @9 }4 _  J$ n; x7 ^
    Lf=
    ) k* U% L( j3 [* @( h9 \2" ~  @" b5 J; z( a( c$ z- ^1 t
    1
    6 @. i7 }: {1 W0 m, Z' z: [4 y6 `3 i3 I! |
    * w, p% s: y8 E9 K) o9 R# G
    i,j=1
    ; O# x' x1 ^5 T3 x
    , l# c" W1 M0 L( t) wn
    ; `; K" M: B) [# _; D' M* g6 z/ N& x1 Z
    w
    4 `. \3 [: B& e5 ]3 L, iij6 z. V2 }/ z' _# Z2 R! P
    ; [  x! c& g5 \. G8 _
    (f
    ) F, _& d# U" Y- Pi6 K' T/ p5 y) ]  o2 p1 N$ Y  C
    + p: |8 x; f$ `# |. ?' I
    −f
    # f: G6 _3 M) m. yj: G- X" u# @. G) X( O

      ?4 w" G+ R, m9 @/ i1 a5 } )
    " h8 `  a2 H- ?6 ^' m26 H1 g6 j5 n4 k, G9 H: y' Q, q

      m  t  b9 H6 @% K7 p) eh 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})}$ J) b8 b  w, i$ Q7 O7 i! m
    h
    $ ]- a$ D% z# g- f" A! ~i
    9 t. C, m+ p& I. I7 dT9 f8 i1 r3 J6 m5 U

    ) i2 Y( q( d5 z& z; V) Z Lh
    0 H: d% U& O/ J2 c+ q9 x0 ?i7 E8 {, @! u* u9 S

    ( O5 s) Z8 T* k: D+ ^ =
      J4 p5 G$ N' h9 `/ _* u, i9 V5 _2
    5 c" M/ u0 T7 Q( m, J1
    ; E( g; G* P, b$ m: ]; \  _- F0 n1 B/ R1 g: g9 Z
    . r0 H# I( o; A- N
    m=1" @" l1 b5 X* i* `# n0 p4 x

    * q& @$ p7 F& F5 t6 ?- O
    0 {6 E9 p; a. U& J/ ^7 z7 h1 H" h- K: s% i9 f
    n=16 L! B2 z9 W" S7 K1 `
    * V3 N+ G; m4 S: x2 @& i. h+ J

    ! o7 L4 E) I, D# j w
    - @5 U2 b$ y3 @$ i/ o" v+ Z  Bmn9 j; P+ V: d: s: G

    ; e9 e1 N; @# P' E: J; U# h% |6 b (h & X$ Y' ?& G& ]; y" J  R; P
    im
    : v7 L! i. w; I3 H7 ?$ J1 ^1 g; ~0 U
    −h
    7 J( g7 O. B# U, Tin* ]1 c% }6 U$ B  R
    ) Q6 ^, M8 e* o4 o
    )
    7 _5 ]  x$ T! J, U22 G- [0 W" `/ Z/ _8 }9 A
    =
    7 v( x4 r3 Q; K1 B  W  Y' Vvol(A 3 h5 F7 m1 ]- p5 y
    i# E3 a% I  L; F* r

    6 |5 a5 U+ s7 X+ P- X" p2 v ): K0 G3 n! ^6 ^5 }
    cut(A # S/ w: D* A& |
    i$ y8 D7 r. m, i1 ^, l/ N6 {  @! m
    7 P% i: m" U$ \; d5 ?
    , " H8 ]0 q- v2 O$ f! A* w" O: M$ @
    A8 T2 e! x6 p, v  ?' |4 b
    ˉ
    # V5 o* \; r2 V, F, G) S+ O/ R3 Q$ Z, H" e
    i1 e) x3 L  {% z5 C
    4 `: n$ x0 _8 E
    )
    ) N* [% [. y6 S/ O+ N" @" Y( ^0 M/ ]* K1 O' n  q* O+ m
    $ x" M# }  m1 U$ N

      P% p5 v, l( K+ ?% V! X) L严格证明过程请看刘建平博客:链接
    ! @" v, c! k4 J可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h
    6 K- t: W8 C1 H3 @5 j/ A. di: r. r* V: L% S) K5 B
    T( u2 e% |9 P4 j- o% _, e

    3 K+ ?7 W, t  J5 T6 v- u, J0 Z; d Lh
    % l" i* j! q+ O  Li
    4 P0 B5 Q+ T! U5 j& @( H: y/ f1 ~5 I
    ,那么对于k kk个子图/ i$ \, {2 y( D- ~$ P

    ; l8 S( W8 H. k1 SN 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)7 x0 z2 h7 l7 `# {3 t
    NCut(A 5 I! U9 ~' l  \0 M' n
    1- W/ D2 _0 Z( m6 s# M
    7 W0 R+ g* Z  \" R
    ,A - L+ V( O' O) |1 L
    24 @* x* s: J5 ?) p# [7 ?  e
    4 t/ G; x: w! H' S. M' G
    ,...,A
    ) P4 @* U& k7 P. p0 b4 hk
    ( a8 y- F; O- u0 n$ F; v( j/ F% O+ o/ r/ v
    )= 5 k# H  |) H3 J$ N# a: N
    i=1+ ?, I9 [" p. s/ o5 r+ q

    $ \: q! J2 J/ n! F) jk
    ; s4 ]7 ^; M; W- e" i
    " v1 Q- Y+ X; g; o  A+ ] h & N0 U) E7 y! R% Q2 |! x$ f
    i8 \3 u  R! k0 N" \
    T
    ' f/ O; p+ |/ C9 L3 M  W  y/ O: b3 h
    Lh
    + ~1 _  v, z9 ]$ y' Li9 K! \  U9 Q; P3 y- p8 g9 A
    ) n$ G- P( K2 R, g' Y( \
    =
    % F. }' F5 H4 \7 W3 Ui=1
    % E; u! N  @* A0 k  O+ K1 z
    0 ~4 O$ x9 T* gk" {2 w- n( E4 O
    - T7 m: B) B: Y9 }" f" m
    (H + @4 g1 N, ?# o+ w7 i
    T4 l8 q# t  ^! w# A
    LH)
      ]* a# v6 i) w1 m' _ii
    3 \, v. M+ Z: s3 {0 c
    # ^6 g8 h( G+ i( ^' Z =tr(H - z7 F2 O9 s( r' H6 l: t$ l
    T
    ( `! z1 S6 h! {% T6 q) g0 d2 G LH)5 A8 ]# D$ ~+ f& p3 O

    , y3 U1 K; D% a但此时H T H ≠ I H^{T}H \not=IH
    ; r' W/ P0 m/ x; @T
    0 }+ T( y, g3 C/ d" {3 W: e$ W5 _ H: `/ |: r' D  a* r& l

    - x, B! |0 J. a=I,而是H T D H = I H^{T}DH =IH : l5 F1 v' }, V! M4 D3 S% a9 a
    T
    3 d! }5 w% j& m( R. D2 Z DH=I9 y' |; L1 Q1 o1 Y, c) `5 I

    0 p) ~6 {3 x; F这是因为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
    3 i( ?1 [9 R6 F, S4 j2 N5 N1 Hi
      ~+ r8 `; V/ [; ^6 B. K- FT
    : w4 k# p7 |4 t/ I$ q! k: g% m8 E7 Q4 m1 g4 h
    Dh ; w3 D4 L6 k  k
    i2 F9 m$ W2 Y' q

    * W1 z+ J3 x5 q0 O$ p4 M, H; ] =
    ( W( D8 C  o  P: }' Aj=17 e; E8 \) C, k9 [3 }

    9 v9 G- h7 o( k6 N1 nn* r0 m  u5 x2 T8 o
    $ |, n* W/ ^7 v4 b
    h 6 D' B% ?/ G; r8 M% b7 i' J
    ij5 {! G9 r6 H2 B
    2
      s( \$ s/ T; M: a9 F: ]
    2 N, K* Z5 j! I d $ @- j& v# E8 r9 T/ D
    j
    7 R: V8 k$ m& N5 o3 Q: w5 p8 {! y- b
    = 0 p  p2 Z, I$ ?  \3 }
    vol(A
    , A) D( @4 `6 T' L( a/ ni1 Z+ B4 W  L# ^" \

    # q  c; m' S, O )
    , [. f$ w+ q9 _! _1+ _) ^4 X) L# Z' i

    % b5 i. s5 W' i& r1 a, ]( ?+ k
    , W$ Z5 K- @/ c' X- rj∈A
    ' Q! _+ r9 \; si2 r$ K1 `/ F0 x

    ( _. R3 ~0 w( Y, d( T, E/ x( U
    , N9 q& T4 h- j, a! d
    1 b* r# r8 Y6 J" D9 f
    " a- v% ~4 C6 w* ~3 r d : e' {: A+ X3 B5 ~% f: j
    j% p8 M* O! i! Q3 @. e: t+ T3 C" i" W# E
    $ J  w# P# O7 T9 X  G( g6 o
    =
    0 l; j9 V9 ^1 G) yvol(A 3 `* X# R* T- U, J
    i
    6 m8 r3 }5 j/ A( l/ G3 B$ Y1 e+ Q5 n5 P3 P
    )  F. {: P) P6 ]$ f0 m0 m
    1
    - J' m/ p* F) v
    2 R3 A* a9 h2 S' p% n! D vol(A
    ' a3 A$ t( q. L1 V7 |i! L3 i: V0 n$ k0 b/ ^

    " ~6 E' W9 ?+ b* G: O )=1$ b# k8 F( u" _8 Q( o3 X8 @/ i
    因此,此时切图优化目标为6 [# J4 G) o0 Y* ]! x

    & b* g0 z( Z* X4 qa 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=I5 g/ G9 a$ r( J  a: k: D
    H+ L& Z! P- W/ U. S- M7 W
    argmin
    # ?' r/ ^  u. S+ p
    ( J2 n2 b. O, F% i" c) e' ^/ A: `& |- {0 ?( B2 m" F& Y; z; J1 O/ {

    $ k$ `' W# O& @9 r/ V& r tr(H
    ; z% M3 D( N. K4 vT( m6 ]  u. m: |) D& D; z6 l
    LH)s.t.H
    2 v2 h) P5 G+ ]6 b/ CT' B+ R7 A7 X/ I
    DH=I
    9 p1 Y1 ^) }* ?; k7 c7 y2 R: U! l- }
    / F! k+ s' }# ]/ g) t5 T: W但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D 3 g6 g/ d, g% X7 e4 \. }" N8 {
    8 p( w% }- W7 x' X
    2/ N5 t  a8 v, [) K) C
    1& v9 w/ n% ?# r# H% z/ u
    6 ]8 s& q9 P7 x0 N# o( @0 L0 F' g# O

    ( r2 w& f1 e  O 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
    & {4 a* P5 J9 YT
    3 [- `% i8 J6 M* C3 I! F8 r LH=F
    # j5 Q9 ]4 h' O: d9 z; ET
    ' G4 J( |% E" v$ h8 s4 h/ z D
    2 f/ p' Y; S; k; f7 Q% u3 Y1 B5 Z, ~, K: L; \2 s
    20 W$ ~. z9 D! c0 J2 ~' V" m  h
    1, X9 H4 t: S0 \5 A
    . }/ N7 y0 ]$ n  R9 }

    % d; z; L7 @/ \6 c% k" `1 Y5 w9 j LD
    & G; g; e. A5 f7 u, R/ l5 m1 }$ n9 L, l  b
    2( t. P8 }( o. M; M7 f4 J& x& t
    1
    2 S" {% _3 {4 j& v) [4 o' }1 w6 s3 Q! H( N
    1 h' k1 G+ W5 o$ G! X( h
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH
    0 ]/ g6 k  e* C& C; x- {* j$ xT, c& s6 r" D) n+ L1 j/ a/ `0 U
    DH=F
    ) v/ G; l' j5 k6 |2 ~T; K/ M. ?0 s- w+ t7 X$ P3 Y
    F=I,于是优化目标变更为# ?5 q5 E6 J$ A5 U; N
    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
    & K& p. \! ]% RF
    ; w$ R; [3 [8 Yargmin
      j3 n4 Q4 z2 r" \8 m( `3 |1 {7 f, s4 s& @4 Y

    * w$ f/ S6 n- v3 z* p" d4 {+ h, H% X# t! z+ ~0 p- T
    tr(F
    % Q$ s% O1 {9 ^T
      r% @0 ~7 D- p) ? D / f. y! ~- p, @1 F$ b; d8 _
    # e( q7 s6 }7 l4 B' I% t% Z1 e
    2* e) X; X3 m4 [! H7 p- I. `
    1* L& b- f. Y' q& n

      Z- B" v2 V. v/ O% z& @0 x6 u4 c
      j7 ]" A: G2 L4 w LD   \1 J" G4 C% I* Y- K- F5 y. K

    / x) g$ F2 o3 F! a' \2  p. n9 K6 [9 |5 ?2 k
    1
    : r5 f0 ^0 f  L. T; i" {( ~% n6 n, M. z2 f0 n

    & e& O/ ]6 r" R$ ?1 M8 Q F)s.t.F
    * d+ ?( G" M! i8 T4 `T
    0 o' @1 _5 ^$ f/ z4 ^/ l F=I6 j# g) k5 L! O

    . u; U& U* t9 f+ e  @  }现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D : m1 P& n# s6 n. B3 N

    + ^/ C- o5 D$ A: k  o+ l2
    - J- J& ^0 }3 K8 Y- ^/ o0 n16 o$ H3 \' R9 A2 ]3 k4 j$ g- U
    & Z) U: ?/ G9 }1 v

    " m7 z9 ]) l0 U: | LD
    : T# K/ I/ e/ m; j
    1 A; L3 s2 ]7 M5 V8 B# ~2
    ( |% e* o2 t: {5 {15 {2 B7 w) l. ~8 V$ C

      t. ?$ s% p9 [: O2 m9 R8 [; ?& A0 a5 X$ D& r
    (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    , t) ]0 V, w' Z
    : r5 d& y$ V! G5 G0 k; n1 m一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 4 m+ b' e* H* F) a

    7 {, S8 [) u. {8 J: t9 ~) a27 I, Y0 J3 P0 E$ b6 W6 j
    1
    5 _: G% Z5 H! e; a  p2 a: _
    3 c( Y: e, \1 f8 m4 G5 ~2 \
    9 l8 h& R6 g5 v) a0 I& j LD 6 T; I1 u$ k' x6 e' f7 e! X" W
    3 O# t/ O7 ~; D4 G* R2 W5 O
    2# i2 E3 j: G0 j5 M; R7 B4 ~- I7 E4 ?. n
    1  C4 ?2 n( a9 Z1 C

    $ u5 ~9 R! T& B" K9 o- C* g' I, H0 [& s2 V" w
    相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}} 1 \5 F+ S, x- ]! b1 j9 F+ Z
    d ; ?0 @6 e7 Q& d0 U$ _, c7 ~, f
    i- W7 ^( Y8 q( P, O, R2 q

    - l! q8 @5 p& ~" g ∗d & U" ~1 V0 P0 D0 `( Z
    j
      f$ F7 I  f4 y% u9 t; w
    8 w/ |* l' K6 w0 T' v/ ]# x, t, Q0 d- e, |
    % T# O5 A& w* R& o: W/ Q

    . Z7 g- i6 d* m, k1 SL 0 Z3 f) D5 w& P5 P* B8 S! ~7 f; s
    ij
    1 M* \1 }6 o! ]/ n+ f8 W" O  G- H( H
    - P3 t# o/ B5 N* m% U6 q
    " T. ~  g' I3 k; i9 o' B: y
    , ]; V6 P( E4 ^& Q% j. Q% z$ Z) l  ^" P( a& `, d& K* `9 Y
    二:谱聚类算法流程# r0 i/ i2 s! L0 \+ C9 o  ^, _
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x 4 \) Z3 J1 d/ e* i: c; j
    17 S6 j2 g+ p$ l" l, T1 U
    ( A7 _+ m) m' f0 Y
    ,x
    / E8 z  C/ i! d, ]" |6 ^. R2% e) N7 D0 r4 @0 Y

    * ]1 `& C% F2 x5 ^$ ]0 I8 w ,...,x
    " \/ D' h9 n  Vn' h9 [2 d/ ^) c
    $ c) k/ e  T) S! R1 m5 N( p
    }; C2 o) j6 M" W6 ]

    2 o" Z2 g% z! |( o1 n0 k3 d根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix): z+ @! k- M& j  p
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD% |7 \2 x( d8 [
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W1 x$ a* b8 a1 H1 a+ |
    得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    ' @& ^' ^) {" e& Z& }8 A, N" a; k1 D8 w6 l. `
    2' l9 i) z$ h/ d  [* E2 t1 U
    1
    . s$ ~) V4 L9 H# ?
    , p% |8 r( z* n5 v1 H2 O- }6 w" b; j/ p8 P
    LD
    8 ^" K. _- J" m; {6 ^2 N* ]+ `0 Q' w
    23 e" E7 Q4 R7 k2 o- B
    1. x( ^( m2 z# f$ v6 m
    " j4 P1 ~7 L+ Y, z  P

    6 |7 e$ |  Y$ N" @0 i3 f# ~" U8 S
    8 X- j9 I  o. r' n; C计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D # m4 ^) D8 ^4 I
    & h# h6 n5 C2 C2 H. m
    2* j3 F: u0 `/ T# B/ W2 @
    16 q4 ?2 M- G7 \7 f

    " v3 q) u: B* k( y: j& E8 m: C# q" _! [  J- r7 P: `& U- K# a* N
    LD ; b0 c3 Q$ U2 ]1 ^. V: w) ^) Q

    0 }) y. S3 v* H) l8 ~$ O" @  v  J22 c, u! [( M; D( r& C' [
    1
    - Q( B* |9 R8 ~7 Z6 L  W. D+ f2 \7 E2 L! d
    * W6 _; S' }" L1 P6 {
    最小的k kk个特征值对应的特征向量f ff
    2 U* J9 h4 I( p" t8 ?- |将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    5 i& P% }/ `+ D  B: yF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k
    7 T! W# Y! q1 u; M) y+ X2 f
    3 v3 K3 v/ O% a  K
    8 `3 U* T0 `# b  s: p4 ]* Y得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c 9 u. u0 U" l/ |% i7 Z
    11 L7 V/ X$ }2 }' z5 P; g  x

    2 F; [. m* X3 m$ f6 x4 |2 | ,c ! u4 o( ^5 x  E: s$ X) Y
    2, }9 k+ I, l+ O4 p. Q9 M: F

      E) W5 G, G+ I! v  G* W- G- q) I- V; K ,...,c
    9 G- Z  ]- X+ y+ n6 ^k 9 n9 z/ g( b' X0 V! q
    / |( a0 o  u, e& [* X; n% F

    0 O2 B* U0 O" L0 u" e+ J) P8 d- ?" W! B3 j0 v* t9 s+ w! m
    )' N, v  m" T6 C! u
    三:Python实现  h' C4 N: a" ?2 O3 [% D
    import matplotlib.pyplot as plt
    - w: i: }1 A, Y4 O' ~! X) ]import numpy as np
    % F2 H( O4 J8 R7 n" Ximport pandas as pd) h/ Y! M' h7 C( Z% ]/ V6 h
    from sklearn.cluster import KMeans
    $ q# A. s3 F4 Q8 h. Dfrom sklearn.metrics.pairwise import rbf_kernel& K* q; u6 Y4 l; R7 B
    from sklearn.datasets import make_blobs1 g9 o* W5 H' m0 E2 v
    from sklearn.preprocessing import normalize
    0 ~. U" ]8 J" R3 m3 `( A* I  [/ G2 x
    def get_affinity_matrix(data_set):& J+ i' V& o) J+ l
        #  利用高斯核函数计算相似矩阵(全连接)7 k, h% {0 ?' e
        rbf = rbf_kernel(data_set)
    2 }& i$ q8 K- V' Z- C    for i in range(len(rbf)):8 T4 J0 E0 ^" f
            rbf[i, i] = 0
    ' F" {* Q( C$ O  `) ?! W    return rbf$ L. s, g% j  n+ J" \
    5 V1 G7 w) _' T/ c. u! ?
      ]3 }1 x8 N. T' q
    def distance(x1, x2):
    " T$ z  t+ I3 g2 P# f9 |    """3 O" a2 Y6 f4 |) x9 T& k6 L/ R
        获得两个样本点之间的距离
    1 c  O# v+ \; w0 L2 o- w0 c    :param x1: 样本点1- R* N; s, n8 N6 ]
        :param x2: 样本点2! k9 S, C6 q) U  G
        :return:
    4 }. Y" V0 X. t% z4 D  V    """, I7 B% q; F& T2 b5 _7 k
        dist = np.sqrt(np.power(x1-x2,2).sum())
    ! [( T; \4 P1 @6 S; u2 a* y  L    return dist
    6 g% e# h: |3 ~: J* {! {; ^2 `* n' S' j3 [: r: V; X
    def get_dist_matrix(data):
    4 r1 L3 |0 F5 S+ L6 w3 F% X) Y* O    """
    6 R1 k0 |+ D! k- }& ?    获取距离矩阵
    ) F9 ~* _2 H! \3 {: E' Z1 O    :param data: 样本集合
    3 b( w; I" c- ]- m9 S5 c# a$ O    :return: 距离矩阵
    / I) y6 m9 r, a; V    """
    3 f$ U1 T+ n0 T' E    n = len(data)  #样本总数
    ' N, _' ]7 K5 g, G1 W  p# r    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵
    , w7 y; o$ w- X. Q/ C    for i in range(n):0 C" T* e9 [' W; C) K+ L) m' Z
            for j in range(i+1, n):
    & h; H" y- i, }            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    ) K5 e+ q. X% z    return dist_matrix
    5 ]' g( x# Z; ]
    , Y. d/ ]& W8 c; G- ^$ Sdef get_W(data, k):5 m9 @% O, H6 K$ t9 n
        # 获取邻接矩阵(K邻近法)
    & T) ^/ q, A* v/ n  e) }    n = len(data)$ q1 v- u; R4 e) i7 i- |2 G
        dist_matrix = get_dist_matrix(data)& J- x1 x! X$ s7 o6 u: u5 \
        W = np.zeros((n, n))' q; ?/ p! c/ z3 p8 V0 p2 j
        for idx, item in enumerate(dist_matrix):
    6 B4 J! _& \: A. P: ]8 |        idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表
    7 _  P% |. T, p, p6 k( B        W[idx][idx_array[1:k+1]] = 18 w8 D" d6 U& H& G
        transpW =np.transpose(W)
    ) o$ n9 N% {* E    return (W+transpW)/2
    : J6 r' S( F: ?7 R( T# m( ?) T5 |) E- z; i% \# T$ H
    def spectral_clustering(data_set, k):( }. q9 l3 |6 M' c+ c: e
        # 利用相似矩阵S得到邻接矩阵W5 a/ J$ d# y% \8 u7 F$ ~
        W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    2 o" x% V8 B0 z) F* W    #  W = get_W(data_set, k)  # K邻近法! B" G! k# Z4 N  Q. V  ?: [

    , \. w4 _7 P! w! i: y. q3 j    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)
    $ g+ ^7 V3 L5 N9 z    D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))
    9 z. `9 y8 t# i  @2 \% v# U5 }, M. |7 S
        # 计算拉普拉斯矩阵L=D-W$ g5 P7 F/ \; H& {# U( b1 V
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    2 v- t# `/ A; K, \    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)9 @4 m: l- k$ X+ t: M  ~) W

    , U6 s0 N& w. j. q1 `) `    # 得到特征值和特征向量
    ( H4 }6 {& ?$ P) {    eigvals, eigvecs = np.linalg.eig(L)
    . X+ _6 A+ L& S$ W
    - [( t" B6 `% X    # 找到前k个最小的特征值(索引)
    : N9 r! N& i: T0 J& R: _: t    k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    4 C- |% ?7 r4 }( `0 J, }
    4 i( Y5 y2 H, e6 l    # 取出这k小特征值对应的特征向量,并正则化+ R$ ^) W3 u$ s) i; m) V
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])
    5 K; e) b( l8 n* m5 r- B! }; {% G1 R. l& y: G. r9 [& `, T
        # 使用K_Means聚类
    4 ^, j/ L' [/ K8 n    return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)
    4 p! W4 u( b* @, K, ^: J% ?4 ~2 I8 e  m" b/ O+ i7 _/ e. s

    ! S/ d1 B! q' F, b3 Braw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)
    . O7 X" B7 _) A' D8 a2 H0 nraw_data.columns = ['X', 'Y']
      X; q1 N3 c, O) L; d6 jx_axis = 'X'
    ) A1 Z1 M; g$ a' `' h3 v" X; by_axis = 'Y'# W1 s, I% b, r
    / |; t. H* a! F
    examples_num = raw_data.shape[0]/ V  j5 W- g0 L+ ~5 N/ \- R6 R" g. X
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2). X4 E7 z3 S7 C7 |4 {

    / l9 V' {- B/ u" E* b0 a
    , z" X* J- j: r( X! q/ E8 Omin_vals = train_data.min(0)0 K6 E- V1 Y$ Y8 d; e5 S& q
    max_vals = train_data.max(0)' {0 ]1 k' @2 m2 y/ W7 p
    ranges = max_vals - min_vals2 a* k: \: Y/ ], Z8 y2 y4 Y
    normal_data = np.zeros(np.shape(train_data)); J* C/ S  _4 I2 C( x
    nums = train_data.shape[0]3 h! h; r% X  I
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    " W% U( q" R1 e% N# C+ ]; X. |normal_data = normal_data / np.tile(ranges, (nums, 1))' ~8 N$ X! A! D

    $ @' E% p3 {% u% blabels = spectral_clustering(normal_data, 2)
    / v; [5 a4 g' A6 `) y" X
    3 M2 s& `* }; R/ x" `# 原数据
    0 O& M5 K; s% Ifig, (ax0, ax1) = plt.subplots(ncols=2)
    # F7 ]# V8 o# }$ Rax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')% Z. B; V( n' n0 I' A1 }
    ax0.set_title('raw data')
    0 ]. E" }0 h. f/ z# 谱聚类结果
    3 I0 J8 ]" ^7 F' ^9 Hax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)8 d3 a* b, K- ~. d" M/ V* J
    ax1.set_title('Spectral Clustering')! W% m) W5 b4 I3 T/ i; V7 {

    1 Q- V, v6 f( Splt.show()4 A4 J$ W6 u9 o- l4 _$ r
    * N1 S  q0 X" l: G* W% N- x8 p
    1
    9 F8 M7 u5 s. @1 ?/ c  ?% v2
    . d. o9 Q' o, F, I: \1 ?/ m' g3! h2 J* U/ a7 Q* r
    4# d7 j) V* X, _2 n- [( a
    5
    * X! s- W8 }2 k& P/ f5 v+ T7 q6
    8 q  q3 {5 e; C4 P- ~/ U7
    9 `1 ^. v% V  Y* c  B- v3 e8' m! o+ J' M- M- p4 x
    9) W. k/ {' Z+ [# q0 ^! D1 V* Z
    10. B& `( P+ d5 h( \' S& _
    11
      K* c6 _4 ^$ D12
    . E" E1 X+ p$ d* k4 z+ c0 [13! X5 ~8 h2 X, D2 v8 ^
    14  T* T: Y3 y3 R3 T) V" i
    15
    6 X  i. _6 x" s+ V! g16
    ! n) L3 f0 g: t) L9 {7 t/ {17
    $ U1 Q9 ]& r3 B- W18
    $ [3 O& i) C4 C6 C. x19
    0 r, H* X) R0 m- R" x20
    9 I) ?2 H/ g" K4 F3 d: p21
    & t3 P6 w+ r/ |, O7 ~& y- L% T22
    : M: c# r& {9 @: A23
    5 M. \" n. U  I6 O$ A+ f24. u9 b8 t+ F$ G% C2 Z
    257 E, b7 X2 b. @% u7 ]( K
    26
    - Q* T9 P; w" v* J8 t8 u. N7 ^277 w6 d% _9 A" }. T
    28$ v4 f" G! I/ s( h
    29
    ' ^1 M% m! _6 _4 A3 M0 i308 V: U0 |2 c( `) p0 j* _& C. K5 y
    312 f- g/ o/ ^3 A+ E1 W+ @# S/ l' ]
    323 N, T$ x* l# {! b  Y- o6 `: z
    33- W6 O. a7 H' V# w7 |
    34' g" |6 h( {7 _2 q/ R
    35
    + H! _" ^! w- s36
    8 d$ Z, Z1 y1 k5 N# ^. x* e) n6 u37
    8 [: I( E0 U+ f1 `38! X, s( X8 Z3 j, p8 q/ |
    39/ I% P8 W) x% K2 i6 b
    405 `- C- r1 Y" w3 E  V: e; B
    41
    5 E) J8 `- b5 l' y7 |" s42( M# u" z" g5 \; s6 U% q
    439 h. _( K! z: d$ a$ i, a% J0 M: `
    44
    ' D7 O2 X0 b6 K. @45) b+ _( J" [* c( O+ U
    46( V, X2 i9 F6 k
    47% }5 @3 L8 D0 h4 e4 G- l
    48
    2 q: O" h/ X& D! C' ?49
    ( C" j! l7 G3 l! }  G5 ~509 _, S) B& b% z2 ?! J
    51
    ) ~" \9 ]; N4 n% i. q6 @, v8 Y" M4 _52
    + S6 ]) ]$ R1 s* v8 n# h6 b9 H: d536 L1 j3 A5 q8 t; o* c4 Q" {5 y6 l
    54
    $ w, p) N. }" a) _1 }7 [( Y55% q/ i# O$ ^% K3 G  m& C
    56
    * J: R! R3 V# h0 [* P57
    ) z, @  u. T7 n58
    % k4 Y5 }9 X* ~1 t* [59
    : [9 L$ ^! f/ w  h8 e( T, {60; c# C. O% b- k% [, r
    61
    ' K; y, p3 T2 w0 n62
    9 [9 F" o* N3 S63
    2 W0 `0 l0 T) N: p641 B" o' _+ [- y1 Q$ V5 L* {% H0 ~
    65
    : U% [) K/ Q( v% y66
    / r+ O7 z* D2 |; i; H. n67
    5 U' U- N: M$ q" V& Z# |) c68
    3 Y* K/ y, X' W/ j69
    7 C8 I! Y5 L& z, ]; ?2 M70
    - M- j+ R3 T/ C: e5 x- E71' [, v9 W# m" P4 L4 A
    72
    ; T; z% {+ L* B% H) o; q2 w+ p73$ x" D) d, G- \0 T% {/ j5 U6 F
    74, E. n# S2 _: U) H6 c
    75  U' [& c+ d9 Q) M) j
    76
    9 ~; D* O9 M7 c4 X. q4 P5 K77
    ; }( Y0 [2 o. X) T' P8 @; M78% ~% }$ F+ u8 E7 M6 j
    793 ?0 [( r5 ^. G" z
    80
    1 o  Q$ X7 Q  ?5 ?+ t/ B81
    & j; K8 ?$ b9 P7 S0 u7 v: k+ h82$ @0 A) Z; j: i
    83
    0 `$ X# L: i& z: U4 q, i- T84$ T$ F5 U9 g+ c
    85
    + h$ P1 C( c, T86
    , J8 n2 X$ T- B* @; o4 T87
    2 J/ D& T; m8 _1 E& g5 `- {3 `8 ^88
    % d" Y4 k4 m' c0 J1 E0 X89
    4 i; M# ~( X& V0 M2 D90
    + N& g$ u/ K' `+ d$ E, O91  z# S6 r1 A8 _+ K0 o
    92
    , E- ], O, o1 F9 \% A6 ?93
    ! p3 {6 h: j& `2 ?0 v$ {8 v: j$ l3 @94* O: [  z6 G/ A! t$ B
    95% Y6 q$ P/ _6 R/ V7 d6 z/ f# {
    96
    ; U, R9 o# d& q" Z; H% J3 q  J" H97
    * q: T  |. `" V+ O! _3 U98  ]* z  B& f) \, A, W
    99% J9 w8 M0 P$ c$ [( |4 L
    100
    8 P* [5 v% @4 v! \5 q  x6 J: {101' r" l3 Q3 x2 d$ G
    1025 M) X9 G3 e+ I$ C
    103
    1 A- a! y4 b2 B% t3 T( k8 b(高斯核函数)
    0 }6 L1 A7 Y6 @
    4 l% \# e3 p+ f
    % O) m2 F; y' a$ w(K邻近法)
    2 V' w9 l- a- t) U% q' r# v- X/ N, r
    % Q* w  s4 w2 ?, a, G. O$ [; }: N' h! B- y
    四:谱聚类算法优缺点0 A$ i! `& N/ ^/ I0 {
    (1)优点8 F0 ?/ r5 L/ x# b2 P  C
    谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效1 Z' J/ t9 }/ i- \& A/ H6 ?
    使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    * H1 n0 T7 L( y! X4 R谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解
    2 O6 s2 h! G+ l2 |! m(2)缺点
    ' y6 g, a; G3 D2 y/ N8 Z8 z如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好9 p* T; ~+ x1 b8 `9 p
    聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同" [9 s0 v5 }+ y0 \
    ————————————————
    ' p' B5 y& ]' X& m7 G8 E: k版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    2 A5 Y. l$ D  {- \原文链接:https://blog.csdn.net/qq_39183034/article/details/1267474942 y& ^! v0 }; V
    ( m- Q9 y3 ?. c1 Z7 Z  ~8 @

    / L) r! m8 G' y9 b) C5 A
    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 18:42 , Processed in 0.437913 second(s), 51 queries .

    回顶部