Canopy聚類演算法

來源:互聯網
上載者:User

標籤:方法   應用   image   nic   階段   其他   bsp   精度   osc   

一、概念    

與傳統的聚類演算法(比如K-means)不同,Canopy聚類最大的特點是不需要事先指定k值(即clustering的個數),因此具有很大的實際應用價值。與其他聚類演算法相比,Canopy聚類雖然精度較低,但其在速度上有很大優勢,因此可以使用Canopy聚類先對資料進行“粗”聚類,得到k值後再使用K-means進行進一步“細”聚類。這種Canopy+K-means的混合聚類方式分為以下兩步:

 

 Step1、聚類最耗費計算的地方是計算對象相似性的時候,Canopy聚類在第一階段選擇簡單、計算代價較低的方法計算對象相似性,將相似的對象放在一個子集中,這個子集被叫做Canopy ,通過一系列計算得到若干Canopy,Canopy之間可以是重疊的,但不會存在某個對象不屬於任何Canopy的情況,可以把這一階段看做資料預先處理;

 Step2、在各個Canopy 內使用傳統的聚類方法(如K-means),不屬於同一Canopy 的對象之間不進行相似性計算。

      從這個方法起碼可以看出兩點好處:首先,Canopy 不要太大且Canopy 之間重疊的不要太多的話會大大減少後續需要計算相似性的對象的個數;其次,類似於K-means這樣的聚類方法是需要人為指出K的值的,通過Stage1得到的Canopy 個數完全可以作為這個K值,一定程度上減少了選擇K的盲目性。

二、聚類精度

      對傳統聚類來說,例如K-means、Expectation-Maximization、Greedy Agglomerative Clustering,某個對象與Cluster的相似性是該點到Cluster中心的距離,那麼聚類精度能夠被很好保證的條件是:

      對於每個Cluster都存在一個Canopy,它包含所有屬於這個Cluster的元素。

      如果這種相似性的度量為當前點與某個Cluster中離的最近的點的距離,那麼聚類精度能夠被很好保證的條件是:

      對於每個Cluster都存在若干個Canopy,這些Canopy之間由Cluster中的元素串連(重疊的部分包含Cluster中的元素)。

      資料集的Canopy劃分完成後,類似於:

三、Canopy演算法流程

      (1)、將資料集向量化得到一個list後放入記憶體,選擇兩個距離閾值:T1和T2,其中T1 > T2,對應,實線圈為T1,虛線圈為T2,T1和T2的值可以用交叉校正來確定;

      (2)、從list中任取一點P,用低計算成本方法快速計算點P與所有Canopy之間的距離(如果當前不存在Canopy,則把點P作為一個Canopy),如果點P與某個Canopy距離在T1以內,則將點P加入到這個Canopy;

      (3)、如果點P曾經與某個Canopy的距離在T2以內,則需要把點P從list中刪除,這一步是認為點P此時與這個Canopy已經夠近了,因此它不可以再做其它Canopy的中心了;

      (4)、重複步驟2、3,直到list為空白結束。

Canopy聚類演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.