一文解讀聚類中的兩種流行算法

2021-02-23 量子位
原作:Anuja Nagpal
謝陽 編譯自 Medium
量子位 出品 | 公眾號 QbitAI

在這篇文章中,Nagpal以簡明易懂的語言解釋了無監督學習中的聚類(Clustering)問題,量子位將全文編譯整理,與大家分享。

何為聚類?

「聚類」顧名思義,就是將相似樣本聚合在一起,屬於機器學習中的無監督學習問題。聚類的目標是找到相近的數據點,並將相近的數據點聚合在一起。

為什麼選擇聚類?

將相似的實體聚合有助於刻畫不同類別的屬性。換句話說,這將讓我們深入了解不同類別的潛在模式。目前,有很多對未標記數據分類的應用,比如可以根據聚類將客戶分為幾類,之後對沒類客戶使用不同的算法使商家收益最大化。再比如,將相似話題的document分到一起。當數據維度較高時,可以採用聚類降維。

聚類算法是如何工作的?

有很多算法是為了實現聚類而開發的,我們挑出兩個最流行且應用最廣泛的兩個來看看。

1.K-均值聚類算法

2.層次聚類

K-均值聚類

1.以你想要的簇的數量K作為輸入,隨機初始化每個簇的中心。

2.現在,在數據點和中心點的歐氏距離,將每個數據點分配給離它最近的簇。

3.將第二步中每個簇數據點的均值作為新的聚類中心。

4.重複步驟2和步驟3直到聚類中心不再發生變化。

你可能會問,如何在第一步中決定K值?

一種「肘部法則」(Elbow Method)可以用來確定最佳聚類數。你可以在K值範圍內運行K-均值聚類,並在Y軸上繪製「可解釋方差的比例」,在X軸上繪製K值。

在下面這張圖片中可以注意到,當簇擴大到三個以上時,就不能對數據很好建模了。第一個簇增加了很多信息,但某些時候,邊際收益將開始下降。

層次聚類

與K-均值聚類不同的是,層次聚類中每個數據點都屬於一類。顧名思義,它構建層次結構,在下一步中,它將兩個最近的數據點合併在一起,並將其合併到一個簇中。

1.將每個數據點分配給它自己的簇。

2.使用歐氏距離找到最接近的一組簇,並將它們合併為一個簇中。

3.計算兩個最近的簇之間的距離,並結合起來,直到所有簇都聚集在一起。

K值的選取由下圖中平行於X軸的虛線確定,從而確定最優簇數量。

總結下來,使用聚類算法時需要注意:

聚類需遵守一個原則,即每一類數據點的數量規模最好相差不大,因為計算距離很重要。

在形成簇之前處理特異值數據,因為它可以影響數據點之間的距離。

最後,附文章原文連結:

https://towardsdatascience.com/clustering-unsupervised-learning-788b215b074b

量子位AI社群11群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot4入群;

此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。

進群請加小助手微信號qbitbot4,並務必備註相應群的關鍵詞~通過審核後我們將邀請進群。(專業群審核較嚴,敬請諒解)

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

相關焦點

  • 機器學習中的聚類算法有哪幾種?
    來源:博學谷 作者:照照目前,聚類算法被廣泛應用於用戶畫像、廣告推薦、新聞推送和圖像分割等等。聚類算法是機器學習中一種「數據探索」的分析方法,它幫助我們在大量的數據中探索和發現數據的結構。那麼機器學習中的聚類算法有哪幾種呢?
  • 聚類之EM算法
    定義:在統計計算中,最大期望(EM)算法是在概率模型中(E步)尋找參數最大似然估計或者最大後驗估計(M步)的算法,其中概率模型依賴於無法觀測的隱藏變量(LatentVariable),聚類應用中就是隱藏的類別。
  • 聚類算法(Clustering Algorithms)之層次聚類(Hierarchical Clustering)
    在之前的系列中,大部分都是關於監督學習(除了PCA那一節),接下來的幾篇主要分享一下關於非監督學習中的聚類算法(clustering algorithms
  • 機器學習中五種常用的聚類算法
    機器學習中五種常用的聚類算法 李倩 發表於 2018-05-25 17:10:51 聚類是機器學習中一種重要的無監督算法,它可以將數據點歸結為一系列特定的組合。
  • 如何正確選擇聚類算法?|CSDN博文精選
    本文適用於菜鳥數據科學家或想提升聚類算法能力的專家。下文包括最廣泛使用的聚類算法及其概況。根據每種方法的特殊性,本文針對其應用提出了建議。四種基本算法以及如何選擇聚類模型可以分為四種常見的算法類別。儘管零零散散的聚類算法不少於100種,但是其中大部分的流行程度以及應用領域相對有限。
  • 數據科學中必須熟知的5種聚類算法
    今天我們來看看,作為數據科學家需要知道並掌握的五種比較比較流行的聚類算法。K-means 聚類算法K-means 聚類算法 可能是大家最為熟悉的聚類算法。它在許多的工業級數據科學和機器學習課程中都有被講解。並且容易理解和實現相應功能的代碼 。
  • 聚類算法中的若干挑戰問題
    國防科技大學祝恩教授圍繞聚類算法,探討在實際應用中面臨的若干現實挑戰問題。作者:祝恩,國防科技大學計算機學院教授聚類是模式識別、機器學習、數據挖掘等領域中的基礎算法,在商業選址、金融產品推薦、異常檢測等方面有廣泛應用,但在實際應用中聚類可能遇到一些現實挑戰問題。物以類聚,人以群分。
  • 無監督機器學習中,最常見的聚類算法有哪些?
    這種技術可以濃縮為無監督學習試圖解決的兩種主要類型的問題。聚類分析在基本術語中,聚類的目的是在數據中的元素內找到不同的組。為此,聚類算法在數據中找到結構,以使相同聚類(或組)的元素彼此比來自不同聚類的元素更相似。以可視方式想像一下,我們有一個電影數據集,並希望對它們進行分類。
  • 二十三、聚類算法介紹
    聚類算法聚類:數據對象的集合在同一個聚類中的對象彼此相似不同聚類中的對象則差別較大聚類分析將物理或抽象對象的集合分組成為由類似的對象組成的多個類的過程聚類是一種無指導的學習:沒有預定義的類別,觀察式學習聚類分析的典型應用在GIS系統中,對相似區域進行聚類,產生主題地圖檢測空間聚類,並給出它們在空間數據挖掘中的解釋
  • 如何為數據集選擇正確的聚類算法?
    它包括最廣泛使用的聚類算法及其深入的綜述。根據每種方法的特殊性,提供了考慮其應用的建議。四種基本算法以及如何選擇一種根據聚類模型,可以區分四種常見的算法類別。一般而言,算法不少於100種,但是它們的流行程度以及應用領域都很適中。
  • 聚類算法 Hierarchical Clustering算法
    Hierarchical Clustering算法概述HC算法,又稱層次聚類算法,就是按照某種方法進行層次分類,直到滿足某種條件為止。n_clusters:聚類的個數;linkage:指定層次聚類判斷相似度的方法,有以下三種;ward:組間距離等於兩類對象之間的最小距離(即single-linkage聚類);average:組間距離等於兩組對象之間的平均距離(average-linkage
  • 有了K均值聚類,為什麼還需要DBSCAN聚類算法?
    每一個觀測最終都成為某個聚類的一部分,即使這些觀測在向量空間中分散得很遠。由於聚類依賴於聚類元素的均值,因此每個數據點在形成聚類中都起著作用。數據點的輕微變化可能會影響聚類結果。由於聚類的形成方式,這個問題在DBSCAN中大大減少。這通常不是什麼大問題,除非遇到一些具有古怪形狀的數據。
  • 聚類算法簡析(一):樸素貝葉斯算法的場景案例
    本文作者通過一些場景案例,帶領大家了解一下樸素貝葉斯算法作為聚類算法中的一員,如何來區分各類數組。通過一組參數模型來區分互斥群組中的個體十分常見,我們可以使用樸素貝葉斯分析來應用於這種場景,取決於模型的相似矩陣算法常常運用在估算決策論框架的矩陣中。
  • Kmeans聚類算法
    我們之前遇到的所有機器學習算法都屬於帶標籤的監督算法,而實現生活中大部分數據是不帶標籤的,從今天起我們要學一些處理不帶標籤數據的非監督算法,先從Kmeans聚類算法開始,我們將從以下幾個方面來介紹Kmeans聚類算法什麼是聚類?
  • 一文詳解聚類和降維(附實例、代碼)
    Personix 人口學特徵聚類的一部分他們的白皮書表明他們使用了重心聚類(centroid clustering)和主成分分析,這兩種技術在這一節都有覆蓋。聚類的目標是為數據點分組,使得不同聚類中的數據點是不相似的,同一聚類中的數據點則是類似的。使用 K 均值聚類,我們希望將我們的數據點聚類為 K 組。K 更大時,創造的分組就更小,就有更多粒度;K 更小時,則分組就更大,粒度更少。該算法的輸出是一組「標籤」,這些標籤將每個數據點都分配到了 K 組中的一組。
  • 聚類Clustering算法理論
    聚類算法(k-mean又稱K-均值)聚類Clusteringlog 2021/10/17 19:47(中途做其他事了
  • 機器學習算法基礎:層次聚類詳解
    層次聚類 層次聚類假設類別之間存在層次結構,將樣本聚到層次化的類中。所謂層次就是一層一層的進行聚類,可以採用自頂向下的聚類策略(分裂),也可以採用自下而上的策略(凝聚)。
  • 算法雜貨鋪——k均值聚類(K-means)
    但是很多時候上述條件得不到滿足,尤其是在處理海量數據的時候,如果通過預處理使得數據滿足分類算法的要求,則代價非常大,這時候可以考慮使用聚類算 法。聚類屬於無監督學習,相比於分類,聚類不依賴預定義的類和類標號的訓練實例。
  • k-means聚類算法原理總結
    小批量處理的k-means聚類算法5. k值的選取6. k-means聚類算法不適用的幾個場景7. k-means與knn區別8. 小結聚類算法性能度量的文章提到若簇類相似度好簇間的相似度差,則聚類算法的性能較好。我們基於此定義k-means聚類算法的目標函數: 其中
  • 機器學習聚類算法綜述
    基本上這就是DBSCAN算法的主要內容了,是不是很簡單?但是我們還是有三個問題沒有考慮。第一個是一些異常樣本點或者說少量游離於簇外的樣本點,這些點不在任何一個核心對象在周圍,在DBSCAN中,我們一般將這些樣本點標記為噪音點。