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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

最小化局部边际的合并聚类算法(中篇)

發布時間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最小化局部边际的合并聚类算法(中篇) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:錢烽

三、合并聚類算法

基于定義2所提出的相似度定義,我們在圖2中給出最小化局部邊際的合并聚類算法詳細執行過程.首先,針對數據集中可能存在的噪聲數據,我們對所有樣本點進行孤立點檢測.然后,作為ACMOM算法的主要過程,我們采用基于MkNN關系的相似度對檢測結果為非孤立的樣本點進行合并聚類.接著,為了構建完整的系統樹圖,我們將其余孤立樣本點賦予距離它最近的類簇.最后,對于不存在任何MkNN連接的少數剩余類簇集合,我們使用ALINK算法進行合并操作并輸出系統樹圖形式的聚類結果.

該算法的具體執行步驟如下:

(1) 初始化基本類簇(第1~6行): 算法首先初始化類簇集合GS和孤立點集合OS為空集,然后遍歷數據集中的樣本點.為了避免噪聲數據的影響,ACMOM算法對于每一個樣本點都使用了LOF技術[28]來檢測其是否為孤立點.其中,由于LOF檢測也涉及樣本點的最近k鄰居計算,我們使用了相同的最近鄰參數k值.對于檢測結果為孤立點的樣本點,我暫時將其加入孤立點集合OS中.而對于其余樣本點,我們初始化每個樣本點自成一類,并將它們加入到類簇集合GS中,使之成為系統樹圖的葉子節點.


(2) 合并最相似類簇對(第7~11行): 接著,算法開始執行合并操作.在每次合并操作開始時,ACMOM算法首先根據定義2更新所有可能的類簇間相似度,并從中找出最大值.對于滿足相似度最大值的類簇對,我們將其合并為一個新的類簇,并在系統樹圖中將其賦為的父親節點.最后,我們在類簇集合中用新類簇替換原來的子類簇.ACMOM算法將不斷重復上述合并操作直至任意類簇間相似度都為0或所有樣本點都合并至同一類簇為止。

(3) 合并孤立樣本點(第12~15行): 對于剩余的每個孤立樣本點,ACMOM算法首先找到距離其最近的非孤立點鄰居,然后將其合并至該鄰居所在的類簇中.


(4) 返回合并聚類結果(第16、17行): 上述算法流程執行完畢后,如果所有的樣本點都已合并至類簇集合GS中的唯一類簇,我們直接將其作為系統樹圖的根節點返回給用戶.否則,我們使用ALINK算法對集合GS中的剩余類簇做進一步合并操作并返回最終的系統樹圖結果.為了保證一致性,我們使用類簇間的樣本間距均值來記錄所返回系統樹圖中的節點高度。

四、復雜度分析

本節中,我們將更加具體地描述ACMOM算法的實現細節,從而詳細分析其時間復雜度和空間復雜度.4時間復雜度分析

準備工作: 為了計算類簇間相似度以及使用LOF技術對樣本點進行孤立點檢測,我們需要事先為每個樣本點計算其最近k鄰居集合.ACMOM算法通過構建k-d樹結構來實現這一操作.根據文獻[29,30]的描述,構建k-d樹的時間復雜度為O(nlogn),而為任意樣本點查找k個最近鄰居需要O(dn1-1/d+k)時間.其中,n表示數據集中樣本點的個數,表示樣本點的維度.因此,為數據集中的n個樣本點構建k最近鄰列表的總體時間復雜度為O(dn2-1/d+kn).


算法步驟(1): 根據文獻[28]的描述,在已知k最近鄰列表的前提下對n個樣本點進行LOF檢測的時間復雜度為O(n).而將數據集中的所有樣本點加入基本類簇集合GS或孤立點集合OS的時間復雜度也是O(n).因此,算法步驟(1)的總體時間復雜度是O(n).

算法步驟(2): 算法從O(n)個基本類簇開始,每次選擇兩個現有類簇合并為一個新類簇,執行過程最多包含O(n)次合并操作.在此之前,ACMOM算法通過掃描樣本點的k最近鄰列表來構建數據集的MKNN連接集.這需要O(kn)的時間復雜度.基于所得的連接集,我們為每個基本類簇保存一個哈希表結構[31],其中存儲了與其相鄰的類簇序號.與序號一起保存的還有參與類簇之間MKNN連接的邊界樣本點集合(即定義2中的PK和PL).這些操作可以通過掃描一遍MKNN連接集完成,因而時間復雜度也是O(kn).在每次進行合并操作時,我們需要找到滿足相似度最大的類簇對.為了加速算法執行,我們將與每個類簇最相似的類簇序號以及對應相似度存儲在一個最大堆結構[32]中.構建最大堆結構的時間復雜度是O(nlogn),而每次從其中查找滿足最大相似度的類簇對僅需要常數項時間.在進行合并操作時,除了使用常數項時間將原有類簇的樣本點合并至新的類簇外,我們還需要將原有類簇的鄰居列表進行合并,并且更新其最相似鄰居.由于這一列表存儲在哈希表結構中,而類簇的平均鄰居數為O(k),因而所需的時間復雜度也是O(k).此外,我們還需要更新與被合并類簇相鄰的其他類簇.假設這些相關類簇的平均數量為個,則對它們的鄰居列表進行更新的時間復雜度為.最后,在最大堆結構中更新這些相關類簇以及新合并類簇的最近鄰信息需要時間.綜上所述,對數據集進行O(n)此合并操作的時間復雜度為,這也是算法步驟(2)的總體時間復雜度.

算法步驟(3): 為了對每個孤立樣本點查找其最近非孤立點鄰居,我們首先在它的最近k鄰居列表中進行搜索,這需要最多O(kn)時間.而對于剩余的孤立樣本點,我們通過進一步查詢k-d樹進行判斷.設這些剩余樣本點的個數為,查詢的最壞時間復雜度為.之后,將所有孤立樣本點合并至最近類簇的時間復雜度為O(n).因而算法步驟(3)的總體時間復雜度為.

算法步驟(4): 假設類簇集GS中還剩余個未被合并的類簇,使用ALINK算法對其進行合并的時間復雜度為,這也是算法步驟(4)的總體時間復雜度.

綜上所述,ACMOM算法的時間復雜度為.根據第五節中的實驗結果,在實際算法執行過程中的值都要遠遠小于樣本點個數n.因此,在高維數據中ACMOM算法的時間復雜度主要集中于k最近鄰樣本點的查詢操作O(dn2-1/d)。

4.1空間復雜度分析

從上面的分析可以得出,ACMOM算法實際執行過程中需要存儲如下一些結構:(1) 包含有n個樣本點的k-d樹結構,空間復雜度為;(2) 所有樣本點的最近k鄰居列表,空間復雜度為;(3) 所有樣本點的MkNN連接集,空間復雜度為;(4) 最多n個相鄰類簇列表,空間復雜度為;(5) 包含所有類簇的最相似類簇信息的最大堆結構,空間復雜度為.


綜上所述,ACMOM算法的空間復雜度為,主要集中于存儲所有樣本點的最近k鄰居列表以及與此相關的其他結構中。

4.2實驗結果與分析

本節中,我們將從聚類有效性和算法運行效率兩個方面詳細比較ACMOM算法與其他兩類合并聚類算法.對于經典合并聚類技術,我們選取滿足單調遞減特性的CLINK算法、SLINK算法、ALINK算法和WARD算法作為其代表方法.對任意形狀的合并聚類技術,我們選取目前公認表現最好的CHAMELEON算法作為其代表方法.此外,我們還將具體分析算法參數k值的變化對于聚類有效性和算法運行效率的影響.

在算法實現方面,我們通過調用Matlab軟件中的linkage等函數來使用CLINK算法、SLINK算法、ALINK算法和WARD算法.另外,我們還通過調用算法作者所提供的CLUTO軟件包(C++語言)[33]來使用CHAMELEON算法.CHAMELEON算法的主要參數采用作者建議的-clmethod=graph、-sim=dist、-agglofrom=30 (其他參數采用軟件默認設置).最后,我們的ACMOM算法采用C++語言編寫實現.所有的實驗程序都運行在一臺Intel i7-2.8GHz包含有8G內存和安裝有Windows 7操作系統的計算機上。

4.3有效性實驗

4.3.1任意形狀聚類分析

第一組實驗中,我們考察ACMOM算法對于任意形狀類簇的聚類能力。所采用的數據集是文獻[16]中用于測試CHAMELEON算法的數據集DS1.1-1.4[33]。其中,數據集DS1.1-1.3各包含有8000個樣本點,數據集DS1.4包含有10000個樣本點.根據文獻[16]的實驗結果展示和分析,采用標準參數設定的CHAMELEON算法能夠較好地聚類上述數據集,而CURE算法對于這幾個數據集都出現了較大程度的錯誤劃分.圖3展示了原始數據集以及ACMOM算法的聚類結果,表明其對于任意形狀類簇具有良好的聚類效果。本組實驗中,我們設置ACMOM算法參數k = 28,圖3中具體描述了展示所截取的類簇數目C.

另外,Linkage Metric算法的測試結果對于上述幾個數據集都出現了明顯的錯誤劃分,這來自于其嚴格單調遞減的理論特性。限于篇幅原因,我們省略了對其聚類結果的展示.

4.3.2聚類質量分析


第二組實驗中,我們進一步使用DS2.1-2.4等真實數據集來測試比較ACMOM算法與其他幾種合并聚類算法的聚類質量.上述數據集都來自于UCI Machine Learning Repository[34],它們中的樣本點都事先貼有所屬類別標簽.表2對這些數據集的名稱、應用領域、大小、維度和真實類別數目分別做了介紹和統計.作為衡量標準,我們選取NMI (Normalized Mutual Information)和purity兩種常用尺度進行判斷[35].

當算法給出聚類結果為而真實類簇集合為時, NMI衡量了這兩組劃分的信息一致性,具有如下定義.

其中I是互信息函數, H是熵函數.

上式中n是數據集中樣本點的總數,并且.另外, purity表示了算法輸出類簇包含真實類簇最大比例的累積程度,具有如下定義.

NMI和purity的取值范圍都是[0,1],它們的值越大則說明聚類效果越好.表3顯示了幾種合并聚類算法對于數

據集DS2.1-2.4的聚類結果.其中,我們選擇算法的目標聚類數目為數據集包含的真實類簇數,即上式中M = L. 本組實驗中,我們設置ACMOM算法的參數k = 22.

?

Table 2 ?Statistics of datasets DS2.1-2.4

表2 ?數據集DS2.1-2.4的統計信息

Datasets

Name

Application Domain

# of points

# of dimensions

# of real clusters

DS2.1

Iris

Biology

150

4

3

DS2.2

Breast Cancer Wisconsin

Medicine

683

9

2

DS2.3

Vehicle Silhouettes

Transportation

846

18

4

DS2.4

Image Segmentation

Image Processing

2100

16

7

?

Table 3 ?NMI/purity score of agglomerative clustering algorithms

表3 ?測試不同合并聚類算法的NMI/purity值

Algorithm

Linkage Metric

CHAMELEON

ACMOM

SLINK

CLINK

ALINK

WARD

DS2.1

0.72/0.68

0.72/0.84

0.81/0.91

0.77/0.89

0.70/0.73

0.80/0.92

DS2.2

0.01/0.65

0.64/0.93

0.68/0.94

0.78/0.97

0.04/0.65

0.84/0.98

DS2.3

0.01/0.26

0.18/0.46

0.17/0.38

0.18/0.45

0.12/0.36

0.20/0.44

DS2.4

0.35/0.29

0.50/0.53

0.49/0.49

0.55/0.56

0.59/0.59

0.68/0.67

?

如表3中所示, ACMOM算法對于不同領域的真實數據集都表現出較好的聚類效果.特別對于數據集DS2.2和DS2.4, ACMOM算法相比其他幾種合并聚類算法表現出明顯優勢.


4.3.3系統樹圖質量分析

系統樹圖作為合并聚類算法的輸出結果,表達了具體聚類模型下樣本點間的層次性相似關系.為了衡量系統樹圖是否真實反映了數據集樣本點間的內在聯系,相似矩陣P、共表矩陣Pc和共表相關系數CPCC(Cophenetic Correlation Coefficient)常被用于判斷其質量[12,36].對于一個給定的數據集,相似矩陣P中的元素表示了樣本點間的歐氏距離.而共表矩陣Pc中的元素表示了系統樹圖中樣本點首次被合并至同一類簇時的節點高度.共表相關系數CPCC則用于衡量這兩個矩陣之間的相關程度,具有如下定義。

其中,而分別定義為

CPCC的取值范圍為[-1,1],它的值越大則系統樹圖越能反映出數據集的真實狀況.

第三組實驗中,為了比較合并聚類算法所生成系統樹圖的質量,我們采用不同類簇數目和不同維度的球形數據集DS3.1-DS3.8[37]進行測試,并使用CPCC作為衡量標準.其中,數據集DS3.1-3.3包含類簇數量不斷遞增的2維高斯分布樣本點;而數據集DS3.4-3.8則都來自于相同的高斯分布生成器,它們的樣本點維度依次遞增.這些數據集的二維或三維形狀如圖4所示,表4中描述了它們的詳細信息.

我們選擇將ACMOM算法與滿足單調遞減特性的Linkage Metric算法族進行比較.這些算法在理論上能夠保證類簇間距離排序的嚴格保持,不易陷入局部最優的困境,因而對于球形類簇具有良好的聚類效果.此外,由CHAMELEON不能生成完整的系統樹圖結構,因而無法對其計算CPCC值.本組實驗中,我們設置ACMOM算法的參數k = 22.具體的實驗結果如表5所示.

?

Table 4 ?Statistics of datasets DS3.1-3.5

表4 ?數據集DS3.1-3.5的統計信息

Datasets

DS3.1

DS3.2

DS3.3

DS3.4

DS3.5

DS3.6

DS3.7

DS3.8

# of points

3000

5250

7500

2026

2701

4051

5401

6751

# of dimensions

2

2

2

3

4

6

8

10

# of clusters

20

35

50

10

10

10

10

10

?

Table 5 ?CPCC of dendrograms by agglomerative clustering algorithms

表5 ?測試不同合并聚類算法下系統樹圖的CPCC值

Algorithm

DS3.1

DS3.2

DS3.3

DS3.4

DS3.5

DS3.6

DS3.7

DS3.8

SLINK

0.61

0.58

0.52

0.79

0.86

0.91

0.92

0.88

CLINK

0.72

0.72

0.67

0.79

0.90

0.84

0.92

0.87

ALINK

0.74

0.70

0.66

0.83

0.92

0.92

0.94

0.91

WARD

0.74

0.68

0.64

0.81

0.82

0.90

0.91

0.87

ACMOM

0.74

0.70

0.68

0.83

0.92

0.92

0.93

0.91

?

從表5中可以看出, ACMOM算法的聚類結果一直保持有幾乎最高的CPCC值.相比大部分經典合并聚類技術,它能更好地反映出樣本點間的真實距離.因而說明ACMOM算法生成的系統樹圖對于保證合并聚類過程中類簇之間的距離遞增順序具有一定的作用。


網易云產品免費體驗館,無套路試用,零成本體驗云計算價值。 ?

本文來自網易實踐者社區,經作者錢烽授權發布

更多網易研發、產品、運營經驗分享請訪問網易云社區


相關文章:
【推薦】?網易鄭棟:數據采集與分析的那些事——從數據埋點到AB測試
【推薦】?八月暑期福利,10本Python熱門書籍免費送!
【推薦】?數據遷移的應用場景與解決方案Hamal

轉載于:https://www.cnblogs.com/163yun/p/9662203.html

總結

以上是生活随笔為你收集整理的最小化局部边际的合并聚类算法(中篇)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。