日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

聚类算法实践(2)——谱聚类、Chameleon聚类

發(fā)布時間:2023/12/29 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 聚类算法实践(2)——谱聚类、Chameleon聚类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

聚類算法實踐(2)——譜聚類、Chameleon聚類

男人海洋?發(fā)表于 2013-08-30 14:34 來源:數(shù)據(jù)之城

? ? ? 上一篇文章里說到的層次聚類和K-means聚類,可以說是聚類算法里面最基本的兩種方法(wiki的cluster?analysis頁面都把它們排前兩位)。這次要探討的,則是兩個相對“高級”一點的方法:譜聚類和chameleon聚類。

4、譜聚類

??????一般說到譜聚類,都是從降維(Dimensionality?Reduction)或者是圖分割(Graph?Cut)的角度來理解。但是實際上,從物理學(xué)的簡正模式的角度,可以更為直觀地理解這個算法的本質(zhì)。

??????這里先把基本的算法步驟寫出來,然后再討論算法的原理。

譜聚類基本步驟:

1、給出N個數(shù)據(jù)點兩兩之間的相似性。也就是一個N*N的相似性矩陣A,A(i,j)代表i和j兩個數(shù)據(jù)點的相似度,數(shù)值越大則表示越相似。注意A(i,j)=A(j,i),A(i,i)=0。

2、計算矩陣D,使它的對角元是A矩陣的對應(yīng)的那一列(或行)的值之和,其余地方為0。也就是使得

3、令B=D-A

4、求B矩陣的前k個本征值和本征矢,將數(shù)據(jù)點投影到一個k維空間。第i本征矢的第j個值,就表示第j個數(shù)據(jù)點在k維空間中第i維的投影。就是說如果把k個特征矢量并成一個N*k的矩陣,則每一行代表一個數(shù)據(jù)點在k維空間的坐標(biāo)。

5、根據(jù)每個數(shù)據(jù)點的k維空間坐標(biāo),使用K-means或者其它聚類算法在k維空間對數(shù)據(jù)進行聚類。

??????從算法的第4、5步就可以看出,譜聚類的本質(zhì)實際上就類似于PCA,先將數(shù)據(jù)點投影到一個更能反映數(shù)據(jù)特征的空間,然后再用其它辦法進行聚類。這也就是一種降維的思想(實際上也可能是升維)。那么問題的關(guān)鍵就在于,它把數(shù)據(jù)點投影到什么空間去了?為什么這個空間更能反映數(shù)據(jù)特征?這個問題可以從圖分割的角度來理解(看這里),不過我這里要從簡諧振動的角度來討論這個問題,這也是一個更為直觀的理解。

簡正模式

??????說起簡諧振動,學(xué)過高中物理的童鞋都不會陌生:兩個小球連上一根彈簧,就是最簡單的簡諧振動模型。為了簡單起見,寫成一維的形式,而且彈簧的平衡距離設(shè)為0,于是,當(dāng)小球的坐標(biāo)給定時,彈性勢能就是

??????我們把上面那個算法套用在這個例子上試試,兩個小球的“相似度”就看成是它們之間彈簧的彈性系數(shù)k,k越大,小球之間的關(guān)系自然就越緊密了。這樣上面要求的矩陣就是

??????????有誤( A和D應(yīng)該寫反了 )

??????給出整個系統(tǒng)的坐標(biāo)矢量,容易證明

??????B只有兩個本征矢量,分別是

????

???????這兩個本征向量就代表了體系的兩個簡正運動模式,向量中的值表示對應(yīng)的小球在這個運動模式中的運動方向。比如p1之中兩個小球往同一個方向運動,這其實是系統(tǒng)的整體平動,對應(yīng)的本征值為0;p2則表示兩個小球往相反方向運動,這就符合我們想象中這兩個小球的簡諧振動了。

???????究竟什么是簡正運動模式?為什么用上面的方法就能得到系統(tǒng)的簡正運動模式呢?其實所謂的簡正模式,就類似于傅立葉分析里面,用來將原函數(shù)展開的那組相互正交的基函數(shù)組。這里所使用的,就是簡諧振動這樣的一種基組,將整個系統(tǒng)的復(fù)雜運動表示為這些簡正模式的疊加。

???????無論我們有多少個小球,只要小球之間是以彈簧相連的,那么根據(jù)它們之間的連接方式,總是可以將系統(tǒng)的勢能表示為

???????但是,我們希望的是將運動方式去耦合,寫成多個簡正模式之和,也就是

所以需要對原來的B矩陣對角化,而對角化過程中得到的本征矢量和本征值,也就是所要求的簡正模式以及它們的頻率的平方值。

??????上面說了那么多關(guān)于簡正模的東西,可是到底為什么要求簡正模呢?這是因為譜聚類的目的是要找到一個能很好地反映數(shù)據(jù)點特征的空間,然后在新空間中進行聚類。試著想象一下,如果兩個數(shù)據(jù)之間相似性很大,那么也就是說它們之間的“彈簧”彈性系數(shù)很大,就跟用一個棒子連起來一樣,那么自然在運動的時候,它們就會傾向于往同一個方向運動。類似地,如果一堆數(shù)據(jù)點之間很相似,那么它們就會形成一個rigid的整體,就像一個剛體一樣,剛體內(nèi)部的小球喜歡一起動。而兩個剛體之間,則會產(chǎn)生簡諧運動,傾向于往不同的方向運動。

???????用一個簡單的例子來說明這個現(xiàn)象,我們可以想象6個小球,分成對稱的兩組123和456,組內(nèi)小球兩兩之間連在一起,兩組之間則在3和4間有一根彈簧相連。這樣一個結(jié)構(gòu),很明顯應(yīng)該是分為123和456兩組。如果我們使用譜聚類,那么相似矩陣和求得的本征矢量如下

????????

這里只列出本征值最小的前4個本征矢量:第一個一樣是整體平動,沒有什么意義;第二個表示兩組小球之間的相對運動,兩組小球往不同方向運動,這是我們想要得到的結(jié)果;第三、四個表示每組小球內(nèi)部的相對運動。

???????在這個結(jié)構(gòu)里,組內(nèi)部的相對運動相比起組間運動是很弱的,這可以從它們對應(yīng)的本征值看出來。根據(jù)能均分定理,能量應(yīng)該在每個簡正模式之間均分,所以模式的振幅反比于它們的頻率,也就是跟本征值的開方的倒數(shù)成正比,這里A2:A3:A4~3:1:1。這其實也就告訴了我們,對傳統(tǒng)的譜聚類算法可以根據(jù)它的物理意義進行改進,根據(jù)本征值對本征矢量進行加權(quán),而不是同一對待。這樣,不重要的模式即便被考慮進來,因為振幅很小,所以也不會對結(jié)果產(chǎn)生什么影響。這樣,我們在算法的第4步,考慮k個本征矢量來進行投影時,就不用擔(dān)心會多取了多余的本征矢了,而且也可以根據(jù)本征值譜的變化來判斷k的合理取值,就像在層次聚類中那樣。

???????對PCA比較熟悉的童鞋,會發(fā)現(xiàn)這個方法在形式上跟主元分析有類似的地方。其實簡正模分析和PCA是兩個相反的思路,簡正模是根據(jù)系統(tǒng)的性質(zhì)來推斷系統(tǒng)的特征運動模式,而PCA則是根據(jù)系統(tǒng)的運動結(jié)果來得到特征方向。一個是從原理來進行推斷,一個則是從結(jié)果來進行反推。

聚類結(jié)果

???????使用譜聚類對樣品1進行聚類,可以得到下圖。兩個結(jié)果分別對應(yīng)聚類數(shù)目k取為3和8的情況,可以看到并不會像K-means那樣把大的cluster分離,只會把少量異常點分離出去,總體的聚類結(jié)果十分穩(wěn)定。因為算法最后還是使用了K-means進行聚類,所以我們可以想象譜聚類在投影到新空間的時候,應(yīng)該是很好地把不同的cluster遠遠地分離了開來。

???????可惜,譜聚類對特殊形狀的cluster的聚類效果依然不盡如人意。不過相比起K-means這樣的算法,譜聚類已經(jīng)辨認(rèn)出一些形狀信息了(有成環(huán)狀的cluster,而不是都是球型的)。

???????譜聚類聚類的效果比較好,性能也比較穩(wěn)定。算法需要的輸入只是相似矩陣,不需要數(shù)據(jù)點的坐標(biāo)矩陣,適用性也較廣。一個潛在的問題是,如果數(shù)據(jù)量很大的話,對大矩陣的對角化可能會導(dǎo)致算法效率低下。但是如果是稀疏矩陣的情況,只計算前k個本征矢量和本征值的效率還是很高的。所以譜聚類算法總體而言是一個不錯的選擇。

5、Chameleon聚類

??????之前介紹的三個算法都沒辦法分辨出樣品2的甜甜圈,而這次介紹的chameleon算法則可以說是專門用來干這活的。下面是算法的提出者在他們的文獻中給出的一些測試組,可以看到這個算法就是對各類奇葩形狀都應(yīng)對自如……

???????我們不妨來想當(dāng)然地考慮一下,怎樣才能識別出甜甜圈結(jié)構(gòu)的cluster。簡單起見,考慮最極端的情況,假設(shè)數(shù)據(jù)的噪聲不是像樣品2那么大,而是分界很明顯的三個環(huán)帶。想象我們把一只甲蟲放在了其中一個環(huán)帶上,甲蟲的視野很小,而且它會隨機地走到它能看到的數(shù)據(jù)點上。如果環(huán)帶之間的間距足夠大,那么甲蟲就不會走到其它環(huán)帶上。最后,甲蟲能走到的區(qū)域就是一個環(huán)形的cluster。

???????上面這個問題的關(guān)鍵就在于,要主動地把甲蟲的視野變小,也就是根據(jù)近鄰數(shù)據(jù)來進行聚類,然后不斷延伸。這其實也就類似于層次聚類中的single-linkage,實際上single-linkage也確實可以識別出樣品2。

???????但是這樣會帶來新的問題,比如對于下面的情況。在fig?4中,如果只看最近鄰的連接,算法會傾向于合并c、d而不是a、b,又或者說,如果甲蟲的視野足夠大到會合并a和b,那么c和d也就一定會被看作一個cluster。但事實上,a、b的鄰接區(qū)域較大,距離也不遠(相對于a、b內(nèi)部),所以是應(yīng)該被認(rèn)為是屬于同一個cluster,而c、d則顯然不應(yīng)該被看作一類。fig?5則表示另外一種情況,就是過分強調(diào)鄰接區(qū)域的大小,這樣就會傾向于把a與c進行合并,而不是與b合并。

???????Chameleon算法就是努力在這兩種情況之間保持平衡,既考慮Closeness,即近鄰節(jié)點的靠近程度,也考慮Inter-Connectivity,即鄰接區(qū)域的大小。

???????Chameleon本質(zhì)上也是一個從下而上的層次聚類算法,不過它只考慮每個節(jié)點鄰近的K個節(jié)點(K由用戶給定),也就是說,只有最接近節(jié)點的其它K個節(jié)點會被認(rèn)為與節(jié)點存在連接。兩個節(jié)點越“接近”,連接強度越強。兩個cluster的“距離”由兩個參量決定:relative?inter-connectivity和relative?closeness。

Relative?Inter-Connectivity

cluster?i和j的relative?inter-connectivity表征了他們之間鄰接區(qū)域的大小,其中EC{Ci,Cj}表示跨越i和j的所有連接的強度之和,EC{Ci}表示將cluster?i分割為大小接近的兩部分所需要切斷的連接的強度值和。

Relative?Closeness

cluster?i和j的relative?closeness表征了他們之間近鄰連接的強度,其中SEC{Ci,Cj}表示跨越i和j的所有連接的強度平均值,SEC{Ci}表示將cluster?i分割為大小接近的兩部分所需要切斷的連接的強度平均值。

最后,兩個cluster之間的距離為

a是用來調(diào)節(jié)兩個參量的比重的參數(shù)。

聚類結(jié)果

???????因為原算法需要使用一些額外的算法來進行圖分割,我這里只是使用了一個簡化版本的Chameleon算法,使用了絕對的inter-connectivity和closeness,沒有對cluster的大小進行normalization(也就是沒有考慮上面兩條式子中的分母)。

???????對樣品1進行聚類,分別取聚類數(shù)目k=5和8。類似于譜聚類,Chameleon算法也可以穩(wěn)定地對數(shù)據(jù)進行聚類,不會對k的選擇過分敏感。

???????經(jīng)過多次的調(diào)整參數(shù),我也終于把樣品2的cluster給識別了出來……

???????從算法的角度來說,Chameleon可以用于識別形狀特別的cluster,但是實際上調(diào)整參數(shù)殊為不易(當(dāng)然這也跟我使用簡化版算法有關(guān)),而且關(guān)鍵是層次聚類的效率終歸不高。所以Chameleon可以在一些特殊的場合使用,個人認(rèn)為不是一個十分通用的算法。

    (責(zé)任編輯:中國統(tǒng)計網(wǎng))

    總結(jié)

    以上是生活随笔為你收集整理的聚类算法实践(2)——谱聚类、Chameleon聚类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲97在线| 青青啪啪| 天天爽天天爽夜夜爽毛片 | 久久人人爽人人爽人人片av高清 | 国产乱仑视频 | 国产剧情一区二区 | 免费a视频| 成人在线视频在线观看 | 人成在线视频 | 久久精品人人做人人爽 | 6090伦理 | 中文字幕免费在线播放 | 亚洲五月婷 | 古装做爰无遮挡三级聊斋艳谭 | 狠狠干欧美 | 亚洲国产免费 | 国精品无码人妻一区二区三区 | 美女被叉叉的影院 | av大片免费观看 | 日韩精品一区二区三区中文字幕 | 欧美三级小说 | 成人午夜看片 | 亚洲自拍天堂 | 少妇导航av | 久色91 | 亚洲视频 中文字幕 | 人妻丰满熟妇av无码区 | 欧美三区视频 | 91黄色在线视频 | 岛国色图 | 日韩精品一区二区三区不卡在线 | 亚洲AV无码成人精品区先锋 | 国产福利视频导航 | 精品香蕉视频 | 在线免费视频观看 | 亚洲第一页综合 | 天天摸日日操 | 欧美男人亚洲天堂 | 91鲁| 99热这里只有精品18 | 国产一区福利 | 日韩亚洲一区二区三区 | 毛片毛片毛片毛片毛片毛片 | 亚洲一区二区三区中文字幕 | 欧美精品三区 | 国产精品一区二区三 | 国产精品女人和拘 | 91亚洲一线产区二线产区 | 日本一区二区三区电影在线观看 | 欧美精品hd | 成人午夜影院 | 日韩欧美中文字幕在线观看 | 丝袜人妻一区二区 | 玖草视频在线观看 | 日本不卡免费在线 | 精品视频在线一区二区 | 可以在线观看的av网站 | 激情春色网 | 亚洲一区有码 | 亚洲高清视频免费观看 | 99久久久精品 | 亚洲国产精品无码观看久久 | 黄色片网站在线免费观看 | 美女免费福利视频 | 99热官网| 9久久精品| 亚洲精品白虎 | 日本青青草 | 麻豆av电影在线观看 | 欧美猛交xxx| 国产91边播边对白在线 | 国产黄色大全 | 亚洲av中文无码乱人伦在线观看 | 黄色一级视频免费观看 | 成人自拍视频在线 | 看片网址国产福利av中文字幕 | 国模小丫大尺度啪啪人体 | av激情久久| 一级国产片 | www.一区二区三区四区 | 日日爱666| 97在线精品| 久久午夜鲁丝片 | 免费看91的网站 | www.成人网| 自拍偷拍亚洲区 | 91免费版在线 | 97人妻精品一区二区三区软件 | 欧美用舌头去添高潮 | 椎名由奈av一区二区三区 | 亚洲精品一区二区18漫画 | 亚洲午夜在线播放 | av在线有码 | 成人综合激情 | 欧美成年人在线视频 | 麻豆一区二区在线观看 | 久草影视网 | 国产午夜激情 | 小泽玛利亚一区二区三区视频 |