QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3120|回复: 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
    【数据聚类】第八章第二节:谱聚类算法之切图聚类、算法流程及其实现) \  {/ V; N/ X  v
    % Q/ V1 a5 a8 X6 p/ ]5 T
    本文部分内容源自刘建平博客,在此基础上进行总结拓展
    7 a3 M/ _; R, V. s) U; e6 C0 ?* S3 h: ?  P+ D. [7 l1 Y
    原文链接5 d- p6 D. g1 H' L) R
    文章目录
    ' D, Q, g0 k0 V0 h一:谱聚类与图划分/ Q* B8 ^3 M9 r% k5 p
    (1)比例割0 j$ C! ~6 N; ?; Y' E- \
    (2)规范割(常用)- k! J3 ]6 R: Y/ h0 A  j
    二:谱聚类算法流程& m' R$ P/ B, M9 \5 C4 a
    三:Python实现4 x7 M; R! {: Q* R3 v' H
    四:谱聚类算法优缺点' e% b. E3 k0 O7 t9 i, B
    (1)优点
    0 K, _9 n9 X% y2 g1 Y4 Q- k5 r(2)缺点! _. {6 c5 g1 X" g9 H
    一:谱聚类与图划分% T, K3 l5 W# \8 i
    无向图切图:谱聚类算法根据数据点之间的相似度将数据点划分到不同簇中,因此将数据点映射到无向图之后,可以转化为图划分的问题。对于无向图G GG,切图的目标是将图G ( V , E ) G(V,E)G(V,E)切分成互相无连接k kk个子图,其中
    & y& g# X: a  l1 ?5 a, R* d; v9 e* ?# K( x
    每个子图点的集合为{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    9 P5 C$ t3 ?& q, L9 P; _10 L. w- y7 V) k" N" l
    ​
    # I' Z" S# F* W ,A - _1 X6 _% K. ^
    2# J$ s" T5 R( _* Y
    ​
    3 {& u& S# `/ t ,...,A
    - n) o: h% N3 w- t; ek4 Y/ _. v) Y( [9 U% \! _
    ​/ |# |  V. @% W
    },且满足A i ∩ A j = ∅ A_{i}\cap A_{j}=\emptyA
    + b8 m, _9 w$ u: \8 ^' [  x# Wi
    0 k$ \- D+ M' f+ ~  i​- f$ S' n) ^1 L! x2 q5 R6 o
    ∩A ; _$ D* C/ @) C% Z; Y$ |* M
    j
    / [: O/ n  [: ?​
    ( u) O- l+ Z, o6 r! f/ F =∅、A 1 ∪ A 2 ∪ . . . ∪ A k = V A_{1}\cup A_{2}\cup ... \cup A_{k}=VA
    3 }7 E/ P  D' b17 g4 q* m( k3 h/ z+ p  X0 \* V* N9 F
    ​0 J' a$ {" D$ Q, _9 x1 x
    ∪A
    # d- W( J; `3 a, j* p8 E1 @% J2
    : o' f# L4 V5 o" I: X​
    " _9 g" E/ D) [, h4 R- a& h ∪...∪A
    % K2 x8 u0 l- Dk
    ! i6 |) w* a) r3 @6 Z+ L7 {​
    & h* j* o5 b# _: U2 o =V9 d, R7 }2 {# `0 ?# z: e
    对于任意两个子图点的集合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)=
    , T0 D4 f' F) @2 o1 m$ r5 b/ gi∈A,j∈B
    9 C. t5 t6 r# t1 ~" q; O∑' C' ~5 z, `4 C; f; U; r4 {* I
    ​, ~: Y( V3 f4 l0 g1 e! O4 R
    w
    8 C4 L7 P: C& Dij2 [, i, r" e6 K% b
    ​
    ' S: B' Z1 C  E: I0 q4 X* q- q9 ~( ?: i* ^8 f# F& i
    对于k kk个子图点的集合{ A 1 , A 2 , . . . , A k } \{A_{1},A_{2},...,A_{k}\}{A
    - U+ T& D6 o" }; }19 d3 u0 E7 r6 P5 d& v' u8 B$ a8 r
    ​8 |+ q( }- P* Q
    ,A ( r- o: I4 H/ W$ B  e- u
    2
    + v" d" Q" @! @/ |( i8 }# l​( m) W$ w/ ~4 u1 p
    ,...,A * M, }) R  T) f6 V- E' Y
    k
    5 @& w% w* N/ a, z" w1 P' z2 ~​
    + Q1 X% W6 h7 K$ { },定义切图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 ; `; ?. ?2 p/ \5 v2 r
    1
    - B+ |$ E; r$ d. E​: a. _8 A$ W- u( g
    ,A   [) r5 g+ R" b5 V' [7 c
    2
    & s/ o) X, N( L% J! ^" ~0 I​
    & z" p) Z  U. {: k6 f ,...,A 0 u+ s) X  S) d# R' ?! n
    k
    5 J( c! v- ~2 F, x( a, X​
    ) c' ?3 ?& W! M5 @! O8 \ )=
    : u% v. s; e0 {8 @- w2 V5 _2
    # }0 u! N# @. X2 {( O' ^: v1 f1( A/ l) M5 {0 L. n/ V
    ​
    0 E6 D# y# E& |1 h& i
    0 R0 j1 {; M- ~$ P; D2 C5 Gi=1
    7 i0 g# o- X# M1 Z1 D∑/ w. g, @; }) r" N/ ?
    k5 @% }3 [- v2 X9 e* {, U
    ​
    ! p& p) M8 U0 L7 u' e W(A
    . x) Q3 l0 e, |  s8 k3 Y5 x0 s6 S8 si+ k: ~, i+ `# E- P, m( v
    ​
    ! e! A: e$ i7 Q. J6 y ,
    $ l# k2 Z3 `8 A4 y  j7 |A6 c8 Q$ X8 f9 g5 G  [+ W, {+ G9 q5 _
    ˉ
    ! ~3 O- ?& @8 y* p- E% C. \9 S0 S2 W# x, K# \% \- M# ]
    i$ t( {4 [" Z+ Y9 L
    ​
    ' D) K6 e( Q3 e# u6 W! }, L' h ) (其中A ˉ i \bar A_{i}
    1 f2 y' u, k  U* {A! @  _# T& l7 G
    ˉ6 x" t9 V( J/ ^4 d$ V. A% W5 D( [
    ) {! `2 ^- D( i8 g5 Z
    i
    - z, t3 [/ E1 ]$ k0 l, ~& H; K$ D​
    ) Z1 U0 J, R, Z 为A i A_{i}A ; ?9 X' L  [& p3 n
    i
    7 G7 z* {3 ~$ S2 _# N( j1 \% b​
    7 O$ W0 ]4 _! r6 t% ?: f 的补集)/ v8 s- Q2 Y( p0 C" T
    可以看出,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
    ( O- ^) W5 H& n+ u, j1
    9 s7 a& [0 l( o​
    : g& f1 A% n! d) T- I; w9 f6 I ,A
    ! p$ s! t6 a" v) K/ G2
    - \6 A  ~* C$ p* W​
    + ?! Z+ m( V" T9 o ,...,A ! S6 a: h" D/ n: g3 n
    k5 B4 n6 O' d8 |: {2 ^1 V
    ​
    ; {! `! X) [5 N% M )=
    ( t8 p) F! w6 ~  n& P0 ^$ e, |& x2
      ^$ }. p% R8 Y, u+ V# l0 J1
    9 G: X" K, O9 h6 F8 E​
    " e/ |! h! X9 a: d" u. r3 G4 _5 [
    5 k; ^2 f+ }5 Q* W  si=1
    / [( o% @% w! {: C∑1 C. c& P' Y: L7 P
    k
    # a2 V  e( n3 O) w/ Y​
    & d9 t/ D. J5 ?: Z& a5 y& W, P W(A " u) r1 P' s( t8 Y  L6 H5 K
    i& m* z9 k9 N  k' \7 i
    ​
    ' x$ K$ b0 A6 L$ D: t6 b ,
    0 b: `( j5 {7 H$ }- z0 qA
    ! q9 o$ w7 O6 O4 P/ pˉ
    : [, _$ o% A; J0 K0 }* C9 o# a8 j& H7 Z; |: [; F
    i
    : s2 ?0 Z; ^) C8 }5 r6 Y​
    ( i# n: @: |# V2 E" h. V )在划分子图时并没有考虑每个子图中节点的个数。所以在某些情况下,最小化c u t ( A 1 , A 2 , . . . , A k ) cut(A_{1},A_{2},...,A_{k})cut(A
    ' E! X# s! ~4 p: B1
    ; J* U* B. j7 W& Y+ l. x7 B! F​, i! P4 |0 m. l: a7 }5 l
    ,A " h# I2 t/ k  x. {8 q, Y8 T# Y0 A
    2
    ; o) O9 C$ a9 g3 P& Q, p​
    5 E' O- }" I  ]0 q ,...,A
    & i; X2 \9 `* k9 p5 R6 vk
    4 m: [  j  ~) n. R& a1 x​8 {% z7 u2 E( G" N
    )可能会把一个数据点或是很少数据点看做一个子图,导致子图划分结果不平衡' k+ D" }4 ^8 `2 r( Q! ]9 s) m: R
    1 o) T  r) T/ B6 M. @$ B5 ]2 W2 X
    例如下图,选择一个权重最小的边缘的点,比如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
    & w' q; i1 r. ]9 W1
    ' a4 _& s9 S' J6 [& ?# J6 x​0 p# b8 X- `" w, [# a9 Q$ x
    ,A ; o+ a4 W) F, ?( X/ h9 [
    2
      O; H0 t% g) Z​# J8 B( c/ K8 p/ x0 s
    ,...,A
    % w$ b5 L) |9 d7 |k4 c* D) Z. b" k! E2 M
    ​
    8 K, X9 I, k5 G7 s! I- J9 v( B )但是却不是最优的切图
    + Q, e: i, }( o% E7 r( V7 \! U
    为了解决这个问题,会引入一些正则化方法。最常用的两种方法为比例割和规范割) x6 W5 Z& Q# V# B0 q2 e

      q( S" c/ Z3 Z9 w. v8 d. O比例割: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 0 ^. M! J* |, A1 `9 o( b
    1
    $ ^7 [( n! X1 O) }9 r$ Q​, Y6 j! ?# }- x( x/ y
    ,A , R: S" K: M  q, _: ?
    27 k: A: {& o0 h7 L( @" W+ ]
    ​
    7 }& Y0 s4 g, Z4 r$ @ ,...,A
    * a9 t+ ^# h( O. O  j/ ?! Nk+ S7 e/ W2 [" C* {+ l8 w
    ​# H# v" i: e; r' N7 |5 u
    )= ) S: N' V' Y2 F: Y+ \- a. {  B
    29 \! d# Y4 w4 F4 Y( t
    1
    4 w  ?2 V( y% Q8 o4 h/ B) ^​( \. t! j6 \+ E% v6 B# G
    ' b: \& S( P' G; g) e4 K
    i=1) k6 j& ^. c; S' ], z0 A
    ∑
    - t, F$ Y4 Q& _. T( ?9 q" f+ dk
    1 {8 `3 R+ P) A8 M! E! [​% X  ~) ?7 m0 b9 I) c6 M

    8 s  {% x( \: y∣A
    0 D. D$ f1 w: O1 s; \i, X& A0 u5 U' G, |
    ​( e+ m' o: H9 j, B  o% @* `( n4 T
    ∣
    5 {' z5 l, r. R+ \. f) tW(A ( T8 z9 H0 ^& s6 L# x; l
    i! {$ Z3 _/ s# t4 l' A: G
    ​& e3 J( l6 U# v$ U& Q( L2 {
    , 3 B% z$ u! d; [0 n% s
    A1 N+ z  D9 m! s
    ˉ& L7 a% P% c8 F1 D5 ?

    - v. l  K* c' s  O# pi! g& d. V# J+ ~0 K1 Y' r6 _
    ​2 i' H' D0 M; i2 m* x9 S# p$ ?% ^$ z
    )
    + ?! i) s/ a( R4 x$ }) o' H​
    * k! Y7 u, r' _" q  R2 ^' _/ I& J( i% t
    规范割: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
    9 A! }5 f4 e# o1
    ' a! c# T9 Y7 i- S9 I0 O6 E7 E9 L​
    * `% A, G) G2 v4 i& @ ,A 9 M2 K& k, d" _7 f
    29 u  ^3 c4 T' q3 s
    ​) L, a! v: v# \' v4 u
    ,...,A . G9 [; ]$ P$ _6 Z/ M  b* B3 t
    k
    ( X) e* N# Q4 \) q) g1 p  D% f​4 O9 a0 z7 d( S
    )=
    6 \& ]+ W" ?/ w4 u2
    * p2 C' W0 J8 X' @7 x1  c% d2 H% N# K4 r- C* l- {. v" j
    ​
    0 |' c1 `& _3 D' w& O! @( V# m+ x* y+ `) f' x) d/ J
    i=1
    # P0 |$ G: u$ F' C* y3 S, b* J∑
      E% g  e- d0 r& g+ t# Sk
    ) p$ H- g1 a5 q% I0 G% W; ?​* C; k2 l( w0 C- |( m% S( }9 O

    ) G( O; g0 x6 Q+ ~- P! avol(A
    % [7 K2 k' T+ c: N. Gi: W/ H- v* }* ?( g. c! d0 h
    ​
    ; [7 H/ s+ P( t8 J+ x )
    - Z, W, J# D3 ]" x$ q1 bW(A : j: o3 R9 S9 ?! o( F/ D% z' A
    i
    4 G" H* E0 K) N) l​
    0 s) m9 f2 H4 f8 r3 T0 d , ' Q0 i/ R6 X$ d
    A( i: A2 I; k" J! z
    ˉ
    0 x- p7 S. _; U( O  n
    4 t. k  q1 P, }" }' R- Ni5 s+ X6 x0 I$ D6 F  y* N5 x
    ​+ b* }' e& R$ ]& a' \& H9 S1 f) Z6 E3 l
    )3 h1 e& A1 K* z' E7 x
    ​
    ' ^' R8 t! E: G. z. B: k
    6 u8 J  g/ I1 O* R(1)比例割' S) n# ?/ @" ^2 t5 j) M
    引入指示向量(点击可查看指示向量定义)h j ∈ { h 1 , h 2 , . . . , h k } h_{j}\in\{h_{1},h_{2},...,h_{k}\}h ; P/ o5 S) M* R& x* ]" K# ^
    j
      I- z. d2 W: G  [4 y& u" d3 Q​
    5 [! {" C  i6 r4 U( O$ Z ∈{h
    7 ^- t# \  P9 X$ I8 y4 M11 a# d" W3 V& L6 J
    ​1 F# B* T. c8 A1 R" p/ e7 P
    ,h 4 g; p1 F8 M- }# z
    2: O( K4 [3 S6 N5 C/ w: p  ]
    ​; ?) P- ~2 s% Z( ^
    ,...,h : e  j% K9 M6 M8 @' k. I- E; M$ n% ~
    k( b: a6 ~5 k; ~: q2 q  b  S0 C
    ​" E% P3 k7 N; b. _% o" w
    },j = 1 , 2 , . . . , k j=1,2,...,kj=1,2,...,k。对于任意一个向量h j h_{j}h ( N8 Q, z% Y; _4 Q: `- K
    j
    6 j6 u) G7 w) ]) E; F) h​" j$ Q. o( M0 y
    ,它是一个n nn维向量(n nn表示样本数),定义h i j h_{ij}h 8 e6 Y$ ~, I/ f
    ij# C/ O/ M/ |- r, t
    ​1 h4 h* u8 t/ a8 F
    如下' ]- D: C5 O, N& z4 H

    7 x1 t3 ?+ }9 i, t/ V8 A- G* |h i j = { 0 , v i ∉ A j ∣ A j ∣ , v i ∈ A j h_{ij}=: A; Z8 ~- M* {$ e
    {0,vi∉Aj|Aj|−−−√,vi∈Aj, u# w; ^! X0 H2 Q+ K
    {0,vi∉Aj|Aj|,vi∈Aj
    2 b$ |- {1 z4 j: |8 N- eh * m; v: J9 s7 J4 u! I3 R- E
    ij( `( P- }- x/ @' P: H7 h, Y% d, Y- C
    ​
    0 M- i6 e# a5 \8 u( X3 p' h8 A/ { ={ + H7 |/ ~$ g* m- ]9 j
    0,v
    - `7 `! _. v& K* l# xi" d3 [& Y: o) M8 S* h7 R
    ​
    " Q7 d! P9 k9 J/ D5 M* q ∈
    7 b1 f4 m% l$ \9 J/
    8 h5 P, N5 d2 ?A
    ' m  W, D% z) B3 [5 Rj; ~7 k1 n6 w' {# A# g5 s
    ​5 A1 o( w. y3 M7 N! N/ \1 O( V
    & B1 K" I* j4 |7 p
    ∣A $ H  r9 X% ^/ Z6 n9 q
    j2 \  r: ^  _" |  c5 d
    ​
    ( o- d0 f" N8 w/ `3 p' R ∣
    & t- Y$ J0 N/ v: a7 I% k/ z& U' v9 ]​
    1 `% S2 r7 g* D4 s1 F" |) p0 y ,v , K+ V  q9 Q" h* N
    i
    & m" g6 ]& d6 Q3 V​
    , I1 F6 t+ e1 x, s) e ∈A
    9 K- J* Q" _% e6 W, u8 c6 Fj
    3 n9 z8 Z. u, t8 o! [# d​, s7 U1 w9 |' b& Q; \4 \8 g" B# ]- G

    ; ]+ W; U: R$ P: i' s0 t1 O​! ^2 A2 a: O5 z/ \; N. Q' s) Q/ O
    2 [) X/ \6 R  b
    2 K& N& V3 E, ]' g
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h
    ! L4 s% C: c2 ^2 q2 Si
    ; Z. r2 I+ f2 `* n$ r: e. y% K# cT
    7 b) q% n9 y  {$ d​
    ; s. S8 u% D$ i) d) q* } Lh
    % p3 S: F* `. ]# L: d- j! `i
    ( h8 a; u+ i) a- t3 l. Z) g! c​
    ) T' |7 A0 d0 L  [: C ,根据拉普拉斯矩阵性质可知7 M3 P3 R  g- }8 K1 r0 I) q

    9 Z4 W/ x% A' h5 Z: i( o对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    , {4 n; {" |# d* j* h0 @1 R" [1
    ' q1 u4 [0 [9 _0 f$ Y0 g2 F9 `​
    , g3 b0 r8 R; \& o3 O ,...,f
    " D  w, S0 x; o5 e/ yn
    : T6 O2 d  E7 h9 I# @: x1 y​
    ! ?* U* c5 m* I0 D$ }8 v2 | ) ) u# _8 B% m8 z# j# Q. U
    T- n5 }! ^( J& |( r
    ∈R ! M! k0 l3 n6 a
    n
    % b$ [& A& q: W. H8 d7 s4 ~ ,有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 , q9 n, P$ ~2 ~) ]# W/ F4 w
    T, v2 h& W+ k0 H3 u! ?- i
    Lf=
    * c& k5 q4 T4 m25 O# W6 r  x; `4 ?9 P# u: [
    1
    9 |+ p$ [6 Y" W, N. C" D: \​
    1 ~1 n  j2 n" t7 S/ Z* r6 ^' }) H4 H# z$ G# M
    i,j=1$ T/ j# p7 s' t- [( l: ]/ w+ j* I
    ∑* ~1 s) g2 a" [" {  A0 Q0 {
    n
    ) |2 |2 h) Y7 X, N! F5 [" p​
    ; f: n+ b3 ]" m w
    . C! f6 d) h' H: K9 F  cij9 I8 M, B% D& c1 }6 e/ a( z" h% d0 ^- k
    ​1 B2 I- Y& {/ v8 c: G) y
    (f
    1 ]: T: N( ]% Z9 V9 zi
    3 F. p$ n" I1 u: j* [+ B% I0 Y: }​
    * e0 @& A* |+ a; B# N* s5 c −f 9 V+ b% a* G" `; ^, ~' l
    j6 [/ o; H3 U$ {6 M
    ​3 f, R' t. R; X: n+ p% l
    ) + f+ @+ v+ u$ ]
    2" P8 O* \" W2 ~1 J* w8 ]9 f. f
    - a' B% Z1 ?3 B
    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}|}
    ! c  P3 o8 q  g& }  ph 6 p2 S1 f) y5 A# [
    i
    $ ]$ N1 P  }8 u4 `) \3 P) r, [. A8 I8 yT
    9 K+ d) h1 l, f​; E6 v) q, {# x0 [+ F
    Lh
    + Z5 ?" q; a5 T! r6 hi* @- _4 P" @* W/ _6 a2 N7 i% k; z, S
    ​' W: r1 p1 q! N- @5 r
    = ! s/ c9 X8 R( l% e
    2
    % z/ `8 Q! y& x1 X- D# S& j1
    : i! p5 @3 Q2 o7 p% A​
    3 I" o9 j3 Y. s; Z& J
    . i% W. u/ Y* L  m6 ym=1
    " o* ]2 f$ H3 F; v; ]% d∑
    / f/ z3 ?9 F: A5 d1 l​
    8 e- a: e, o! |
      Z; J6 O/ U9 `! rn=1
      \" {) w7 O6 n, Z% h! s∑* a: \* G5 E( R! X0 h
    ​
      j5 J/ J$ H! s: b; _, w% z, Q/ b w
      a8 H5 @0 b4 D  zmn- ]  j. u& ]. [% N2 z$ b, r
    ​
    2 S* g* H, ^# O) T# }$ y (h
    2 d$ F  S! y% N% `im
    2 I- W4 Z& T) _, |% S6 T​. y& |' Z7 C( F/ s! ?% r2 c- d7 V$ s
    −h
    ; {- R5 x4 w& B" [3 ?  oin5 \/ L5 y% f: w5 _+ E0 h
    ​+ x* u) Y' w+ a$ ]3 g3 q3 H7 c
    )
    9 [/ R% J# U% z1 c3 j0 D& c28 Y8 [- Y3 _2 S  X
    = 1 o1 J8 v- V- g; I; X
    ∣A
    * f0 K, P: T9 N3 yi8 L. ]1 T1 B6 L6 |9 @
    ​
    % b; ]9 s' k8 p ∣- o- ^) J+ v; m0 k3 ~
    cut(A
    9 X. v0 v& H& ki
    : k# ~& z2 _* ?' t- M! S; Z6 c$ ~, j​
    + @/ ]4 W1 u& r0 d) X , + V  N/ T1 j: J
    A
    / `6 @% x. B% q5 S/ L7 ?9 n- j/ rˉ
    9 u6 G* q3 g8 W! E+ `5 x# \; s0 s- k4 j
    i
    7 U6 t+ F, T0 E  D6 ]​9 n" {0 m; [% Q* ?4 [
    )
    / }7 J& F1 k7 x# t3 u) l( |​
    # G2 ?4 J: u1 @4 o. ^* n
    , g( Q! k( S- y( E3 k
    0 u5 W% T6 R8 b  A严格证明过程请看刘建平博客:链接
    . e0 s/ X- M$ Y; a' `, n  X# }3 m可以看到,对于某一个子图i ii,R a t i o n C u t RationCutRationCut就对应于h i T L h i h_{i}^{T}Lh_{i}h - g; ?9 C; m# F8 Q  m7 a
    i
    % a5 c1 d! t( j/ ]) OT2 \: L; D3 X; H
    ​' J5 L, \' W( ~, a5 s0 E
    Lh
    ( R' q3 E% a+ V% w# gi
    + c3 C: N+ y) ^' @& n​
    : D& ~6 ?; x" t; Y5 @5 @ ,那么对于k kk个子图$ _  c3 I+ S& ]* q4 q

    3 Q9 B, m- r1 O: }( A6 FR 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)
    5 H, f, \, Z  H  e  nRatioCut(A
    . k: j$ }) _4 m( s+ |1* l5 S+ S- q$ B
    ​* r  }, z0 I1 Q$ w% K
    ,A ! Y) J/ G0 P+ d& v# N0 Y
    2; J1 F8 J9 U. d) y5 H% s
    ​
    : \, @* q# r3 ^. ]' I ,...,A 5 D* e8 Q# R5 S6 `
    k
    + H# b: q# [" H* ^​1 k! ?0 G! P* p
    )=
    ; P: u  A6 {* |( A) P( @( qi=1- N4 G# _! D& w) F( u2 F
    ∑
    5 W6 A  y9 I. K) l4 Z- M' ?k
    & C  X4 |7 ~3 k5 f2 ~( i​
    & D. c. \0 [( O1 N+ R h
    + K9 R/ @, U; U$ |* M. K/ `; ]i, N/ V% R# `; t# G3 ]2 q1 t
    T) `% y+ M# [% a; t& H
    ​% t* z" M$ L" R( c0 B
    Lh
    " E- Z2 ~% E3 o* Ki# n# Z9 V9 _: _3 p/ R
    ​
    9 l' q. g4 o$ P2 C$ X- r =
    0 i% ~9 I- ?  xi=1
    # G3 ?  Q" G$ a$ G, _0 G∑  T) B: X) t; q6 u
    k
    2 s" ^. t, H: c3 Z( x, N! Q​  [; X/ t, }' L( q* n: I2 m' z
    (H
    1 `, W/ x9 n2 P; D# ^# z" L2 O. FT
    ' \7 _0 b. U- b LH) " h  G% C: w/ T8 z0 U' Y7 ]
    ii# s5 E4 p+ r6 z) h
    ​
    7 J7 z6 u- x0 A; o9 r =tr(H / b* B! y& t* s, `4 j0 Z
    T% Y; S2 k/ F8 x) Z; W! f$ a- n# g
    LH)' ~( ~# u' B( Z5 d- z$ r* G

    . \* `$ t1 _/ Q) W" n因此,R a t i o n C u t RationCutRationCut切图本质就是最小化t r ( H T L H ) tr(H^{T}LH)tr(H
    3 e7 y8 v  r( O0 |" ]/ T/ wT2 Q( s8 \  U* Z
    LH)。又因为H T H = I H^{T}H=IH
    7 p9 w( D- Z4 R/ ]' Z  N# HT
    4 o/ |" \7 b; L2 Q+ T H=I(单位矩阵),则切图优化目标为+ k5 H+ [/ c3 G
    , B: Q$ v+ ~- D% `
    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=I5 r) c; W( |  _
    H
    * ]5 s$ @' n! @! }6 n( i; }" |) E4 @argmin' r: V4 S( ?! f" I
    ​; [( S3 A/ f! u; Z$ s3 L$ b
    # G# @$ c, ~: k: A
    ​, c- b4 `0 T4 F+ v/ _1 ^4 Q
    tr(H + L! ?: H/ f+ K, f* D9 y! g& B8 c( M
    T
    / z+ _. d, ~: N* P; Z- K LH)s.t.H # [: \; B1 o4 h6 Y/ [
    T
    + ]: F5 B: t6 P* B5 v" i8 i H=I. H4 m. z' m# j- \# F3 I& P- R6 K! i! p2 l* V
      _' {2 v4 }% r1 i
    对于优化目标t r ( H t L H ) tr(H^{t}LH)tr(H % J! w  [! Y% z+ M" K8 s2 J
    t
    8 B5 A0 `+ F- E' J' [, F4 G- T LH)中的每一个优化子目标h i T L h i h_{i}^{T}Lh_{i}h : H2 _% Z/ r  D6 H) y* Y
    i- }" g9 ~% i7 `1 W/ x( z" k1 G
    T: [6 I: O4 L- g% r
    ​* `( I) Y# [& U9 U
    Lh
    3 x9 ^) S. H* f6 a& i0 R/ Ei: Y/ X' ^% K3 L* z' D  |1 i
    ​; e, P  u- {2 G1 E4 Y& m, ]# L% M
    ,其中的h hh是单位正交基,L LL为对称矩阵,所以此时h i T L h i h_{i}^{T}Lh_{i}h . _2 [  d" _% V; L8 F
    i  a' F1 C- w/ z3 K1 A9 t: k- e0 K
    T
    7 ]  }- q; A$ q) q; [7 I6 Z5 @​& @7 Q0 [2 k  N3 d) m
    Lh
    , Y) F: Q+ c6 }: fi/ m  }# z# U! O# j
    ​
    ! v. x9 a; U& ^9 U% b, N 的最大值即为L LL的最大特征值、最小值即为L LL的最小特征值。而在谱聚类中,我们的目标就是要找到目标的最小特征值,得到对应特征值向量,此时切图效果最佳。所以对于h i T L h i h_{i}^{T}Lh_{i}h
    5 v" [( J+ P# Bi$ l( P" p% _* b, H2 ]
    T2 y( y& J% O6 |/ s; g0 a7 f
    ​
    9 ~$ A3 g. m' m7 }( z9 C4 t Lh * }2 B: _2 ]! c* [  d6 N5 |7 G
    i
    7 B3 y8 H% q" s5 H" z& G* Y0 W​
    8 L6 \4 n0 ~& C/ `% n ,目标就是找到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 1 d  x& ^  j$ M' s1 O
    t
    4 b7 d# X: D3 z0 B% K% q LH)=
      T. A* c( m1 [4 r- I. `i=1
    2 h  _# X4 z. Y% b∑
    / a. u; z& P8 w6 K4 yk4 |9 w% h; ?: J6 X! u1 C
    ​! g9 ^% T& U6 ]# V5 I/ h+ D- u' H3 ?
    h 9 p6 j2 v/ [1 D! M
    i2 h! V2 N8 g0 |( k, o2 X
    T
    0 W3 I9 Q/ D3 W# ]4 j​
    8 X' u: ~  L9 y: H# D. `/ ~+ p Lh
    ) K/ B2 v4 k6 l9 xi
      ]# y- }. F3 `1 O8 ?& Z$ T8 G​8 D, f2 n4 F  v. b
    ,则目标就是要找到k kk个最小的特征值' W# H* v& T% Q1 o3 l2 B$ t
    ( S7 o, F4 Z1 ~/ \$ v0 O) R
    因此,通过找到L LL的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特特征向量组成一个n nn×k kk维矩阵,也即H HH。一般需要对矩阵H HH按行做标准化,如下3 _5 [+ i2 W, ~5 K: G
    8 j2 @9 L( v5 ^3 c& ?. c0 }- Y$ T
    一般来说,k kk远小于n nn,也就说进行了降维
    1 E5 a  w/ m# B! _" j7 vh 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}}}
    % ]' U! b: V; m$ g: f0 |5 @& Zh
    : R! }# @* T0 Jij- e: ~, V& N; v
    ∗  z8 _! Y" l6 i
    ​  j- A* W: D; O
    = " N2 q# V  M+ M4 b9 |& R; e
    ( 2 G! r! q& H: o* v( k
    t=1
    9 e, A3 \9 e% C, T$ Q∑
    * y+ f; F4 M6 h4 Z% Ak% }2 m5 m4 T' r. `2 m
    ​
    ( {& ]+ q. v3 G. C" }: T h
    6 a) n/ h/ w# f# Xit, r1 o' G; _3 P: O
    2
    3 T5 _0 Y% U  r4 n; [* L% O: Y# H​, X- z8 [. g0 Y- E6 e2 K! Q4 x
    )
    / e! g* _# S: V# S+ P2
    7 \7 I4 k; B8 j! C8 t7 p17 r. X* x" z# E+ v8 m# ~( ]9 ~1 e" n
    ​* O# i3 ?  @0 d& ?
    $ y8 Z9 ^: z+ h8 t5 ?( ~: i; g" `
    % C& }' m' ?, N, U) I$ H' S% s& w
    h
    $ q; Y2 Y8 M/ T8 zij
    6 Z  r, ?0 f- F, |  h​
    ' Q: g: D8 `3 G" S3 I2 y- M2 S/ f- W( p( b. S
    ​
      E5 B: ?! x, {; ^. G  N& z8 s/ l7 A* v9 m9 A7 }* w9 l, W

    4 d; l* [$ j; I. L/ M) w这里需要注意,降维后导致得到的指示向量h hh对应的H HH现在并不能完全指示各样本的归属,因此一般在得到n × k n×kn×k维的矩阵H HH后还需要对每一行进行一次传统的聚类,比如使用K-Means聚类
    # ~7 J+ U" S* V2 a& ]) V$ B8 _' f8 E
    (2)规范割(常用)* K) M* I* o) m4 G0 ~/ C
    规范割和比例割类似,只是把比例割的分母∣ A i ∣ |A_{i}|∣A % i0 U# N6 R! o: i6 P: J/ t: ]  M
    i
    3 i' U! t4 b: v3 \) n5 A+ j​, o$ l, I2 q$ w$ g: v
    ∣换成了v o l ( A i ) vol(A_{i})vol(A
    $ N; p' V# N6 q1 q( ti8 [$ Q0 O! L/ U% I- S+ M
    ​
    . r3 h# L! K* I7 U* L2 v3 t ),定义指示向量h i j h_{ij}h
    , L4 S' l5 N, O. X. i! ]  eij5 `/ N0 H! ?$ u! E) {/ b; r
    ​0 ?( _% R' z' }9 l
    如下
    : |* C* W$ W. e/ |/ f# f# C; a
    : l0 q9 d7 J, X' w1 E- B4 R" O8 i% Oh i j = { 0 , v i ∉ A j v o l ( A i ) , v i ∈ A j h_{ij}=: Q- h4 ?$ [/ v) g
    {0,vi∉Ajvol(Ai)−−−−−−√,vi∈Aj& g: M' v" d& ^% V
    {0,vi∉Ajvol(Ai),vi∈Aj
    8 S! [; c, v# }h 6 `3 \' M  G2 H, L8 l4 \" Y
    ij
    * L# C* `! y" }* \/ G( w' @# y​6 T$ J8 o* }" B* G8 Q6 X. p9 d) b
    ={
    * a" P/ e/ C8 W4 ?8 u5 }. D: F0,v ) l1 L( {+ `% c1 e! S- U
    i5 c% n9 |1 Y/ i4 b+ Q
    ​
    : U$ w  h9 N# T  a, C- _ ∈& V. r! a6 m6 N7 k6 Z& j7 m7 j
    /+ M. t. U7 _; |
    A
    ) T$ i5 p, ^6 u  Rj6 U8 v) n3 }8 ?6 \
    ​/ g  N1 X3 N8 \& @6 L+ s

    . ?3 G3 f% Y  s4 G3 [vol(A + g% Q: H( _' q! w4 r+ P/ e, G
    i/ ?8 F) \" l. n2 a' j& \
    ​
    ( O6 J2 O/ }+ U2 m2 V2 d )
    ! I; W$ t: u/ \$ F: P0 t​, ]& K4 i5 k8 _8 i) l0 x
    ,v ; }* f; K# N( S
    i
    6 d" J/ N4 m9 |$ J​
    9 }+ m6 p6 U. V; W1 L5 O ∈A
    8 Q: s& y4 [+ ?j
    3 x1 g& U+ V& l& L​
    $ X0 v, s% N! {" w7 X7 _9 M' L& `+ W9 M& ]2 v
    ​: `) C! x# L  ~! G

    % x! _% @% s- v5 E6 Y" Y0 _# \' ~2 ~0 H1 a% K) Y6 P" f$ _) K
    于是,对于h i T L h i h_{i}^{T}Lh_{i}h $ i; U8 F8 s* m& H
    i8 N, u+ Q; @/ G% x
    T
    3 J) m  {; d6 [& Z​- v: K  K2 L8 X: I
    Lh   B; m; x3 a2 C! j+ b
    i
    ) O$ \6 h, Q, U* V8 _​
    3 `5 ?5 U/ u. s ,根据拉普拉斯矩阵性质可知0 F! V% W( U9 n* i& F! h0 v- o  @  e

    . y; \* U8 e1 q- Z对于任意向量f = ( f 1 , . . . , f n ) T ∈ R n f=(f_{1},...,f_{n})^{T} \in R^{n}f=(f
    ! w3 G& H8 j' S. I3 w5 F) e2 F1
    + _8 `; b8 Q3 p3 @​1 [. O4 k1 w* x+ a! L& Z
    ,...,f
    $ ]1 J1 S# B4 Z* C& k- z8 N/ tn
    & `5 f- S2 r6 E​7 _0 N$ N$ D$ C+ a
    ) $ d/ r5 ^! R# o, J& }3 S
    T, Q+ R: d# L& x' `- f6 p8 I
    ∈R
    ; c, u( j) C* g% r) kn
    7 b' I9 r% f  ~  g. O+ o ,有f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T}Lf=\frac{1}{2}\sum\limits_{i,j=1}^{n}w_{ij}(f_{i}-f_{j})^{2}f / n/ X7 Y- l; F7 L
    T
    * W# s% i& w* d1 V+ y2 ^9 A; W Lf=
    6 G$ z5 N" Y- n0 O$ G+ C3 e& H. \2
    : D* `( \1 {" U! S1 }1: r& ~5 C1 u* Y1 |7 [
    ​
    3 Q! P0 k5 c6 C- e9 B2 g! e) B9 |/ c3 `# B7 C1 I
    i,j=19 J  F9 l- k& e  g! Y
    ∑# I' |2 O& [6 ?. U+ L) ]
    n' B& {  X& g* x- j) p
    ​/ q  ?. t9 d- w" {$ j$ g) s
    w * s" S) Q+ y3 R1 V# u. Q) C+ V
    ij& p& a  n# g9 \* G
    ​2 R" l6 i) l8 Y
    (f 7 t% I5 V( G* Q' p/ [! E
    i) Q+ I. y: u+ n: q6 M+ \7 V: \$ o
    ​0 ?- V, ^/ S- E! t% }! A8 d
    −f 0 {. m+ |  Z7 h5 D7 u2 B# a
    j, a! q! h6 U8 T, }# C- S3 ]
    ​
    ' X& W' \& }5 e' ^9 {9 G5 R ) 5 |1 @. j$ u4 z4 I% J5 x' R
    2
    3 z0 _3 V- o4 m: p: D0 S; D$ [; h: X4 a
    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})}0 Y9 P. ^+ x4 |5 c# d
    h
    ; \% R* |# C4 L5 O( n& N: xi5 z% w! c8 \9 p1 G+ ^- W8 c3 d
    T" j/ {5 h8 e0 K3 Q
    ​
    . H1 V6 a4 U2 i& C9 n2 J; ?* X- U Lh
    6 Q3 u) U- p6 c% ^i
    8 _4 z/ g5 ^4 b7 m' R​
    * s- M9 h- R; H" K( J; Z$ |  L+ T = 6 k+ C' C9 v) A9 ~& D( {
    2; [( l$ D) r  f# l) h$ s: W
    1* \% D( G- W5 O1 |2 S" ~0 t
    ​. i; H8 X# h, s9 e

    ; C4 ~& v3 ~, i  R/ T* {m=17 W* P% X7 R- q6 M5 X, t  O* l# p& n0 }5 W
    ∑9 S5 J: t& S& e+ k  B
    ​
    % k& Y- |6 c% K
      x; }) Z6 f* p# h% }. {# Kn=1
    4 B* m( |$ M* K5 h8 y6 ?∑3 Y$ l1 [+ s  x
    ​9 y9 w2 c; M2 D  I6 r  ~* F
    w $ R! \$ I2 j7 s" |# j
    mn
      S: U5 Z8 l5 e* j7 q​
    0 a3 i: D1 `/ p6 k: R; C2 s# t! p (h
    $ I7 D: f: g( a' ?1 Nim  P$ P! k5 C' r! k8 n
    ​9 d% q& L( g$ A4 f$ t9 k1 K1 M- f
    −h # C+ H2 o" J/ f* ?$ e" n  v
    in, W* g# d! U; u4 l5 T) R' }4 k" f5 q
    ​1 v* J# b; H, Y7 a% V+ ~
    )
    2 j! K9 ]4 Q1 M6 M, d1 b2
    ! C+ f# t7 ^7 W' U; }4 o6 }& m = " o9 R2 |  ~9 Z: {$ T; r
    vol(A
    ; I' x% q; o5 P% r# @: vi
    + ~$ y. T! {2 ?1 ]$ K4 X​
    & v3 [: Z3 l7 G* |: r )7 B- U+ U- d3 F0 F
    cut(A ; g  o4 o% e9 D) D2 p+ R; V! \
    i
    9 Y8 p1 J: ~* ~8 k) u​2 t1 a  C5 M8 u* }9 O. u+ T
    , ; |" F3 p3 M1 e) j; v* Z+ L! Z
    A
    $ S) t' O9 U0 `' O& Q% Yˉ
    & \  Y; |& A2 w* s7 U( d
    - y* l5 q/ k" d3 ^. P, n0 ni
    - F- s2 w1 t! D7 _% ~​
      Q$ k. l! L+ T8 K% ?3 B )# O7 i3 \$ L. z# M( p( n
    ​7 U" n# m( U0 @" q* T" P9 C, D

    1 p3 r* Z3 v+ @" E, E4 J3 b7 u
    6 u; L' v/ `" W, q7 c' H2 Z严格证明过程请看刘建平博客:链接
    6 ?! u7 |# r, _0 W% 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
    ; N1 Z$ b$ D( d: h" I1 R; Q$ v0 ii
    0 {: G' E5 Y, K5 Z0 K/ ]9 hT8 Q' M: h& p3 `( ]5 U; \% E
    ​0 }( P( X' k9 G2 R1 o4 g3 O
    Lh 2 K4 q! L$ }% K3 k
    i/ E3 J4 c/ U+ i* G1 k
    ​/ U) w4 ^5 ]5 \- k
    ,那么对于k kk个子图
    / r4 T% A) B! r# p" k* t) G- H# s. x$ T9 k/ F! j2 G, A
    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)+ |3 x: Y- c' _
    NCut(A
    / ?1 M$ |8 h. C! A: q8 a1 S14 v8 Y& k! I3 W5 ^6 O- F
    ​
    % ?0 l: P6 ?2 _/ I6 n9 J0 D ,A
    7 a" q4 Y$ D' }+ l0 f2' w1 O+ U  |7 O
    ​( {# T9 U8 A. ]2 `
    ,...,A % T- D% d( P% Y* m: D; L
    k# |4 e: E' H; p8 q4 O" q' w
    ​7 Y, }! W$ P) W1 l
    )= 1 ~( S2 B7 h: e. `* K1 N3 g
    i=1
    4 I3 y4 B# q- c6 n8 J: Q- f6 E∑
    ; Y/ D. ?4 T, a7 n0 fk
    $ P6 J) ?9 _: j/ }5 K6 y( D​
    - i; [; T; f. `" C# i) P" v h / ~3 D8 E# f  R' h' A
    i$ F4 i& P* _2 _) F2 x
    T
    . e) \; p& l# r7 e​$ Y! P: I+ p1 k  w/ A$ Q5 |
    Lh
    : v, P5 V6 r! bi, j6 {7 T: O  s9 H7 K% p1 q/ U
    ​2 X1 f4 E8 k6 t
    =
    9 \# G- m/ s- D; g3 li=1; t: i3 S3 [, o
    ∑
    # v, I+ W5 v& E3 wk
    # a, @$ @: {+ X1 X​
    , y1 f* {, o# u- ?7 a0 y- N (H $ {' }+ o1 q. m& @. H
    T  C7 o6 R7 S" Z. O6 r) z$ a7 \: f
    LH) & A4 v2 h7 b; i4 ?8 b
    ii
      A6 Z. n' V/ c; ~- ~' Z/ q​+ G9 p- F* m+ n6 @4 L; b
    =tr(H
    6 L3 }1 j3 W% e, ]; a' X, pT
    $ h$ \7 A: m6 w/ {# n) [2 h# E LH)! t' o+ ]4 u- o4 V3 g; W* j
    8 j7 D: D5 W& u+ J; x- `
    但此时H T H ≠ I H^{T}H \not=IH 3 Y! z8 u9 ^0 a% B; b
    T
    ; M" J0 e/ L1 n' D9 g+ b H
    8 T+ m# C. V9 H/ ^: M, M6 O6 H/ a5 h8 y; K) c' m7 c! k( ]0 a- @
    =I,而是H T D H = I H^{T}DH =IH
    ' l- C, I$ \+ z: j( ?3 O9 i* v/ t4 [T# k- h1 n* m' o7 G
    DH=I" w: v' y3 }! p% C# T: s

    / K' X, j0 v* |* K7 g- u这是因为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
    " U9 q. v% d( j) q' Ii
    ' S$ v" T. G! c! f7 kT
    0 U* _6 X6 b" d% O1 S* j. \​
    7 K0 c* }1 Q% J) {! u5 M Dh 5 l6 L7 ], y8 Y; X% G8 R# x- d! J
    i' W5 R+ |% s- N* B
    ​9 Y- p2 B. A( i" [! U% K+ p7 ~; z& ]
    =
    0 l0 \/ X* G  C+ s- {* |$ k! r4 `j=1
    ; O: D% q$ a! Q3 y9 G∑
    # j, `3 @0 Z2 ~* gn
    1 t% S" ^) U* v$ Y​* _! F/ j; V4 a) [
    h
    # c$ a7 E: l+ c0 e5 Vij
    - _- K) f0 f7 Q29 I, z( ]3 J3 ^9 x2 l5 M6 P2 T
    ​
    - H) s+ c! B2 a d : d* U/ {1 u; f4 k) I% l. p5 D
    j6 x& }( |# e9 l7 |4 Q6 |1 M/ S9 r$ C
    ​8 L* ?. I$ L; [, b* C' \
    =
    7 y. v' n! m0 Evol(A 3 h9 M5 M( ?8 a. [3 R- ]& n
    i
    + Y4 W1 o7 Y3 O: ~9 s1 v​
    ( _2 X. V9 h9 j+ r* } )0 w0 ~) r" S. e# h1 s; N8 L6 E) s; [; H
    16 }% G7 M+ }; X! |1 Y
    ​( n, s, R0 ^0 \0 Z) e" A

    . T3 s. d3 b' E/ `+ v3 xj∈A 8 z$ t8 N2 ?1 w0 W7 H
    i
    : C4 h2 [8 _; ?3 H, Z2 X) ]3 ^​1 {2 }+ N# N2 P' L. ~
    & D; j( G' o! P( s8 k4 g
    ∑' }7 W7 ]9 P0 S  c( k' m
    ​4 s5 I9 l: S& N
    d
    0 B5 c3 |+ v8 g% fj
    & ~4 ^# n) T9 Y/ _​
    ! a6 z" F# [  X7 D, O = : f! ?/ R( y! H, \) x
    vol(A " m+ b, T  z& ~7 R/ w! e/ h+ o) \, H4 ~* A
    i
    ; S( k& z7 z0 ?/ _) z$ Y; l" Z9 u​# K9 K) y' A* z
    )2 A3 s4 r( n9 U
    1
    * y2 K) W; v8 ?) S5 \( a​  `& W: u6 z7 f+ s+ Q& I
    vol(A 7 n, n: o. B5 C5 o: Q1 D. k4 B
    i) I4 ^5 J) w+ N# a* \9 H( C! d
    ​
    2 M* Q; c2 X# i4 x. s5 E# x )=1
    7 |* B; x3 ~$ W9 n因此,此时切图优化目标为
    + S8 F# c! X7 ]% \$ Y3 a1 e
    5 _  Z2 q7 J2 n1 ka 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
    3 m  y+ l& y5 O, z7 EH
    ) O# B9 H0 f( @. `. eargmin
    $ K; E+ s3 J. u​8 Q' V& t3 g2 ~% L0 g
    8 h/ b0 n4 b4 A( S1 A, w
    ​/ h- P: X% Z. R# q3 C2 s; t
    tr(H % |: h" F  P  Q  {; \
    T& Z* G0 l  C; a9 ]' x6 w( C: R
    LH)s.t.H
    ( j. A2 \" W/ r( S" O9 T. RT
    , [, M: `  F* Y$ _4 ` DH=I
      j1 I  H* S; n) ?+ a
      f) Y# @. N& K- D9 V但是现在矩阵H HH中的指示向量h hh并不是标准正交基,所以需要对H HH做一定转换。令H = D − 1 2 F H=D^{-\frac{1}{2}}FH=D
    : z) J; a" {* G−
    0 A; e7 S, e7 E/ ?, ~+ e0 k2
    + w8 Z$ Y+ h& h1- Z7 i' p' f  Q. c3 C$ P/ i: n
    ​& ?" ^# _( q; |/ h! h
    9 L* j* |9 E' x9 X# s4 a' F" O$ w
    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 & Y! n% Q8 l4 E( T
    T, x: m' Y# R' J
    LH=F
    & i) A' M, \( u1 tT& A1 [3 p5 g+ J
    D
    6 U7 A- o8 b' o9 V  @: A− . n2 L1 U( R* }$ ]1 m% @
    2
    ' Y' O" R/ Y& F  G9 x1
    ' G7 @, V5 X5 @. u( O3 v5 i# X4 F% G9 P​
    8 N5 n7 ]& d+ C! z/ Y
    , m! d4 v5 g8 K  b5 q( ` LD
    + y$ Z2 `3 P: d1 d7 J5 Y8 @−
    / j7 Y9 A9 s; P) y8 g2( x5 R+ \2 l7 |/ l
    1& g# @9 a( t+ Q
    ​( S3 x) A1 w! l: t+ I2 E! Y
    ( B8 \$ p( o* f! k8 V' k' x
    F、H T D H = F T F = I H^{T}DH=F^{T}F=IH
    & T) c5 ~/ H6 \5 Y+ e1 RT
    # ^8 t; j( ~/ \: e1 `) V+ S+ N DH=F
    ! C# k8 `; S( J4 ?3 ^3 F; ~T( ~" ~8 ^# K" l5 d. R% Y# [# a& q
    F=I,于是优化目标变更为
    3 j- c) y; V) [' P7 `) z8 Q1 s  ea 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
    9 Y7 O( |; x9 ^, t) `2 b: k% QF
      X* c7 g  k& ^8 Y* wargmin
    # p$ ]2 q% |/ \​
    9 d1 t; z! k  a0 K( C% q
    . f$ ?# k! M. K; M6 C​
    8 P) W& U, f! n tr(F & W' m; U5 o# N6 U* W0 k
    T  k% v4 _; @7 x+ ~/ `/ A
    D
    ) d# o% Q+ Q# h9 t−
    $ v5 b% P2 B6 e: p2  x  v8 g8 f6 N9 d: l
    1! R! v' y7 K6 c. `' ~) X; e& h
    ​" A9 @- {$ R3 J: x& v4 W" V. w

    ; k0 J% l- a$ |" `; P LD
    : g: R: M: V/ t5 P$ Q− ) E& l9 u" @5 u( P6 l
    2. O/ N  G5 }' f, {
    1: f2 l2 f, k$ Y* J
    ​
    3 Q+ R, L/ D( C7 O, F
    5 l% j6 B% X" E2 y) g- w. [+ H F)s.t.F
    $ |0 B1 U6 Z0 T! [5 x, I' _T" l. E# J( O: R
    F=I  X) ~, ~, _4 x' G# ?9 V$ P4 C

    8 u  H, X3 R+ v) _6 M2 _现在,和比例割一样,通过找到D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 2 X  _) t6 ?  o% m
    − % E! \9 {" P! t% V
    2
    : _( V" O& Y1 L) P12 ~) \8 p, ]- L. c) S9 ?  H
    ​% W( o5 |- F2 H5 X4 q6 g* B

    ) v9 b! o# b4 S$ o, G! I0 x+ e LD
    4 u. N, D. s. z& H/ O3 Y# k− 1 D" ~+ K7 S$ l- {* r; h; Q
    2' r# }3 H7 l( f$ P
    1
    # Q* e, x& s: q* L​3 `9 a+ X) S* `

    1 {3 r3 q  n- L! a) @. s. ` (就是之前的L LL)的最小的k kk个特征值,可以得到对应的k kk个特征向量,这k kk特征向量组成一个n nn×k kk维矩阵,也即F FF,最后对F FF进行传统聚类6 P) U6 n* `, C7 ^4 [; U( h

    * m0 d' m0 Q6 {: W' E' U- e一般来说,D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D 1 @8 P* u; k. |9 s7 O8 i! z8 b
    − , S# [4 F+ V# K0 V2 [) m0 v/ Y8 ^
    22 _$ Q# G( p$ U" m
    1* H! X' N7 ~6 ^' O# O, }. I0 m4 \
    ​
    : q: B0 a7 Q* y0 |+ ~- |& {2 N! ]$ k' A0 R  S
    LD
    8 X+ H8 Y$ V" W4 n+ a−
    ; o8 w# P0 _+ z6 i2
    ; |. O; D) q8 d  b2 {1/ ]% J7 \8 N7 }9 T9 b, c
    ​
    , e" |. F# i3 n
    0 S" E( H- a: Y- j; D+ W: N5 | 相当于对L LL做了一次标准化,也即L i j d i ∗ d j \frac{L_{ij}}{\sqrt{d_{i}*d_{j}}}
    4 y3 y) P0 f7 P* `d 0 v9 E; U: k2 u3 _5 K. s
    i& e5 p0 [+ k$ t
    ​$ t. k1 d9 [$ v0 r" m  K# C
    ∗d 8 T% Q7 n, L0 S" ^4 K
    j
    - S+ b% x  h6 V​
    5 `9 c% d* d9 o$ W8 B4 o" e* l5 t; a9 A
    ​
    ; K0 P) v, F0 S# P6 g& T& H2 K# t: P8 f2 w
    L / |9 M1 J& a6 K( y( s% Y
    ij
    0 _$ K- g! ^% w2 i' h( v+ _​
    , \% v$ o  s) F  s) p3 J
    - c7 [# a$ H: m  v​
    , r5 Z. k2 N. _, Y3 ~1 q" \- [; r- o
    二:谱聚类算法流程. P0 W: G# F5 z) `
    给定数据集D = { x 1 , x 2 , . . . , x n } D=\{x_{1}, x_{2}, ... , x_{n}\}D={x
    - ]* A( a) r( ~% d% D( P1- E& h. ?" W5 t
    ​
    0 P9 z+ K% f* @& M' e ,x
    , A4 j+ ]$ i3 u# o7 }* }9 M3 L; c7 j2
    # U0 _8 {) A" o, _​
    4 v% @2 J* ]3 c ,...,x
    % W6 }1 e) f' m, D: e; Nn' \5 p9 b: l; K, h) R9 y- L
    ​
    - t+ t+ C4 N$ v2 n+ i# ? }
    3 X* ~8 ~4 t# B7 N  _7 _/ V& p" a- J4 O4 l2 \% C3 x6 @
    根据输入的相似矩阵生成方式(一般为高斯核函数)构建相似矩阵S SS(AffinityMatrix)+ b$ m( j  D/ G7 D0 B
    根据相似矩阵S SS构建邻接矩阵W WW,再构建度矩阵D DD
    2 b+ s' J: L0 j! T5 U计算拉普拉斯矩阵L = D − W L=D-WL=D−W
    " i9 c( i* u! G. U  T! D* f得到标准化后的拉普拉斯矩阵D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D
    - g( B, X! N1 ]( G5 \− ) u+ `& C6 i" H$ q2 Q; a
    2# c! R6 K% G( v% [
    1! a( F: f6 X  X7 j6 H
    ​
    & m# z: s0 Z  Y
    $ j( L& f" D# y9 F# } LD
    4 z& o$ k9 N, y& T9 u! s−
    ! E& @* S3 X8 a/ {1 y& J3 {2
    " K. S5 J1 h- D* J1( T2 _( Q2 J# \3 {
    ​
    ( w& t. y: j) ~7 P/ h% i- e: E; L" Z
    8 l. F& |7 b1 Z4 L3 W9 R& r
    计算D − 1 2 L D − 1 2 D^{-\frac{1}{2}}LD^{-\frac{1}{2}}D / }6 ^! Z; E, B
    −
    1 ^! [" i, k+ S9 u+ D2
    3 s; X: W6 J4 s* \1/ w0 _! a3 ~+ b  C
    ​
    8 m  Z3 C& x( s/ C! a# E4 [2 P4 u. p
    LD / A3 `) t8 ?- o9 h6 ^# l
    −
    * T) D# }3 h+ O. [2
    ' _' A% J. p# K( O1 E, D( N. h. h- Y1
    4 d2 ?* Y+ L' x7 a; z* J​7 n1 D( f. z& e6 A5 a% b' x5 [

    8 w- a7 G9 G4 h* F! \2 p 最小的k kk个特征值对应的特征向量f ff) M& D' l2 m+ t. c- o  z" Z
    将特征向量f ff组成矩阵并按行标准化,最终组成n nn×k kk维的特征矩阵F FF% J- C1 I9 H, M) H. i( n
    F FF中每一行作为一个k kk维的样本,共n nn个样本,采用某种聚类方法进行聚类,假设聚类维数为k 、 k^{、}k
    . C- P; m; N$ q9 P% K% _) C、
    ; d% u7 L1 @% _# j* X$ x
    ( ~1 ?/ o+ q6 v8 I/ [得到簇划分C( c 1 , c 2 , . . . , c k 、 ) (c_{1}, c_{2}, ... , c_{k^{、}})(c 8 p3 Y( z. c- y& q7 H
    1
    5 I7 D2 P* V8 E$ N2 r& a( M3 q​% A2 W+ c( A0 A! h, G- c6 B
    ,c
    . W+ s0 n( }7 m( \2) E. [7 \' n9 q! A* P) n1 W1 z
    ​. r2 F( h6 c5 Q! c4 Y
    ,...,c 0 w6 F. c# p0 H
    k - ]: ^/ D6 E$ W4 Z, X6 w
    、0 K  y! j" c& \8 Z9 V

    1 X6 D3 Q' u6 t4 X4 F! |3 h​3 Q  O1 U6 t7 U& d$ {9 ^
    )
    ( ~: x# v7 K( ^' j. K三:Python实现* D7 A* h  }. G. \
    import matplotlib.pyplot as plt8 A2 k' [; _6 q  p2 J9 z
    import numpy as np
    : c6 V% H( i, T4 dimport pandas as pd- r" a& c( A! `$ w( v
    from sklearn.cluster import KMeans$ S* d/ v6 H7 i) O- |1 N! m
    from sklearn.metrics.pairwise import rbf_kernel! P3 y/ d* v+ O' w. n
    from sklearn.datasets import make_blobs
    * F4 ]  Z3 c8 Q6 T9 L& b& q7 Ofrom sklearn.preprocessing import normalize/ J# G* Z7 @. R/ E9 z$ J$ R4 A7 h0 w3 n. f
    ; D9 K7 b+ z( C+ z9 G: ]2 `
    def get_affinity_matrix(data_set):
    & _- z. G5 i% K% r  w+ }7 v% S2 X" `    #  利用高斯核函数计算相似矩阵(全连接)
    3 Q; X* s, F  h, o  B4 ?    rbf = rbf_kernel(data_set)
    * c" ^( u* L3 o5 j( L0 n% I    for i in range(len(rbf)):
    / d& Q$ j, k: o4 ~7 K        rbf[i, i] = 0. ?9 x0 g) x" x
        return rbf
    # b: T+ T! B6 w7 X; M) _2 W' j2 Y8 j, Q9 l$ D. c" _4 O5 `/ W
    " t- p3 `$ r, }- {
    def distance(x1, x2):7 g/ ~5 q) s4 ~5 W9 O1 T9 K! g) N
        """
    4 I3 c  L$ `( i/ T    获得两个样本点之间的距离* X1 A1 [2 ]7 G$ l4 p2 r7 ^. H
        :param x1: 样本点1
    + h9 l! Q' n- \% c! z1 p7 f    :param x2: 样本点27 [7 ^% @" u0 c7 S4 p8 H
        :return:
    ( d, z. @; Q: ?    """6 U# `/ f3 T/ h, S; K8 x3 C& _
        dist = np.sqrt(np.power(x1-x2,2).sum())
    $ D  }9 d5 Z7 P& y: X    return dist% f  p; |0 q. i3 F; p) D
    0 i* g( Z: ?$ P* U: R9 k6 Z
    def get_dist_matrix(data):2 h# I: Q' M9 ]& A. }2 q
        """$ o" {0 G: n3 k+ z, G: K2 j0 C
        获取距离矩阵
    & E1 c8 c2 W' {. D, s    :param data: 样本集合- |/ t4 i) N1 F& L/ V
        :return: 距离矩阵
    2 @4 ~; F- y# ?: x% D* y: `6 s  n    """6 H: r1 L4 S2 j3 e' `' w1 j8 W
        n = len(data)  #样本总数& H$ f8 B) L& }* @9 {
        dist_matrix = np.zeros((n, n)) # 初始化邻接矩阵为n×n的全0矩阵$ k, h( p8 j$ }5 s$ M) O* @
        for i in range(n):
    / P: n, w/ }0 P        for j in range(i+1, n):
    0 J+ {4 n- m" n- V6 K+ |+ P: d            dist_matrix[j] = dist_matrix[j] = distance(data, data[j])% b: L1 o8 K& Q$ q  ^  C4 H
        return dist_matrix1 k* M1 V  _! l4 W! s: X2 q

    " s( W; J) C  q' c6 ^def get_W(data, k):. J) O/ x# S& g
        # 获取邻接矩阵(K邻近法)2 Z0 U# v# }9 n) p9 x# t4 I
        n = len(data)+ f3 m8 V( w" f
        dist_matrix = get_dist_matrix(data)) @# q$ t: C- P5 L7 Z
        W = np.zeros((n, n))& R. [- _4 }- y3 p# Q6 T' f$ U
        for idx, item in enumerate(dist_matrix):
    1 r2 H& b& z% A1 e1 W        idx_array = np.argsort(item)  # 每一行距离列表进行排序,得到对应的索引列表  f. q* N" A" p5 T" P# m
            W[idx][idx_array[1:k+1]] = 1
    5 u% C9 M7 e$ M5 n! |5 W" w% c/ r    transpW =np.transpose(W)
    2 S% o7 v  U/ y/ v    return (W+transpW)/2
      e5 @0 W5 P: c& ^: e! Y! D- S2 S
    def spectral_clustering(data_set, k):
    . U9 M; ^" d1 r/ J    # 利用相似矩阵S得到邻接矩阵W
    & Q+ n0 p& t2 ^' p$ c! [1 ?+ M    W = get_affinity_matrix(data_set)  #高斯核函数(全连接法)
    0 [( I9 U1 ^( @4 |" |/ X+ `    #  W = get_W(data_set, k)  # K邻近法
    , A4 n% G. T0 f; r5 t3 c
    0 ~, ]- P0 G. P& e/ {    # 计算度矩阵D,并得到矩阵D的1/2次方的逆矩阵(便于计算拉普拉斯矩阵)! `4 Y3 g% g6 W9 N' p" h
        D_inv = np.diag(np.power(np.sum(W, axis=1), -0.5))( r. I- z/ A  e, G

    - f( \5 s( p$ O$ j5 P    # 计算拉普拉斯矩阵L=D-W
    + L% f5 ~- ]; [4 w! [& i) Q    # 标准化拉普拉斯矩阵l = D_inv*L*D_inv=I-D_inv*W*D_inv
    ! p5 G. S) F  V) }$ r! f- S' F    L = np.eye(len(data_set)) - np.dot(np.dot(D_inv, W), D_inv)
    ( |# ~2 J5 {5 f6 [+ E, d- m- V% a3 J9 P1 O/ w
        # 得到特征值和特征向量. _3 X3 c* q2 W! o4 k
        eigvals, eigvecs = np.linalg.eig(L)
    ( H- r$ ^! x2 e: |. |9 ^4 ?  [% E$ M; S3 ]; a
        # 找到前k个最小的特征值(索引)
    , h# m9 y/ u, z3 J$ {, a    k_smallest_eigvals_index = np.argsort(eigvals)[:k]3 r' b+ K5 x0 o& D" G6 E/ M

    8 }3 w% {$ {  V( N; @; P; v    # 取出这k小特征值对应的特征向量,并正则化
    , U8 |3 x1 L+ I' g    k_smallest_eigvecs = normalize(eigvecs[:, k_smallest_eigvals_index])! U8 K! H& k- j9 {# a/ `
      s# j5 c3 K: ]5 h2 K* T$ l
        # 使用K_Means聚类7 `) w9 {* s' d# x* U' Q
        return KMeans(n_clusters=k).fit_predict(k_smallest_eigvecs), C! {: k5 I+ R7 o. Y& h9 L
    ! v6 K4 T. }; w* w0 o* r* N

    2 d2 X" U! S. j" x8 Vraw_data = pd.read_csv(r'E:\Postgraduate\Dataset\jain.csv', header=None)5 t6 N+ R7 H" w. j9 z. g9 ~
    raw_data.columns = ['X', 'Y']
    ( Q6 }3 @1 w# Cx_axis = 'X'
    - z) C. O# Y. u! p' O9 Ny_axis = 'Y'9 w) E2 K0 R' r) c# m

    & {8 k6 Q* I; [* v# h! Xexamples_num = raw_data.shape[0]' I' J8 e# `7 n/ k) x
    train_data = raw_data[[x_axis, y_axis]].values.reshape(examples_num, 2)
    2 e! X2 c( ^" ?/ \- N- l! H
    $ q4 s; w7 A- c8 d5 H
    3 e. u, [, i1 @& l* Hmin_vals = train_data.min(0)
    & S: I+ d  s3 m& t# e0 E$ j& lmax_vals = train_data.max(0)
    0 V- l# Y1 ?) i! z5 {  iranges = max_vals - min_vals
    " A- m( h8 q- F! q& [9 unormal_data = np.zeros(np.shape(train_data))' l3 S7 x, _% x! S" D7 @
    nums = train_data.shape[0]
      c/ L" `% Z/ e+ Z+ g6 {normal_data = train_data - np.tile(min_vals, (nums, 1))
    7 g$ l/ j" i; }) l' \/ }+ J- qnormal_data = normal_data / np.tile(ranges, (nums, 1)): k! g8 O) Q3 A. I4 U

    . M* R8 |3 _* q% I. {0 tlabels = spectral_clustering(normal_data, 2)5 k( v5 F' d/ Q
    ! y7 ]3 H9 q0 _4 V
    # 原数据
    * V3 Q+ g; i7 d) K7 z/ w; Kfig, (ax0, ax1) = plt.subplots(ncols=2)7 Q$ o0 ]# L4 D
    ax0.scatter(normal_data[:, 0], normal_data[:, 1], c='black')& U0 f0 l' ]  ~6 [6 h
    ax0.set_title('raw data')
    6 z. n& N5 T( |4 m# 谱聚类结果
    ! b# F% c* o+ R! v7 wax1.scatter(normal_data[:, 0], normal_data[:, 1], c=labels)
    ) x- I  I$ r/ d2 a/ J& Sax1.set_title('Spectral Clustering')  m5 q! L6 ?1 j3 w# D

    7 ~6 g8 M1 u2 _) \9 p" r# S$ O# jplt.show()
    * M8 q. H) w$ b$ [* {
    / H! H( v" O& a" @1
    1 I6 n$ E' }# X( A7 z$ l9 s2
    8 i0 {! w# T" @$ \: k/ Y36 X, J8 J4 |1 Q
    44 f, s( ?$ \* S0 I+ J, ^
    5
    / m) a$ e% L0 o% l: R: z: ]3 ~6
    # c0 N$ E" h2 Q0 D, k9 b( I7
    5 O7 ?0 J6 M$ b. F! i9 }# L2 m8& ^. r# a4 W/ \0 o/ y
    9
    " ^" m0 v5 T* c0 n0 m10
    * E* F" s* Y, s8 D! c$ S) I; @11
    / O! K* Z- M# q# R7 h9 e9 ~12# h2 ], _1 x" a: b  ]+ _
    13
    & C3 E2 D# \* y4 n& g  C14
    9 J* i' U- m8 X. E15
    : Y; O* T8 r( p, Q2 k16
    2 c5 Q; w' q. j% O- \) r17
    % Q4 R% F1 L+ H; J  {# f9 V, h( x18/ K: H. o. p% @' f$ k$ Z1 q) K% z. r
    197 _; }3 o  y2 s
    20
    6 }- ^9 v( F5 d' z& z21
    ; C* G1 i6 Z+ \4 Z1 l& p- h1 Q8 R22. B+ w( ~3 O' ?. Q- d
    23$ [$ v9 v  c+ u1 S3 H; C, I" m& ?
    24: y- f! O) e3 @4 v+ n
    25
    8 B& u. }( _2 H8 Q26
    / K' N) v8 X6 M, T3 a; f27' x2 N# I3 W- r! F" Z7 {, d
    28" Z4 E; S# q, ^8 G- f2 y
    29
    / x% u8 F6 }. {+ @& c5 C2 \8 U30
    4 V0 R: x. k# x; C31) H% i7 i# i  l8 ~( ^9 j2 p6 W
    32
    % T$ m$ d* h9 G5 h% X- k* R, V33
    9 }0 D* _" x! x5 Y34
    & T" K- Q+ T7 H4 z35
    * E" T7 i( n3 G5 p7 T36
    , d0 `6 X2 V, u% W' o- `37" ]. u; m2 C+ }5 L' }
    384 x1 D% {1 p, g8 t
    39' [. k% x* A, [- z
    403 h5 N3 Z* y; v4 e1 a5 N
    41: m9 I* n  D  Q  \# ?
    42# d6 Z4 s4 n% E* T3 c* A2 I! y
    43( |! ]2 ^' R  z& `" q
    44
    ; `1 W2 `( z, O$ b% d* D0 c45
    . t" ~( B0 T  A% e0 }  f" X46
    2 l* @. L% X$ q/ k$ b478 _  M9 F. u. t7 s2 G& _
    48' `6 Q0 X0 Q" S: }# ^" a7 M' Q
    494 u, {: O: J+ k8 Z: ^
    50
    6 ?+ B/ |& j0 ^$ }/ }51
    : C# i- ^$ M" F, l52
    1 t& w" g  Q5 W4 ~532 a5 f5 J1 c$ o( y# R
    54
    7 {9 f0 p& h& K5 z55* x- H& y) U1 c5 l
    56
    * O0 q9 n3 g1 @* l* E  u3 o57: y7 a% N/ `4 M7 {9 G$ F4 r: u
    58
    . n1 |" l) y1 B. g. P3 A591 c/ i' M2 z2 z8 J: Q- _2 `8 r
    60* O0 w  c7 a, o/ E; v/ W
    61& ]6 @* Z$ e" p
    62
    " _  [5 U! I  G+ M, x  g63
    7 |5 s$ X. h4 S5 g; m; p4 U5 o64% C8 C6 ^! N3 t0 b) d, b
    658 X3 ?: A) ?2 J' s
    66
    : V. X& u3 X2 c. s& U" R67
    % Z; s8 d: T$ v* `68
    " t& k4 ?* v- N6 v7 h+ k69; F, K$ e0 o. e8 C+ a& l: B$ V# K
    70% u9 E2 i6 G3 I
    71
    2 f' n  W) Z- c72: B4 X# t% w5 R6 k7 W( y
    73
    % \% M3 `. ~4 T5 }74
    + w6 k+ m& O4 B& f754 J& ^- Q- V- k* O4 ~
    76
    1 B/ B# J" y) W77
    ' }5 d2 f, d0 M6 V! [78
    . Y" L  u! I# H$ N1 N3 j2 f79
    ! q0 K8 q. e. e80# M9 H1 S# Y  P
    81  ]2 C* D# `: f2 P( ?
    827 o2 N2 ~. H3 Q+ c# ?: q
    83
    . `5 f2 E0 ?( r% U: z3 v# C5 U7 g. V84% \9 ^9 a6 t% ]/ a; v
    85
    ( h6 y+ W! U% b' X( |- m7 y) m4 q865 l. f, @' u, \& l0 A3 }* r  k/ N
    877 |3 G% A5 @5 ]. b, p1 X3 Q
    88# H9 w6 G3 ~* f) E. J
    890 X! d1 g3 @. P
    90
    % @1 l5 @8 P) s, P* l3 F6 {/ A91
    5 }9 x9 {+ a; _( l0 a# M92
    ' |6 T) v, j" t2 u3 A# ]933 \2 j/ {  O) E0 B( \
    94
    . j0 m1 ?" I- j) B& |4 d5 k95. u) L/ A- W+ p! ^5 Z7 Y- T
    96
    % K2 o9 b  _& e' ]( f9 B975 Q# m+ H" q1 p* m  _/ Z
    98
    - S9 q( b' ]! s& E+ Z/ S99
    5 G, c- S$ l' y6 u# {+ i100) A' v, `: O7 `4 S9 J1 Y) r2 O
    101: J& e! y, R8 L- r3 d9 H. ]2 t
    102+ H$ Q7 @+ m( x' n  S
    103
    ) g2 I" h# V! l2 T: N7 i(高斯核函数)
    # v# x! J8 j( ?$ k* @) Z
    1 f1 P& U2 W& r! c: b/ ^  V0 F
    4 n" |5 `7 m; R: e+ H' _8 w(K邻近法), R" d+ j! ~! e. [& Y7 a1 z. v
    ) e9 Y( S! U5 ?9 U- @

    9 d% `) u9 p2 }7 r% _7 h  C0 d四:谱聚类算法优缺点
    + N" M9 N) g! ]  F7 _1 A(1)优点
    + B/ _3 Q0 u( e8 h5 r4 |; e谱聚类只需要数据之间的相似度矩阵,所以对于稀疏数据的聚类很有效1 n3 G1 x% r8 l4 K  \
    使用了降维,因此处理高纬数据聚类时复杂度要明显低于传统聚类算法
    0 b) r" a  t& d! T, Z" P! l3 r谱聚类算法建立在谱图理论基础上,与传统聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解& k* Q1 ~2 D+ t: W4 E
    (2)缺点
    - u! q; o, k. s1 t( R2 P如果最终聚类的维度非常高,则由于降维的幅度不够,导致算法的运行速度和最后效果都不是很好
    7 @, r1 R6 X  Z9 O3 u. E' u聚类效果依赖于相似度矩阵,所以不同的相似度矩阵得到的最终聚类效果大不同相同
    4 ?. m' h* |' H6 m————————————————4 M7 c  A6 g3 F7 N+ ^$ ^
    版权声明:本文为CSDN博主「快乐江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    6 Q+ m( b5 m5 C% ^4 F& K原文链接:https://blog.csdn.net/qq_39183034/article/details/126747494( O" b" k3 [, m* a9 K+ O7 w1 d# ]! W

    7 V2 J) U: h9 Z7 u* M+ t" l& s# 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-10-18 07:48 , Processed in 2.935044 second(s), 50 queries .

    回顶部