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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

聚类算法 距离矩阵_快速且不需要超参的无监督聚类方法

發布時間:2024/7/5 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 聚类算法 距离矩阵_快速且不需要超参的无监督聚类方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論文: Ef?cient Parameter-free Clustering Using First Neighbor Relations

Efficient Parameter-free Clustering Using First Neighbor Relations?arxiv.org

代碼:

https://github.com/ssarfraz/FINCH-Clustering?github.com

此文是CVPR2019的oral文章。兩個字評價:快!好!

方法

本文提出了一種parameter-free,并且效果卓越,效率奇高的無監督聚類方法。聚類的方法非常簡單,簡單到一個公式就可以說清聚類的方法:

其中

代表第 個點的最近鄰點。 是數據的鄰接矩陣。

觀察上述鄰接的計算方式可以發現,只要在符合以下情況時,鄰接矩陣中的值為1:

  • :對于第i個點來說,我的最近鄰就是第j個點
  • :對于第i個點來說,我是第j個點的最近鄰
  • :第i個點的最近鄰點和第j個點的最近鄰點相同

例子

----------------------------------------------------------------------------------

以太陽為例,解釋整個聚類的過程:

我們知道太陽系中各個行星的最近鄰(與當前行星距離最近的行星)關系如下:

根據這些行星的最近鄰情況,以及上述公式的計算方法可以得到鄰接矩陣:

以第一行為例(i=1, 即Mercury),

  • 條件1: ,在第i個行星的最近鄰的處標上1;Mercury的最近鄰是Moon,其id為4,所以(1,4)為1
  • 條件2: ,誰的最近鄰是我,那就在誰那兒標1,結果發現沒有行星的最近鄰是Mercury,所以不標1
  • 條件3: ,誰的最近鄰和我的最近鄰一樣(即誰的最近鄰也是Moon),那就在誰那兒標1。發現Mars的最近鄰也是Moon,其id為5,所以在(1,5)處也標記為1.

根據上述的過程,最終得到的鄰接矩陣是個對稱矩陣。并且,根據這個鄰接矩陣可以得到如下一個有向圖:

通過這個圖可以明顯看出,所有的行星被分為了三個cluster。

上述三個步驟:

  • 計算每個數據的最近鄰
  • 根據公式計算鄰接矩陣
  • 根據鄰接矩陣得到有向圖,從而完成一次聚類
  • 可以將數據進行第一次聚類,上面的例子中,此聚類算法一次就聚類得到了3個cluster。

    接下來可以對每個圖結構重新進行特征計算,比如上面的三個cluster可以通過求均值的方式得到三個cluster center,這個三個center可以認為是三個樣本數據,然后重復上述的三個步驟,就可以對這三個cluster進行進一步的聚類。最終,所有的樣本都會被聚成一個cluster。

    在這一步步聚類的過程中,不同的step可以得到不同的聚類中心個數,我們只要選取適合我們的聚類中心個數,并把那一步的聚類結果拿出來就可以了。

    ----------------------------------------------------------------------------------

    總結

    1、parameter-free:本文是一種parameter-free的無監督聚類方法,同時也是一種層級聚類方法(Hierarchical Clustering)。 在聚類的過程中不需要指定cluster數量。當然,作者也在文中給出了指定cluster數量的聚類方法,具體可以看論文中的描述。

    假設一開始有共有10000個樣本,那么一開始認為有10000個cluster,在經過第一個聚類后,變成了2000個cluster,再一次聚類后變成了400個cluster,直到最后變成了一個cluster。而我們只需要根據聚類效果,選取某個cluster個數就可以了,比如聚類成400個cluster效果不錯,那我們就把這一步的聚類結果拿出來就可以了。

    作者給出了一些數據集中cluster個數和聚類step的關系圖:

    2、快速:本文的方法不需要計算所有sample之間的距離,只需要找到每個sample的最近鄰即可。而尋找最近鄰的方法有現成的快速的方法,比如(FLANN)等。下圖是一張聚類時間表,可以看出本文方法(FINCH)很有優勢。

    總結

    以上是生活随笔為你收集整理的聚类算法 距离矩阵_快速且不需要超参的无监督聚类方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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