QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2987|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现
    # d+ E# d* B& t2 I4 g( g# t- V+ x
    本文部分内容源自刘建平博客,在此基础上进行总结拓展
    3 X; S) B' I# v+ p# s( ]1 d# K0 y+ Q1 Y  R5 [* d1 j' K4 C$ J
    原文链接
    8 x. Z2 o, G' {- k7 B文章目录
    - r8 c7 L: y0 @一:谱聚类与图划分: b& K$ \/ C# i" M
    (1)比例割8 X, z; K* S1 }2 D  Z. N' y
    (2)规范割(常用)
    1 ]6 r+ @6 [, S8 P& ]( j6 j. s+ q二:谱聚类算法流程
    * C# u2 A! H' l0 \$ E三:Python实现
    ) b6 _# [* D0 A8 I# q5 z四:谱聚类算法优缺点8 ?9 w8 f# r, j; r$ t
    (1)优点
    4 }: z8 _4 a7 P  w8 l" X(2)缺点
    ! p+ n) t0 q# a+ s" \一:谱聚类与图划分
    8 T$ J# \0 z% j! r1 l5 w5 }3 s8 e3 g无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中% [- P$ @  o, J, w
      R0 Y8 _# ?- J% |+ b
    每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    & \1 U$ ~7 l! E) @9 E6 @8 P) E+ g! d1( e* ^, ^9 |$ M8 }$ O

    4 [2 u8 Q. h. ^- g) C% R ,A
    ) T' v* E+ q* o( f& Z8 E2# b! z. h+ z9 n

    9 n8 |+ v  K  k/ V ,...,A 5 w+ M1 n  i7 v  E6 I( X
    k1 F  j/ E) `% r! q2 ]6 J+ s: R- }  x
    0 F, Q/ V2 y( J# A* G  c
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    " A4 u7 R" e  \1 D& x" q2 ki1 Q) |' Q1 a" ^; j
      e# ~( i; G& H
    ∩A & l$ C  G2 J: Q, A& j5 I
    j
    % ?/ U; N1 d9 l2 a: Z" U5 d
    9 I8 q2 h4 m' ^ =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    ) l& B3 f4 ~: |: [* |1
    . s$ E* n* o" w$ o* Z- T2 e  l' o
    $ a! j9 ~8 K- y, N  O ∪A   j+ D! F+ x$ \% z# ~% n& w9 d
    2* B1 x, w1 T  F, E+ `7 D

    8 f, U) t. \- Q5 V3 @) Y ∪...∪A . H+ _% p6 P0 I' G
    k5 }% ^- j% j  o6 Y7 p2 t2 ]+ W
    6 x# S4 R* w- b
    =V3 f: b7 P! x7 ~" d3 Z
    对于任意两个子图点的集合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)=
    & Z+ A- c) @% ~: m; fi∈A,j∈B7 n, E7 b: L: H+ a# T; _

    1 I2 G6 f+ D0 L# V/ d( A' s% Z; x2 O
    w
    ! P3 c/ B5 p8 Rij
    # q( h# B! K5 K1 }0 I; O9 k: P8 R& f; N" L6 S

    : q2 V! r: k' w% I3 c, x对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A 6 ^; E& k  f1 `& v' o) f9 n
    1* n3 ?6 m1 x% L
    , Q: Q4 |/ x/ w- n! S
    ,A 8 n; `. X0 X. V: w+ [( @& P8 W8 @+ t
    2  \4 y7 I9 g# w. ]

    6 D0 k2 P. u3 x ,...,A
    $ w1 M  Y) \4 Yk3 Y- Y# }- A2 w6 x* |, s. B
    * L, c) O! h' i5 _8 v) K) F
    },定义切图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 - _* ], u4 L) J* }' H+ d, u
    1
    3 S* B  Z4 {/ p/ r6 g
    / E/ Y: D) _. H* w8 R ,A
    2 |  w" n* }8 J8 H2 p2
    ; S  \4 f+ I) A* s' d  k3 ~  W7 [0 k- t, u
    ,...,A . O) U9 g$ C! {+ @  ?: K
    k
    . I5 c" {# R8 A% ]# s) D+ M; ^) N4 V3 H) a) n4 {. V) l. `2 ?
    )=
    , j5 k- T5 Q) V2 l2
    $ R7 I# M' K( N, M9 u" j1' a. j$ G( H, }( C9 ^% ~
    ' J  Z4 w' E  T7 Y7 b8 L

    ) m1 \  H9 D+ t8 w' f) E5 R  o5 Bi=1/ Q; l6 k/ J+ I6 R7 S

    ( U) j5 S: ^! i" R! yk
    - ?. g' b# a" y5 k, J; G
    ) W( m9 E7 T& k7 i- z+ @4 Q- ~3 ] W(A
    3 [* N, D3 M6 E# k, ni
    8 G9 m: d/ g% D5 ^9 y4 m' g9 K6 C1 `3 E3 B8 j
    ,
    7 J6 w$ L* S: W% }  Z2 Z9 |A
    & A2 l! L4 P. y- cˉ& L* h+ E* Q  Q* X6 X0 _5 c

    $ i* h4 _0 Z; Q/ {i2 l; J- g5 r2 o+ }" s
    $ k+ I! M, ]2 L
    ) (其中A ˉ i \bar A_{i} - v5 U0 k  \( H6 B$ k5 X5 l6 r
    A: u1 u- j$ B0 F: w
    ˉ) E5 p  _/ @2 s( K7 a, K& p- @

    . l4 y9 E6 l7 m$ T3 E/ A: `i
    / f6 B: [+ y  j8 p3 E- w% p* x3 ~# u
    为A i A_{i}A $ ?6 N' b. Q4 N8 _7 _9 P
    i( h) ^5 R  o9 V5 |" u# I$ O. z
    0 X% R' v4 D( A! [
    的补集)
    ( L1 i5 m' Q* ^2 l; m4 q可以看出,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 1 E' }; G* R9 g  A* t' Q
    1
    9 Z9 T9 }, w* M  p% _0 v" J; A5 B
    2 J3 Z0 @' E' L* ]# h4 V; G- h ,A
    7 \5 X' r1 m5 ^8 e28 O- S9 z5 U& c6 G% M5 }2 E

      C& {- h( q0 ^$ |8 s% w ,...,A
    2 x% O) {! X5 \, s1 \, Qk4 m9 |+ N8 `$ g/ C; D

    ' J% s8 V; I# Y/ X# h" t )=
    / }3 W  j, N8 x4 V$ ?+ V2. E; O# X6 w# M- ]" j
    1
    / }1 V! ~, i! _
    7 c. K4 n% X$ O: a9 F% w; Z3 d: ^
    # E9 R) k. J" W( a* l# ui=1
    ' e1 ?5 B9 G9 o( {
    + ?7 l2 Z+ A5 I$ `* e7 Bk5 h# @7 X- Q/ n! }+ Y% b' `) c
    * n" a4 R9 h) M! u3 B
    W(A * ~" _1 x+ g- J7 s7 w
    i
    # \6 b) f) G% C% H7 m# a
    ; N& w; i* r1 U ,
    5 v; C( [' T$ F  k6 a. Y- D$ W+ OA
    $ ]$ W, j8 p6 H' ~5 m" L/ Uˉ( g7 p1 ^- q! s' u7 ?9 B# w' I5 x
    0 n0 ]: ~. P2 F  {  F! W' n
    i
    4 U! W6 G0 f# P; [6 @5 `2 @" z& E$ [, F! ?- d
    )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A 9 x' B6 T2 k7 b4 O4 o
    1
    $ [# V6 V& ]/ q) i( f
      t+ ?" M0 G' w, } ,A $ p- ?4 _8 T* E* |, z8 k' v' q- S
    25 f# ]" D1 O8 v. k5 n' D% t
    : ?% x; O+ L$ b1 I
    ,...,A
    2 A( n( O' V/ J1 P6 @k* n3 e7 \2 o  L" {- q5 R- Y
    " k$ h' w2 t* [5 Y' l
    )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡% E6 F3 J1 d  Q# o

    1 y2 ~! F9 ]% 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
    ; F% i. _4 U; |# f! u# ]1
    ; V" `9 I% E! F* `* I
    & ~7 z; T" [4 ~+ T$ o ,A
    - Q. \: i3 h# }23 X. B9 F* {% c
    6 I6 H* [/ e: R, ^. w9 M: R5 {
    ,...,A
    * l% j& w9 l' \. b& w- }k
    8 v6 u" i" t2 C4 r) v& ^* v, S; K; b5 B2 u5 F
    )但是却不是最优的切图
    ' @1 s* B3 H. c4 ~& j- B8 M8 f% n1 a4 H4 o/ P
    为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割
    * V$ m8 P& a7 g" V/ z5 }0 `/ C7 D9 N. t" ^+ s, u( F
    比例割: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 2 E4 }; H& s2 i9 p
    1
    4 Y" V1 L# B" `9 d9 ~) {- k1 }, `/ j5 N- ?8 B: a0 G- D
    ,A
    2 }+ h- t" V* d; z- E2
    ) {- M' d* n- h2 ?7 n3 m5 Q( [5 v6 I5 Q# Q
    ,...,A - c4 a' s5 u' w5 y+ x, {
    k
    , F& `9 q) g" X; u6 h  A! N% a( o' U: d- p) b
    )=
    " R1 E2 T" Q) A8 ]8 n2
    . a5 s* a6 k: I2 v1
    ) r$ d/ ~0 d# T$ c# P! c
    : F4 l; b8 n- c  H# b( K
    $ @+ I8 c& E& c4 y: i1 Y/ Ni=1( r4 L) |1 q  }
    . `% n* o! y; \- J
    k+ g8 ^  D. {6 A1 X* j- M8 \
    ) F& u3 I6 p: A5 W* v: q

    1 J! ?7 c4 j; I5 V$ }∣A
    & Y6 m5 g9 O1 U( a7 G, ci
    ( t0 k5 h+ x% Z+ ~9 g# T$ i
    " E3 i. L9 ?8 r; d, p3 k( V$ y: i5 o2 F; n
    W(A
    3 v# K1 f( f% j9 B- Pi- A4 m' X1 w; g+ o/ C+ r4 R

    6 F4 g) H$ e& i# L/ d , " F9 G4 I( h+ C9 A7 b' r
    A" X! D! b. @- V$ O8 Z
    ˉ9 |$ u. [0 Z; _9 @: e& r
    * |$ u- F1 ^; G& E. F
    i
    - j0 J; B  n/ ]( r) ]! {0 l) A9 S5 m# {+ V% l& c% v, s# ]
    )" d8 K3 E  _' C
    ' a" j! p6 N0 h: ?: P* m$ k  Z1 V

    3 F: W  o% s+ h4 n- k0 u; N# I规范割: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 2 R" k  \( t2 k" F% v( t9 R$ Y
    1
    - }+ D* Y8 o! h( @1 Y6 l) T. J! h2 B. T$ p
    ,A 2 o) m1 O* o* o& e7 O$ o
    20 y, s' v. I1 b# c- K* `7 J1 c

    2 c" p) i) E; u# W7 Q& k6 U ,...,A ( p" {+ R8 Z- b7 e1 @
    k/ N, K8 M0 S, Q8 d; F  U, C' P" V3 X

    : m5 ~& z+ J9 b! o' C; m( {* U )= 4 `+ j, |; z* X% N
    2
    9 ?- t- G# ^' L- {9 Q1) C# w" l/ i2 f

    6 t  [* v( z' [3 D3 `9 [2 H6 z
    9 N* q: P# L8 C' {i=1
    % [0 Z& K1 O3 c2 U- h# C
    ; w% K. A" E# k  ^, Ik
    9 J( T6 F# t2 y
    : [: g" j2 Y/ h' U$ ~, T- d* K9 O8 J9 t, v7 W3 z
    vol(A
    6 n4 `& N0 X3 K0 F/ ]7 W# Bi7 J5 m/ C; T- m. s
    4 @& h: @8 ?: g) ]* C' E
    )" |( p  ^9 _6 G& I, B+ N5 ~
    W(A
    ( M# t5 Z8 H; l9 z- c8 L3 q* G( ki
    ! y  t7 d  z# b$ D" c4 w* C  a0 J+ ~1 ^4 x
    , ( x0 T: Q0 @% C9 e4 ], h6 x. N
    A. p% J; `1 e$ Q. m$ |' @% X1 }/ }
    ˉ5 ^, W. |3 v3 X

    ( Q' E6 K% U0 B6 v2 F; s1 ]i
    " S; {  ^2 ]6 \7 ~
    / }$ I1 b/ z& O  G+ [! ^# k! w )
    + x, C/ |2 _  Y3 Y
    * F9 J, r/ \. Y% u3 ]* o& H
    - u- }( y1 @/ J* e5 ^(1)比例割
    1 ]+ o% Y4 {* k+ q6 D- V引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h ( L+ @5 Z1 h  ?2 h8 l, H9 x' B8 q
    j" A: ?1 G6 w9 j, ?. c: h* L0 A
    / S8 e5 |) J) |
    ∈{h
    : O$ X- V( n" X6 r0 G: F4 _4 J; s1
    0 j; U7 \. C( r" o8 I& a/ Z" C( P' }3 W* n) _
    ,h
    5 [+ N2 s2 c: m6 [7 q) o! Q: F2" P6 `0 u" f' d2 J4 U( `% I

      y% b1 @  H' Z ,...,h * v7 _6 t  `# z' o3 i# c( [
    k/ f% _6 S6 ^* \! ?

    - t3 s) ^# @% I1 y },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h 7 _' S; ^& F' S& r, Q% n
    j& _+ P! N/ _! M1 n

    4 m4 s+ H  T# ^; [: y! [ ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h
    , S& J* I7 Z0 Z- K1 ^5 i  Zij8 l1 ?! K& ]# e2 G9 F( V3 t4 y
    " ]8 b7 W$ [- q& ?
    如下. r; q: }# l9 @- A

    % j9 d6 g* [0 ~. Eh i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=
    $ P% ?$ Z/ Z9 J  Y+ @( m{0,vi∉Aj|Aj|−−−√,vi∈Aj
    , B) U: ^$ u% ?% u& O: E2 Q{0,vi∉Aj|Aj|,vi∈Aj
    6 B' j! u8 `/ N3 _h 5 A  ?9 z7 S- a* c+ z2 M- Y. ~
    ij$ q1 H. l6 K, H  f* y

    ; e0 U3 ^* L( J: X ={
    6 @& K5 f: q" q8 l0,v
    # C  o/ M$ n  L6 H3 R+ Ki* v- S  t- j) v7 d

    3 L8 a: C" C) b
    9 E& j7 X6 m$ ^4 @1 e/" N2 E) P8 n( {
    A
    ; C9 n% T, J! \( y9 Uj; R& L& T5 Y$ I" H! X

    6 w; ]( C  P0 W5 O- \
    : P1 l: U% m( Z1 |6 y) y∣A ' n* ]) W; W! J/ R( h7 w
    j
    , t3 ^' |/ s' {& t% g5 h) D  p3 d# ?9 w& @
    . p2 o* G8 L4 N  p" o3 T$ L' j

    . z& V8 y" s  E- b0 t. V5 N! C" Y( g ,v + c0 ^* Q) m: p" I
    i
    0 A% `% g+ `3 t- T: Y, a6 n) v
    % a* _$ n/ K' J" l7 g% _- E. ]* p) p ∈A ; d4 T6 T0 w: o/ z( t6 ~
    j$ g: ^5 c2 f, R) y

    ) @9 {' ^! J, e; d2 x
    : }2 T. b( ~1 C# z7 K/ F# ^
    4 Y' I- O9 q1 a5 Z6 \& q, @7 E
    : I! `$ Z& @! W& M+ X' S$ A/ n' O# t7 e: `7 S" _) S/ T9 F% c
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h ' e( J+ K- L& F" Q  u% {8 b. W
    i
    / k* \2 i8 z5 GT
    % s1 a3 U' c3 Z4 V, U7 R
    7 m4 w  U' O2 O* Y; v# L Lh 7 U  H7 A& w6 y* Q4 R1 Z2 x
    i
    ; H, g) {, s* ^+ ]% S% F& O# [
    2 V  z& g( M8 i! v9 W3 N+ | ,根据拉普拉斯矩阵性质可知
      Y" y! @' Q& t5 D9 ^- X. r" q8 w' O
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f ' W' k. z* W# |2 A
    1
    # R) A5 p# o' J, c2 _" U* k- v6 ^% D' K. Z$ f
    ,...,f   @. h% z) |+ `6 H/ z, A
    n
    % w+ B; \0 d, w) K, v- _4 v. w+ z. H
    $ Q" M, J5 ?# I# @6 G4 M  H) ` )
    , X% C2 f4 k% I; `3 A) L$ TT
    + ]+ `" s( }- ^* c ∈R
    ( _5 o, Z' j6 `) w- Q# i7 bn
    : ]5 P: B7 w: F! {2 x5 ~ ,有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 s* C( A2 V1 o. \4 a
    T4 `$ j# S) f" f7 a! E
    Lf= , ~3 N- b" R; F# y
    2
    : u4 H4 F+ ]  o' X1+ m  `' W8 o/ y  Y

    4 g5 J; X. Q5 ~. C4 K/ x$ e
    ; _8 n5 Q+ Y  i$ o! Ji,j=1/ O- H+ V% q: ~* \/ E
    + F) J5 h/ X- ?9 E. h2 o7 J, A
    n2 F/ B1 b/ k$ S, P3 K& P
    3 I" N3 Y. Q* k* }  }
    w
    + x& Q" K: H: e5 fij+ S& e  B# N' C3 E1 x
    8 g. `6 _: w  z6 C4 C' D9 ]
    (f ! _" m4 J5 m3 ~: k2 b' X
    i
    & I* x, Q- W* r
    6 u: Z9 f5 L3 c& u4 g/ t −f
    # D" r6 h2 @: I+ L9 @3 [j
    + `  n  [8 S3 u9 f
    / ]1 l7 B6 I1 ]! A; q ) ' R; g( y) M  L7 z" Y5 u1 c% C
    2
    3 G( f# t; O/ o8 t: O' j, p  t; W$ J
    h i T L h i = 1 2 ∑ m = 1 ∑ n = 1 w m n ( h i m − h i n ) 2 = c u t ( A i , A ˉ i ) ∣ A i ∣ h_{i}^{T}Lh_{i}=\frac{1}{2}\sum\limits_{m=1}\sum\limits_{n=1}w_{mn}(h_{im}-h_{in})^{2}=\frac{cut(A_{i},\bar A_{i})}{|A_{i}|}8 t; H/ N1 x1 [3 p& Q  E6 S6 [
    h
    7 v  B; X% U3 B$ B3 U" S: _% Y* ~4 w. O0 `i
    5 t" O* g6 I. u6 v+ jT, Z" |* x0 {4 C' ]2 e
    5 G  G5 U# d' D
    Lh 4 `& u$ G. J6 b+ t
    i
    ; M& ^7 X( O( W& G+ v' Y( G' q5 D7 L3 g
    =
    2 E9 S; m5 U, o2
    , `# ]9 Q1 A/ f( u2 ]. b: j1
    8 s8 I3 H+ a) j; c
    ' D0 ]" A' Z  e3 D  A8 q1 I, [
    m=1
    $ n) ^7 d# ?1 l+ b; r/ o- F* o% k# Y8 D

    1 T' v; o6 A. A$ [0 u  k+ x$ ]
    , L  t3 o( r& d0 Cn=14 F, N2 W, q8 L% a# S% V; b) }

    2 y- b7 _+ B8 r3 }! k! C9 ?/ h; p6 q, v# J& i; q# A
    w ) D: m/ O9 p8 O' [6 y. Q( m6 |" T
    mn$ L, D: }" B9 w: j
    7 d2 K& k; V* F! d* F
    (h
    4 k& l) |; N* w/ h' y2 ^' Lim9 t! l5 I9 y2 @# l
    9 e2 Z0 s2 F2 Y( |# v
    −h : }* U1 W3 g  s+ e- A- g
    in- N1 k% E, n% }! {' w1 _; _

    4 j3 a* h/ L0 v  o$ p$ d4 P ) 5 S. Y5 q) O. x6 O/ b
    2
    , R  P4 x- U. l' J/ H. V  z =
    % l' u- _$ t/ x$ O∣A $ O) |: D+ d* b* n+ |
    i7 f" L. G' B; H, C) \+ r
    # F$ n* i2 H* s& [
    9 y+ E5 R, V+ C3 c7 l
    cut(A
    # `, r. x) q* d, Yi  E# w- c0 A& n5 X0 H. i
    + T3 g! j% X8 T. s" k. @8 v
    , . Q$ d+ q7 C- e1 |. a- r
    A
    6 i* n* R2 Q! P" a0 ?ˉ
    + }9 F, o' Y- r6 \4 D* L9 Z* D9 d5 z- e: ~0 D: u; ~1 F' ?
    i6 |$ Q8 |8 c0 f& l# O% f% T
    ' `4 }" Y  _& p
    )6 z# x, W, e% w1 K7 u

    / ~- O3 o6 J) l3 a6 o. R1 Y- U. v+ \( Z- z1 K" H% _+ F( g

    : I+ |3 P) _+ J) M2 a严格证明过程请看刘建平博客:链接  n' f' I+ `8 e. D. _- u
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h ( @& S  h' M8 V" F
    i
    . @- @* V3 z' K9 s2 sT5 ^' v$ Y6 a/ p+ y2 D

    $ J  e$ }# @/ v5 N; q Lh
    ( Y, ?& X. m# ]- Ei
    + P. Q1 k5 o# s( t5 a! C3 |* Q/ x. M1 z( P" d
    ,那么对于k kk个子图
    8 L+ }: E( e7 o% @- E9 b6 j% Q/ \1 L; r2 B
    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)! O- T; N( k5 u7 R
    RatioCut(A
      b1 e/ ^' x/ P$ t( c3 B1 f3 F1
    : x( P: T  [; [5 v3 A' E" I
    5 q0 o7 w4 g0 I+ p( B6 A ,A   h/ s% V$ i' _2 C
    2
    + m8 i# `, O) u3 B& d9 g1 b
    - W6 X  a& w5 s ,...,A
    / i6 V& k" a& [8 l/ Mk8 l' c# u: a2 \, S
    ! O$ G. {- o1 V/ l! g, N2 n3 V
    )= ' E" z8 n# p; ]) {
    i=1( g7 B. w2 u3 t! z/ h0 a

    - |% ]$ U3 P7 `  M" E% _8 Uk
    7 c% m) ]: s) q: d% t
    * R# }, U$ l6 z h
    # Q- P% j9 r2 |# G2 G3 A6 j4 fi) j: d0 e: B: i* ?
    T
    : o  d1 v/ R( R8 g7 y. `5 @, H+ e' f" M5 s2 y# M) e0 g
    Lh " }' S2 H. u7 M. r2 e# b1 u
    i
    : o! d0 ~% s0 U( W
    4 x$ Q! E8 d4 |. v6 S! F3 C( g = 7 C$ J2 d# q& T7 J3 n
    i=17 m( i0 N4 V* @
    5 [% a# L2 T0 A$ D
    k7 ?+ x$ b2 W# [% y8 [1 ?$ c2 p

    # _) \' M: t9 Q7 U7 s  w" v (H 9 H* ~6 |/ i9 C. e9 V
    T
    ! j9 l2 I4 E6 Q( s! A2 j LH) 3 g2 h' @# g6 G0 j9 x
    ii
    / R3 ]& C/ r, r) c5 M
    . t$ _) P* X9 K, { =tr(H ; T& h8 T) z4 O1 E! V" V
    T4 x, }3 L5 v* L! ^: x8 G
    LH)
    * p+ s/ B6 N4 J9 Q" K# t4 M) C7 o% T3 s3 Z$ K
    因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H
    1 j' R  h5 j1 d& M4 I5 sT4 r3 N5 ~2 p) {+ E! O
    LH)。又因为H T H = I H^{T}H=IH
      b3 ~! ]+ C% y  K" W1 c4 yT- K/ H* W, M0 l) t; f
    H=I(单位矩阵),则切图优化目标为
      ^. Z9 @: S$ i2 i4 Q, {( `& j3 }4 J/ g/ D* S5 w: `( V
    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=I8 A& B  d! K$ t9 h" V
    H# g9 S6 s& ^3 O5 D$ G
    argmin7 y% r  `& b2 W
    9 n, w* P4 x0 C- X* A

      ~+ g* {$ H: c7 J5 N4 T* k6 X: Q# D0 t7 k8 x  A
    tr(H ) H, ?7 g/ O1 P, F6 f5 V0 g' i& Q
    T2 S5 _3 a% ]  L+ d" z$ W! k% [
    LH)s.t.H
    # `8 F, y. y+ w- z9 H; E% \T8 q2 ]5 N; v% g0 E+ {" `5 i
    H=I
    8 k, A+ K* ]! G% b% [1 i; r, m3 V+ f6 B  X  n
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H
    8 m7 {) R1 x+ _& H  }t% U( L7 Y! _' r( {+ b% A# P, D, q7 h
    LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h
    $ c# W9 D9 O% r' ^7 _( q' \( Ei/ M% O) w  \7 O
    T% G* z/ e% e( _/ a/ E1 m3 d
    0 |8 d7 C) H7 T! p3 U  H2 M
    Lh $ ]7 U/ p6 F7 v3 s' ]- C. Q
    i# A$ }$ n/ q4 L; |

    4 C/ v2 Z1 G( Y& b0 S; _5 w ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h ) S; z6 {5 w- z: n" K
    i
    ! }, B7 h$ z1 u3 R3 wT6 H% K8 q) F& p9 A: V. @
    + l; x! K0 u. b( J0 c. G# ^" W
    Lh
    7 b8 q8 C, T6 A4 g5 I  qi) m' b; Q% S7 j

    7 K+ L3 O3 e' r  j. V 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h
    9 H5 x) H* \, X4 w' v3 Ti
    * a# \) Y2 D/ v  t, \T
    7 J  M* d6 x% q' g6 {  |. M& Y
    + G, U0 V2 M3 ` Lh 0 _, B4 Z$ l, O; w; G5 C' E! Y' I" Z+ U! N
    i
    + u8 ^9 g; n7 U1 |: o: ]& G+ M+ t. {' k% `3 {- F  @
    ,目标就是找到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 + S' _6 H. l; o
    t' p! s1 S1 t5 m1 ]$ R; ^9 ]
    LH)= 3 i& b4 e/ y: l1 S/ M2 T; R( k
    i=1
    0 t0 d  \) |! x$ w
    9 Q) z6 N% q$ Q5 \' ?. e+ tk' |% l5 ?4 H5 q- h+ J2 Z6 q5 P

    3 c  `7 j6 e6 A+ j. z# H7 X h # k* B$ D& x1 c# ^! d
    i; R- k( n( S; f- B
    T% u9 b! y; {9 o& z  u+ v

    ) J4 y2 o; S. a( b% I Lh + W# F) a: F+ B* e# G; K6 n1 G
    i
    ; d+ G! N4 k$ ]3 z7 ^1 z  Y: N  m* u8 \* N, D
    ,则目标就是要找到k kk个最小的特征值
    % J* y4 ?  s: V; @
    : U1 s6 u+ ^/ J5 y因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下
    1 q, V, B. W2 F8 [0 i7 F: I, a* j9 S" ^& \7 T8 b
    一般来说,k kk远小于n nn,也就说进行了降维8 W: Y- m- N0 R5 Z  ]9 D% i" 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}}}
    ; W3 n9 e% M4 d- m: c; F! M/ x# A) uh
    ; L- Y1 `8 _. Eij. d5 i& S1 h9 P8 q. j

    ( }) K& ]; D- P6 M8 o( h& Z! c3 y
    * f; [+ J$ y& s1 A" P% _: n$ z& U = % c( y  a& h& H
    ( # f- V0 N+ [" Q6 ~: Y
    t=1
    1 B& ], I- T- s8 t% \0 _$ e! S  X1 X8 Q2 G' N3 ^
    k# l5 {, ~3 C" h6 p* X* e

    : h- U7 E) d! p9 E2 K3 d$ J/ W+ ~  d1 } h
    7 d8 I6 j+ N( C1 L) L! W4 ]8 Sit1 y3 P( I/ P' D3 c
    2
    # }) K5 O# b  j3 H0 Y
    3 D, [3 c% @* |" w# o ) & {6 E! J) P1 P0 V4 E. F1 B9 j
    2
    8 \  W, p0 |: j& J- y  a1
    8 y/ s3 d* \6 H6 o
    $ S8 m8 K9 P" V  V, Z; k( I
    ) F  y8 l( i+ F2 @, y4 {; k
    7 m, A) [9 E# s; f) ph 1 q( v& ^6 Y1 b( T% ]# U* G/ d
    ij1 b! t' L4 a5 p6 I& O+ R- S
    " M0 D! I+ [% q% e' V% W! T

    ! y4 \1 T9 I4 J# r
    ' v9 }0 |: i% M0 z: p9 t9 n/ _  r( b: }, N# H
    # p  G* H" Q+ }& C8 ?
    这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
      U  w8 b( }! I' a
    , f+ v0 ~6 U) e3 m4 Q(2)规范割(常用)5 g8 ]0 x4 |& k* s- h  i3 H
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A
    % u, M+ R" n. n2 _! z9 Wi1 r* k& s; \3 a2 ]
    : w8 q5 t* N4 {% A9 m( ?( `1 `8 V
    ∣换成了v o l ( A i ) vol(A_{i})vol(A   l- w  G! T- S* n( A
    i
    / d; q, R0 ~+ r$ [4 U/ y
    8 }! I4 P! N6 N ),定义指示向量h i j h_{ij}h
    * |& |$ |: X& ]8 F5 d& x* \1 n) c, ~ij
    " l! e2 K! R9 q# p
    5 k0 p, K, X: N4 f) k% r- W7 G 如下; D4 z. S1 _6 n7 |
    : r1 P3 c9 W: J, l
    h i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=) \& J8 E9 ^6 Z3 M$ Q6 c
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj8 D! C* d4 p3 g+ o1 [
    {0,vi∉Ajvol(Ai),vi∈Aj
    $ M, m: d, F3 L0 b' E/ fh 6 ~, y( C- p( p6 |; |! {
    ij
    1 x" w7 \. c# e0 z# A/ k
    7 d( T2 W" m# Z" x% Z1 O ={
    : Z; F! X# Z% Z. ]/ K0,v 2 F( ?( ^# s3 Y8 U( N6 o
    i$ S; y/ Y+ R" i* t: o* n7 T5 s
    ' F$ d: Y8 x7 t  s/ Z% F3 `6 g
    1 o; m5 A  D: J3 H+ A- L
    /8 [( |+ E5 I9 {2 Y
    A
    ! J1 S7 C" Q; v2 T; k" _j
    , F" ?4 U( I. C1 j8 e$ {4 B# O! E" [' w

    $ L- F& G) [& V& y* y) Rvol(A 4 G* u) s$ d- C! p6 {9 `( T5 y
    i
    1 j9 H% ~* X5 u' f+ @0 w: j5 ^) J. r
    )) }  a7 e! q6 f
    / I# g- F% @: x) q  |1 c
    ,v
    % {2 R* w% @$ |+ i4 v# Ji+ E$ n. S9 g2 U6 O+ J4 y# K
    3 H' v( s" e4 l+ g0 |; {
    ∈A
    ! K$ J7 N# P2 B1 o6 b0 aj
    , V+ n4 D9 u; v! P0 M' r! A$ }2 O4 n
    : ]4 S7 q3 x  w* V4 p7 b; q0 A% g4 B: U0 O. E/ ]: r8 Y! n

    + ]4 I% w) X$ l
    0 y3 |3 L! v" q/ n4 _% H2 ?9 \
    4 s7 a* }9 p& N于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    0 C" c" \- L" S) B; li8 ]' \$ s4 K% d
    T- \8 E- z* o3 O' \( l, ^

    . M7 a: j4 W0 Q' m! z( J  k5 h Lh
    & i/ S( ~) B! `, ~. \! U! ^: ei' E) H2 s. \/ y7 Z+ E2 Z
    ( y, q4 {1 i0 o- n3 z8 r7 ]4 j, R
    ,根据拉普拉斯矩阵性质可知
    ( w; ?; f$ G; t/ d6 c# u9 a8 W7 n7 m% x" s9 B- C) n8 j
    对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    : i; j( G% J( O7 b1" `+ }! U8 E. x5 I. ]
    8 }/ T9 O% q, ?8 ^% O: P: l
    ,...,f
    . |2 l# V6 Y( bn
    % `- b6 b5 w! |+ R2 |' T# v4 X$ t5 ]1 V
    ) 9 \7 N7 X* G- y0 r# Y
    T
    ; s) @- f* k- C; W& a" } ∈R
    : V. U0 P4 |) a$ j7 r, _0 cn
    9 C: ^7 u+ Y" x# q' Y8 x( 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 # `3 k) @& a$ ]& G3 r) V
    T0 }/ t1 l) ?$ H% T6 v! N
    Lf= 1 f8 X& q- o. B
    2  C7 k5 g* Y6 N. n
    1
    8 I0 _: V: e2 R3 P, L- X3 G& H: f1 H) E" f8 s

    / d" N% z) q8 k# L1 Gi,j=1
    $ @" x3 y4 I5 ~+ @; K, O! ]  B
    5 |+ d8 o( R0 yn
    # [7 C( X7 L7 W  a1 J
    3 N: Q1 A) l" E, e( r w
    6 B, {& K4 ^4 M; b# Qij
    7 {2 I: M, y( ?+ x( E1 {
    0 k4 [$ ]$ F) H- }6 S! ?1 r (f
    + J& @3 B8 l7 S  ?0 d& Y/ di; J9 g( Z$ u( i% @( F5 `! t/ c
    " C3 M4 Q  c2 t) S! u- s
    −f . z9 c4 P& V( [
    j
    # f7 a  j& x; T- l+ o# a; ^4 l5 B8 |' r
    ) 4 x. @0 N9 |. Y' R5 y
    2
    2 F0 B! c1 w) j0 X/ N
    " h4 `; Q/ r+ ?  gh 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})}. x0 C$ |! P' O' o- p9 v8 ?
    h
    6 k6 k/ A# B4 _0 ^+ D" Zi3 a2 f# g5 s: x
    T4 @. t1 h6 H7 s# L" }

    : s% H* q! P# v. O. U Lh
    : ?" k3 h; P" }- yi
    . p7 u, K5 p* l  F( S1 Q" F' h" b
    = 3 z6 W) ~9 \4 [
    2
    " I8 _: h6 f6 d5 b" m- [1
    , \; @$ L- q( `, D/ ?) o! m. r6 C/ E, C! B6 I% Y

    , n# X/ e) `( C5 {m=1
    5 E  I1 D2 C" z6 V7 d: R2 t" P6 C& a# @& R, B! G2 s7 n# L
    2 k5 C$ H4 b; o8 }

    4 A; w$ z- X5 n1 D* Bn=1
    ( G+ a7 o5 F, ^8 S( [- {
    " P' N4 [/ \& D; h$ R
      l, X1 ]) m7 p w ' ~6 E$ g4 V# D1 `
    mn
    1 D- {4 g1 _7 s- d( V' d9 p+ o6 P
    (h
    . n8 `8 e5 s! h' ?- |3 Q0 mim
    ' T8 B% l, W" K% @' r
    9 c- {. d" B1 L  O8 S. E; E −h / o% Z7 R/ Y/ t
    in( I/ n8 f- ^# U& g* f1 F! z

    5 @- u- u) O: V; X" n3 j  E2 U ) ) k4 g: }; o. K6 b5 R3 f* @8 d  T
    2
    ' L4 K- \; {; z; f+ l. s = / A9 F2 J: H2 o; P2 n  H  X& p
    vol(A # A# r3 i. e# `( V8 Q
    i
    " i6 _) |( ?. c6 D! W# K' b1 v% g/ D5 U4 V
    )' ^' a3 @9 t- y
    cut(A 7 h3 c3 Z* }3 t7 y
    i
    : ^" h- p8 J7 b+ V4 b! H
    4 Z; y9 r, b: z# W. U , 6 q8 Y! c) V/ Z
    A& a# u0 c6 ]* k$ A* H4 z) ~6 M. j
    ˉ
    % r4 w2 a. ~) z9 A
    9 ^& b8 V5 n. Z) b$ Hi6 M. c* m9 G! K

    ; {/ f; Q0 T+ I/ s )
    , V: X2 |6 `1 D- C1 r! `) [. A6 y+ i* u2 S# l, u8 C, B
    0 [  l0 e7 g3 r& k

    & e: R! Z* W5 B: j( t9 H严格证明过程请看刘建平博客:链接! v; F4 E3 t4 s$ a
    可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h " h4 B9 O8 G2 X( S- O( u2 Q
    i8 z+ H) o! d9 {+ h( p) n: X, p
    T
    ; I3 j$ i# I1 D5 e! B9 `
    1 U( U9 Z; k* G% `' D7 s8 c, f Lh - O0 [9 P, d6 U6 `: f
    i
    " D. t, c' S6 C9 J5 t5 C$ _$ J$ t4 t
    ,那么对于k kk个子图
    . G) q' e0 l# H8 S2 X3 m" A/ L; \3 M0 o$ p6 b/ e2 [
    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)
    " S8 E0 K  U. W" [# LNCut(A ! a+ Q  t, P4 s/ W( L. c  U; F5 O+ n
    13 X6 Z/ }2 \- n5 S( a& X1 K

    ! U" V' z* B! s$ D# M9 i) b- z ,A
    ; o$ {3 ~% k  ^4 e+ X, R& U. L2
    ; w" Y, U* G0 y! ~! S; n; `0 w4 S9 Q6 K& N% H+ C0 ?' U
    ,...,A , U  j' ~2 D" Q' B1 r* C  `8 E
    k
    # D8 |& a1 @! i- ?# x  S) D! @7 o+ v) x" A: D2 h
    )=
    5 S* ^6 R2 e8 o7 u6 R7 v- K- ti=1& L: s7 P  i. Q0 v& w, u' l

    ; z8 X, ]* y) S% m9 R$ z  Rk
    : J' l/ w7 ~2 R2 Z0 ^1 D1 n  d! \) |% I& T8 f4 g$ {. l7 P
    h
    / j2 c6 ?0 K5 h4 D8 y) j" t) Fi
    5 z6 g+ |1 z8 @  M/ G$ ]T( [  A" J( b2 a9 K
    " J; x& f$ |$ B* P# }
    Lh
    1 C6 Y7 w7 Z6 {, L( h$ Yi* I' J9 ~/ {5 T7 y
    . B3 a: n/ C( D
    = 7 c0 r5 g! [+ B6 _$ P2 d" j& {, H
    i=1" ~" I' W3 M7 g" r; I/ p

    $ @5 k! v: @  _k
    ; y8 z+ {: m& N* F& ?
    4 m/ T* r* c" a5 r (H
    9 _3 a. H8 n; ~+ |# l9 ^" bT9 R5 k2 c9 A+ ]) f8 J! k7 ?
    LH) . U7 D" F) y/ ?! n# h, ]6 I1 ^1 O
    ii
    " C" k1 @: G) r  h9 u9 }& ?, ~; {% [. H
    =tr(H & C3 d( {! G) j! x! i. M1 z. W/ y
    T% }( q: s% z8 w) M+ a0 s
    LH)
    : ~+ q( u; D) @
    ! o7 m; g: j0 I7 I但此时H T H ≠ I H^{T}H \not=IH
    ; T  w8 F: o% s" VT1 F. h6 g2 p& f/ e- y( |7 {
    H8 b: h  ?: k- d& a
    $ h% d& j1 C0 m
    =I,而是H T D H = I H^{T}DH =IH ) ~6 _/ I1 }, C& i
    T
    + |6 U4 ?- K' {. |- u DH=I
    : o* e& T3 V5 ]7 C/ Z. ]) V* Y. q% i2 |$ y
    这是因为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
    + ~# y: F) L/ E5 ni
    # W$ I3 j$ h) `& f0 p( a- TT% z0 u% }5 T8 l5 r
    . M) q, ?1 C5 s! E6 m0 ?
    Dh
    ) |, f6 b$ Z6 M; H- _) P0 ~i
    ; ~& j+ ^3 f/ J. y1 S
    0 x1 X' ?. s8 H4 Z4 N = 8 i8 [$ n1 t( ^$ _
    j=19 W2 V1 K4 O/ [5 V  G6 s" y

    ) @4 S6 S+ e& y$ p/ Yn
    $ K$ d3 P; l' q& {5 Q8 f
    ; l1 e0 m6 A# J- f; ^: c h : `/ n! o/ Y; T* k) p9 }0 Q
    ij7 X# [# e$ J  m+ u! ~
    2' g4 M9 ], _8 [4 j9 N1 q, }8 j

    % b" j! H5 h2 }4 Z* C1 _ d   K- b. ?) B- b& j  c
    j
    3 h  Z0 y9 d4 B0 g/ L
    % h! x2 F6 o5 [" X =
    5 W0 G* T/ M  y' H# z7 `% `. \8 Nvol(A 3 f' K1 ?; I6 s6 l' Q/ g/ H9 Q
    i
    ; ^6 q. u3 h) K" J: z
      l, K6 \2 r$ P9 X )
    % l: ~0 W& r  v( k5 B' j1
    3 i# R3 g4 A2 }3 X: R8 c' X) Y2 j8 E# `

      P9 V- r" j; {- P# w% c5 Dj∈A , z+ X; D( ~7 R7 N; R* s
    i
    1 |, E0 E8 |5 Z: T
    - c* i9 S! I- O
    ( M7 A( {0 b; C
    2 a; q+ F$ Q' i" t- ~1 `1 W: w
    3 @8 X( U& f* o$ }* X* ?5 u& ~% H d # v7 b1 H3 }% ]% C( @- V
    j9 ]: Q7 t/ k6 I
    8 S5 c! M* W/ L; ?$ ?% I( V/ U
    = : e2 W% m2 o/ v  y7 ?
    vol(A
    ; ~: H* ]; _) a) O& \- g) [) ~7 |i
    + {* M/ [8 o8 _0 i* [* ?1 g  S& e' X4 e& y# K
    )4 n4 w8 ^, H2 A1 X0 E; ^
    1; u. j, \* s  o, ^7 f

    9 `/ Y  @! ^7 V( i7 H) y' b# X vol(A
      s3 g7 d+ C3 n% x+ j0 Ai) K& H$ W; \2 e6 N

    8 a7 ?. S1 Y. Z. `( n )=15 g- E. U8 h% q$ y+ s
    因此,此时切图优化目标为
    ! v) T& H8 C, d! S) C
    " ]2 c2 J. q4 g3 M$ Ta 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
    ( T: y6 T0 o' b4 TH# k4 N/ n7 ^2 e' r' z
    argmin
    2 X! v6 W" E* ^6 Y# x, j7 {1 U) I! {, w3 `0 ^

    1 ^% |( t* X7 Q; a- G0 f2 d! x8 q
    tr(H 4 }% G, j- g9 X" [1 H
    T
      F2 Y# e6 F6 l' D- `  O. K+ p5 j2 \ LH)s.t.H / t, ]/ K* z$ j  f+ C" |9 n
    T
    ; T) ]9 \1 A) I3 R DH=I
    0 l( ?6 i4 N( b( {3 Q; z
    2 _6 A) A( Z  e% S* H' u# }但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D
    9 W3 W5 o+ {6 W/ Z3 F/ k
    0 k% l% P- h# V5 S% r23 N% l2 E- K/ A" g( e/ ]0 E# T
    19 q8 O% c2 U. |3 Y2 ?
    5 r5 j1 g1 ~9 D( {/ H  a4 w
    9 `9 O$ ~5 P6 M* K: P. Z, b
    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 % P5 o' c: J. h
    T- F2 c' l0 g' g
    LH=F . k4 y8 m" M/ E
    T
    0 l/ X, ^5 Z# \ D $ I' Q+ T0 @+ a! s
    + \  m7 j; M1 R, J
    2
    1 P& s" z3 M- G5 J+ z- {- d/ g1( p/ J+ M# y8 ~
    * p1 l5 T3 w) v/ x5 U8 F9 J4 F

    7 p  o- J5 z4 y# i LD , r- a! p9 N7 w2 b1 e& e

    ( I: P# @; @6 [7 x& U& ~2 C2
    6 W% L$ c' S7 }( j/ v1
    ( o, v8 E6 c$ G7 \
    : |: M; k5 v& p& c0 L0 @6 E: K4 K. [5 G+ f9 ^/ W% e
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH & R7 x) e1 L/ A+ r
    T
    3 \; t) V& ^4 n+ B DH=F
    4 ?( k  V- X2 V. FT3 }4 N: W8 n+ \" a3 ]2 @
    F=I,于是优化目标变更为
    ; Y( c: T3 O3 W& A* B  u- K7 _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=I7 T2 r0 m/ t, B% G
    F; N! g2 C: X) u) B1 j
    argmin  T( M% U" [5 V2 \$ L! O. P5 D' T: ^

    3 V# Y5 E" N; j8 v9 `# F- ]& F
    1 {% S# Q' ?3 H" ~
    1 P, n1 o( g8 L+ B& s( O. F. | tr(F 4 V( E# H6 _3 [0 i8 C
    T7 p# ]4 o+ K' V! ~! F, E
    D 0 g8 P5 n% X( E6 e

    " I8 S) s2 i& k0 O; N( b2; r5 L, y9 h& q; ]/ C7 f" B
    1$ Z& ?- r4 ]$ S

    . R# x# V( X- `0 e& x8 C; @" @: g' H1 @8 M4 ^5 N1 b0 L0 R" j: U
    LD
    1 v; ?3 S9 a2 P& j; |2 K& O: `9 W* J8 W. y% `" Z* D
    2
    2 ~  r% T: u) B& R6 m1 ?1
    ' V* _4 h6 Y0 E6 I8 a9 j" {0 W  z( E) O9 W* b6 c* q
    4 o# ?3 f- G  V/ D+ `( r
    F)s.t.F
    7 o* g% i) U7 sT
    4 t# W8 e- p2 a0 m! F7 q+ D1 Y F=I6 y4 [2 x# x6 G' [7 Q% D% e$ L& Y

    $ s* ]' [0 s2 K4 `, [3 h+ j现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D ) g4 I$ G- {: g! z0 K+ {, }. B- l* W

    % ?" c4 j2 W& s1 s/ [/ o2
    7 _. a0 l9 |: @" v1 q! o, ^1
    % q& U1 \* s4 V. v0 P$ f& o. \: N* h$ v2 `- |* Y/ E! V( {

    ( b4 Q' Z4 j1 Y$ {& _4 m9 r6 X LD
    / f6 P% q: V' ?9 r- v/ d* {0 M
    " E. B) f% n% C+ f# x2+ Z" K. r) V# W+ Z  F' J5 Y- G
    11 h* l% I: w6 T7 ^5 J+ I5 O
    7 X4 t  [" b/ n& V; L
    + o& V- U5 [+ @' k; L
    (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类
    7 b' \0 `: s4 n$ q
    4 P1 m+ g( P1 T6 J0 Q9 n3 }0 B一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    ! F" W/ p, T# m3 m, i+ H4 a7 c1 R: c; L; Y5 v. Y
    2
    / g" V7 m, Z$ G: j5 H7 Y( y( h1
    0 ]) G% ~, P/ K2 j! {: Y# K1 A9 U: c8 N3 a; I# n8 h

    6 Q3 Y7 H6 L, V/ [5 P! { LD ; B1 I4 W& k* t7 O. u1 e
    " O1 q8 f( R$ J: t; K
    2
    ' k" u7 ^* W* [! q2 M  u1
    1 E5 ~3 `1 z5 _
    , c# x7 n6 u# O3 ]/ [
    * q& W7 N: l; S$ l2 h  L 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}}
    : y, _0 A$ q- K8 t/ q6 rd 9 g- C: L1 r5 p4 a
    i
    4 q+ q% I- Z1 `1 |2 ?8 `/ W0 A+ d, e- v' t$ B( B
    ∗d , j4 s6 [/ f! b) T5 w# |3 f3 ?8 h2 B9 \
    j! d) q' F  }% ^& w* s
    0 d" }; j( P( `/ {9 U6 @6 @
    ) x4 P. e& q( P: y' v
    * J6 g# W/ B# c2 j1 X' M

    ; a+ e0 ?4 }3 P7 F, c+ z0 OL ' v% J# |3 _7 g6 J) i2 }) C* ^
    ij
    / P! \- V9 |6 p, Z! B/ P  q( M4 G( Z) [5 i2 v2 {" [, y8 m, ?3 P/ Z

    # e3 l4 o: n6 c: q" a! h$ O2 B  p" @7 |5 z& f
    , @2 t- C* ?) x6 @( ]! p
    二:谱聚类算法流程
    , j& N0 J# `+ B9 a" h给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x $ Q3 O: f: N, t( k
    1
    5 l) j4 n* u! v( e6 q: I3 V/ R) l( X8 t+ g4 O' B
    ,x 0 S$ `9 P. E( ?; y
    2
    " K6 m% C, ^. ]4 B6 u/ H5 [" h" {- z: _  h4 K5 ~
    ,...,x 3 _3 K5 e( ~9 t
    n
    9 R" l5 y  p0 ]2 M+ v1 E/ ?
    , T( j2 P* w) W) Q$ C( R5 F }
    2 m3 s  ~5 k  K
    ( x0 j$ D( V5 r0 ^根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)
    " @1 Q/ Q& |; ^) K根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD! X  e, G7 c9 H; S
    计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    1 `) S# I' Y+ k8 x4 h; l- D得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 3 y$ n( O. h* q- d$ ?- R
    & C* I' `4 T$ K. g1 N' e
    21 y- G  c+ d1 a' i! P
    1' g  I; v# J6 J7 Z. _  J: J

    4 a- m. |5 K5 o  H
    + H# C0 r" ~2 Z# ] LD
    ! s3 C1 _7 J: k: z4 y/ ~; l# a
    ) H0 B7 T# j. h; B8 q2) j# H' Z, }! C2 r  g+ l
    1
    1 D  z3 i/ J5 b4 j1 Z! c3 {" s0 {6 J+ H5 f$ X* d

    0 @  h# q9 S% ^/ G) R4 T/ t5 i  }. S
    计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    3 L7 E% ^! {, F4 f
    3 O& R9 q! K! G- b2 E# ~2* K1 |; i6 N+ [6 `2 Q" V4 P' p' g" J% Z
    1% z0 Q1 O. C; M2 R. c+ O
    - _5 l" U# W4 _7 e" ]
    $ J8 v, {: ]4 g5 i) f$ a" a/ v
    LD
    5 v. J' z. z$ @9 s0 @" i  j% r/ s, d
    2
    1 Y5 Z& p4 u5 `& j- X: H$ ]: o1
    ) _1 t$ @8 ?' L* H( I: ^3 D- K6 f3 P$ q/ S7 ^1 z

    4 Z2 K0 [) g" h+ e, x' z/ b 最小的k kk个特征值对应的特征向量f ff
    9 O7 i6 {) e  |: M4 A  e将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF
    + G* P' s5 \( XF FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k
    $ o/ |$ p" s; k2 b+ m* T7 R
    * w* c' d1 {0 r9 E1 c! K# C) s7 ~  P- w" o% }6 U$ R
    得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c ; Q2 Z" y+ i7 w2 b  ^! n  U3 d
    1' p/ z% h7 ]( e; C

    # v$ V( w, w5 t% Z, [) g ,c 1 D( u4 |  W2 M( a0 t/ R0 ]
    25 d6 Z! h! ?7 E: I( V5 ?$ R
    ; o& i, W: K( ~5 d+ g/ A
    ,...,c 3 _! `6 F4 K6 l/ x8 C
    k " @7 i6 z5 B/ ^* [- s
    $ d+ u0 Z$ Z; N) C
    5 N* P6 B& T7 k( h
    & ^: e/ d) r* T( r2 P3 l0 [+ B
    )0 G$ i' b/ _% A( W* G8 X4 y# T
    三:Python实现/ J  a( Q- Z1 n9 _
    import matplotlib.pyplot as plt0 ]8 V4 X) A6 K: h! c! ?
    import numpy as np
    3 H2 b$ v/ m" \" z* s/ B2 v& ~import pandas as pd
    " h  g- g- Q' e& F% {* y( D6 [' zfrom sklearn.cluster import KMeans' I7 F  F9 y) f0 d/ {- M
    from sklearn.metrics.pairwise import rbf_kernel  V( a" p6 o6 C, E0 C. }
    from sklearn.datasets import make_blobs* [1 K; |1 g) S
    from sklearn.preprocessing import normalize9 Q; y. r* l, O, \' F
    7 U, V. ~& Q: q+ j4 Z" T. }! v
    def get_affinity_matrix(data_set):
    ' ^1 g+ {, o0 J8 f! C    #  利用高斯核函数计算相似矩阵(全连接)
    ! |  l3 b# q4 i6 L9 d2 t    rbf = rbf_kernel(data_set)
    ! n7 X# }: S0 B/ p- x  F; {" ]    for i in range(len(rbf)):
    # Y( v4 n* E% _; P( S3 \* T        rbf[i, i] = 0
      u. q- O; g9 H" W- p3 o    return rbf+ @0 p) `9 x1 a+ p, w& W4 h2 o

    0 K  b$ F! h: j3 U9 w0 ?- |, }; I% k! o% |
    def distance(x1, x2):
      c' E5 L* K: k) m: x. C8 @5 y    """
    7 S6 k+ x4 C: j7 _    获得两个样本点之间的距离# x" N' g/ t0 e  g
        :param x1: 样本点1
    3 m2 [: c) k  D4 r/ x6 m    :param x2: 样本点2# w0 a5 v  J1 p, ]7 y
        :return:  P) q0 \, W) R5 F
        """5 ~4 b0 M, |/ }1 i0 O: ^; L- d# R
        dist = np.sqrt(np.power(x1-x2,2).sum())
    1 H5 j+ P6 x: E4 p3 y( ]    return dist! h0 L. U, p: T8 @

    4 g8 `" e/ x% udef get_dist_matrix(data):
    & W4 c$ t- u9 ~    """" N7 w8 T0 w, H  }
        获取距离矩阵9 F8 o+ L, L; N7 H0 {" B! o9 r. c
        :param data: 样本集合
    + ~; F) t3 e$ S9 m    :return: 距离矩阵0 ]8 A% ^9 q9 w/ {5 x  y
        """; ^+ J  h  ~1 q0 D0 b( t: d
        n = len(data)  #样本总数
    9 e, N" F0 n6 k0 d    dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵  h$ h6 P8 m% j6 c: S' f# o  M
        for i in range(n):
    ' ^" N/ {4 y# K$ c, a$ Y* v        for j in range(i+1, n):0 H  G7 Q8 Z6 c# m; P1 V, T1 U
                dist_matrix[j] = dist_matrix[j] = distance(data, data[j])
    9 F) ?) b5 r5 B4 L$ _  T% u' O    return dist_matrix# U9 P  D* G& j& }0 y' c

    4 h! c0 A9 }: [6 adef get_W(data, k):* Q$ R2 ~6 Y( k7 H2 I8 Y
        # 获取邻接矩阵(K邻近法)) C$ ^3 Q# T$ G/ L
        n = len(data)
    8 F. }+ N3 A' C9 J2 Q# l% P" p- W& h! U    dist_matrix = get_dist_matrix(data)  {0 w) f* E5 K8 ]1 f
        W = np.zeros((n, n))2 S- C( C8 A+ _
        for idx, item in enumerate(dist_matrix):2 D2 h5 J  a1 m6 E# |+ A" N& ?
            idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表2 b2 v- C. k. Z: ~) [5 d6 W6 R
            W[idx][idx_array[1:k+1]] = 1
    + }7 o  W- b$ E' o+ }    transpW =np.transpose(W)
    9 h0 W+ H& }. ]. g    return (W+transpW)/22 d: D2 G! w& K4 l3 D

    % r7 U) |$ }, ^  i# tdef spectral_clustering(data_set, k):; l& v0 g8 G. }# r* Z$ H0 b# T( N$ o  j
        # 利用相似矩阵S得到邻接矩阵W
      u' T6 P) r. O6 D# J) p    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)/ T! Q( K9 F( X$ w1 B. u! J
        #  W = get_W(data_set, k)  # K邻近法
    1 E7 J' _0 t5 N5 n7 T1 f2 L
    9 V$ K$ r: `2 j7 ?# d    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)
    ) l% [% R/ [5 }2 g3 i    D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))
    & o; @$ M1 g' W/ `
    0 e; H  @4 D, m    # 计算拉普拉斯矩阵L=D-W& M. `/ ]) S+ q1 V0 B
        # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    9 z6 D( m, w! _! [, m$ ^    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)2 W$ M! _! w& Q- y: \

    4 c7 Q( m( n0 O) u: z    # 得到特征值和特征向量# B3 ^6 ?. {4 E4 u8 {  x
        eigvals, eigvecs = np.linalg.eig(L)) D# E* i& O0 j* h: {6 V
    # Z! @' E# ]: j- A
        # 找到前k个最小的特征值(索引); q) n3 K8 O0 Y% y; n8 W7 A
        k_smallest_eigvals_index = np.argsort(eigvals)[:k]
    , C4 v* z% W$ ]" G/ n( q& m
    . b  I$ C% A% |) e5 C6 ?    # 取出这k小特征值对应的特征向量,并正则化4 W# L1 f  _5 P9 \: J1 k
        k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])
    : Z% ^4 q# T0 \( P5 m1 y
    : U8 U, A2 }5 u" J1 S3 x9 ?    # 使用K_Means聚类/ {9 t3 ^9 A5 M: @
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs)/ J6 J4 g& J, H( S' b# n+ e$ {" c; l
    + x0 W- z6 ~: \2 i9 ?
    " P; p' E! V  [% S. s2 c
    raw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)' X, j; M3 H3 f( C; M
    raw_data.columns = ['X', 'Y']
    8 h$ A/ h) q- m! px_axis = 'X'
    - e' r: \6 y6 e" f# {+ @9 Ty_axis = 'Y'
    7 |" e& D/ G, ^- H+ U1 v
    + T0 l  W, a" b2 N' V4 W( Zexamples_num = raw_data.shape[0]9 P3 @9 _' v1 L5 I2 z' V
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    ) S" |8 t5 Q: p/ |7 H( A: z/ i
    : F  s& \* Y- \( A
    ! j/ ]( v* ~2 ]0 s# c# K8 l* j/ dmin_vals = train_data.min(0)' |6 N2 {* Y9 d; Y* O4 z0 N
    max_vals = train_data.max(0)
    6 f* }) ]1 w  D1 Cranges = max_vals - min_vals
    6 [7 L3 u% [* T3 [1 Gnormal_data = np.zeros(np.shape(train_data))9 F8 t9 R  _& D0 i" K" L4 g
    nums = train_data.shape[0]; H7 f, N3 u% n2 k; P, T* h9 a
    normal_data = train_data - np.tile(min_vals, (nums, 1))
    ( |8 r. X+ H# T% l* C# ~& inormal_data = normal_data / np.tile(ranges, (nums, 1))  S5 L; V: W3 o7 G1 H- Z

    " @$ x. O  e& z% G# u* Olabels = spectral_clustering(normal_data, 2)
    : p) E% y" u! W9 D
    ( |" b; t/ I. D3 i! w/ G# 原数据1 D* S! B# k1 S; |7 E0 i. P
    fig, (ax0, ax1) = plt.subplots(ncols=2)% G% x) m, r- I' I
    ax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')% p* P) W. }1 U; a$ X4 M; p
    ax0.set_title('raw data')
    ) V; F, Z- ~( A, w$ m% x) S# 谱聚类结果: a2 {; d4 i8 V# Z" M* |+ K! ?
    ax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)0 w) q7 M. y, N$ P) \3 Z+ E$ [
    ax1.set_title('Spectral Clustering')% C3 X8 ?- K$ F: T
    $ ~; A9 `1 p# W7 Y' ?
    plt.show()
    : {" y' I; l* L. e1 }& Z5 \1 U* _  ^- {. f4 B
    1
    . t& q; D" B* I( O4 S4 t6 G2
    / `! J; L- e, v2 j. E! b  Z3/ Z8 y+ a7 T  x
    41 W8 e3 `2 r: u& a; h: U- P; [
    5
    : l7 p& N3 q" B8 l& j7 h, x' N0 p* ]6, x6 N* T+ k8 ~; _& J+ E& O% I+ x
    7
    6 d- z2 }* R# [* t8/ Y7 R+ W; U* [4 J' d6 G- P% N
    97 n' U% u" D4 z1 L3 }2 z; x
    104 c, T* n- f5 ~# E4 F
    11
    ; E1 I; G% p- c" J5 X12% P* Q3 Q* i. i1 Q
    13
    + j/ V, T" m8 M14; W1 j2 G  i; a4 C; o
    155 x" j# g1 |, {( t
    16: X' K/ ~" P1 @; i( L
    17
    ! \- z0 @0 w* j0 x18# i1 J" D& ~# j6 C
    19
    3 r5 {, x! u7 u3 P- I+ [208 \# }7 N( N' r9 {7 ^
    21
    : E. q4 P; m: {& s, p  V229 A$ O6 \" l, i  o7 C, S
    23
    5 c+ O, }1 Z6 E! K& a0 X24$ b# N% Z6 b; m  {
    25
    ) C" ]! R) _6 O  N8 i26
    . \1 K1 `, w- r& \' a27
    & K1 {7 G" C$ P& P, \! O# Y4 Z28
    4 U; F  H3 A5 L: |/ @0 b3 T2 K29
    + R( J. k$ U9 K. b306 V2 W3 v3 a2 N
    31
    % u& C) j: ~4 g6 j3 p) N% G328 n- @. y' y2 O4 b$ n
    336 V  e1 L3 Y+ [: ^& b  i9 m
    34
    & v: e8 B: @6 T9 r5 R  g35
    4 P% v3 u: L* [. e364 Y1 ?/ Z3 F, q# d5 v8 Z4 _) D8 m8 Q5 G& x& ]
    37
    & S% V9 r0 Z7 h* J; ?) D4 f) t  L38
    , ]" p: |8 Q. P' Y39
    ; V6 p, o( Y: k0 B40. E1 |0 U7 t. B
    41
    # Q3 s& E( N) e" r8 p6 U/ R0 i42
    8 U6 W6 l$ r4 k. U43
    3 j! k& h% O4 g, B6 |# D! Y443 q3 @7 j+ \6 |
    45
    & f4 |: q9 w: I( `46( L/ v0 X6 C# M* @. |; W- H4 h
    47- U6 a" Z$ h5 N7 G' r" R7 F
    481 f' C. p, P% d4 g. \( R5 f9 r# {
    49
    4 ~. M' ~# J& {! P) Y% ~50
    ( a6 c5 Z( ?/ I" I3 n6 L# g51
    $ Q5 X' ]$ Z/ z3 {. ~527 @% J0 r8 I- j" M/ c' n
    53
    2 a, N5 `- F. v7 C. e! `$ @1 r54
    : ^  z- Y$ d4 [* O8 p: m551 N' }& B1 u' H* u
    56
    6 B2 d* I6 o9 p4 N% S0 a. D57( H7 h9 p4 v, T# F8 R
    58
    , ]3 S( `( @7 g+ N0 X59- g- U1 x8 x1 ?) d8 j
    60
    # X1 r9 C! {  _8 G, S- c5 _; |61
    % ~8 P8 J7 A5 S- b$ ^4 i. p625 w, S" s3 ~( Q/ @# a
    63
    6 m/ v$ p" O: I642 K  [) J! h/ L2 o& G
    656 R6 K! k" }6 [- g4 T$ U
    66
    2 U( X" U' {& ?9 i5 t0 L67
    / j9 y9 P+ h  ?8 u! L68
    7 v$ R6 A& m8 {$ f4 e0 Z9 p695 G, L3 \8 ~  _( _( {
    70
    8 o- G" E! x! a/ z0 L" g- b712 V4 R% _: r0 X5 {- c0 W" k, u: q7 U
    72+ a( v6 N( V( v
    73; y8 |: z! R& i) O
    74
    4 F) H2 K2 C  b4 J; o: B# A75
    + a* Z- H( f. @: p1 u' H8 a76
    4 {6 g+ y6 S: s7 y# r" E6 `775 H- t3 a: W$ v+ s/ |
    78
    % e/ P, p3 L3 r/ E79* m2 r. F: z; p- ~& g7 K
    80
    ; t0 c( U' ^+ `# h+ d1 P. s81
    9 T8 l8 n1 B" \8 g# s4 _& A821 [$ b. q# k6 k: ]/ N& I
    83& D/ ^2 @( `% Y5 ^  K6 C; O/ f: h
    84. w3 b: e9 [% p, m0 }1 b
    855 S7 N) d" P6 ]0 y! t- J
    86$ V% ?; ?6 k/ t8 F6 ~( @
    87( t1 j7 m! V3 L2 }& |
    88
    : \0 `$ p5 A! J1 w. }! r# D9 _2 u89* B3 |$ {/ }2 ^% d2 X
    902 ?5 y0 c; Q$ e8 `, e' _
    91
    6 k" m2 w* k- s# l923 G* k( L3 D6 L$ J
    937 j- M& X2 N8 o6 }
    94" f% X% o9 }( e1 f* x
    95$ ~4 g) S7 J$ ]9 W: U2 g& n
    96
    " {) G: Z7 r# O4 Y' O976 j3 m* j# X- D- m' _+ I
    98
    ! `/ x5 a  O4 c  d& m99% W, G) B, h* E5 K* o2 |
    100. z0 Y7 L! D" d+ |# d! s
    101
    ; ]7 \8 j% ?- G  \+ W" T; L$ A1026 K, w' o5 U( E7 w7 v
    103
    . }3 g& @2 s, q& E6 y(高斯核函数)4 b$ [3 E% B6 K$ H3 @

    ; O% L2 Q2 s0 W! R
    ) r% R0 z( Y; F# G* S; y" f(K邻近法)
    $ s' s( g- P# L1 u% b3 m; E7 ~% P1 h4 l$ I( T

    4 f, \% O% G8 ]! e- d3 z四:谱聚类算法优缺点
    # U) Y% h. N" w(1)优点* N( R! z: u! U5 B( h3 _7 {  @7 k
    谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效4 X+ s  R' b+ b  K5 G
    使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    5 f) i9 a; @/ r: X2 U# I谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解2 N9 O; a0 d: y1 |# g! S  |2 E% ?4 t
    (2)缺点
    0 d" U+ q, p/ j6 {; O如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    ) u2 }* d' G3 m. |/ e聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同
    ' A4 z$ c7 b- q1 D8 i2 {————————————————- ]5 h" B+ Z) x1 m3 }
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。; y7 d2 v! Z# ]; [; C2 x
    原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494/ w  f) p- R( K. O0 [! v4 ~
    4 G2 C) ]6 T4 e3 y9 E$ Q5 G- }  J6 W: M7 E
    , P4 O3 e8 l$ g& {( Q+ q$ U' \- t
    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-5-25 10:41 , Processed in 0.433018 second(s), 51 queries .

    回顶部