聚類演算法 - 概述



聚類介紹

聚類方法是最有用的無監督機器學習方法之一。這些方法用於查詢資料樣本之間的相似性和關係模式,然後根據特徵將這些樣本聚類到具有相似性的組中。

聚類很重要,因為它確定了當前未標記資料中的內在分組。它們基本上對資料點做出一些假設來構成它們的相似性。每個假設都會構建不同但同樣有效的叢集。

例如,下圖顯示了聚類系統將相似型別的資料分組到不同的叢集中:

Clustering

叢集形成方法

叢集不必形成球形。以下是其他一些叢集形成方法:

基於密度的

在這些方法中,叢集形成密集區域。這些方法的優點是它們具有良好的準確性和良好的合併兩個叢集的能力。例如,基於密度的噪聲應用空間聚類 (DBSCAN)、排序點以識別聚類結構 (OPTICS) 等。

基於層次的

在這些方法中,叢集形成基於層次的樹狀結構。它們有兩類,即凝聚的(自下而上的方法)和分裂的(自上而下的方法)。例如,使用代表的聚類 (CURE)、基於層次的平衡迭代歸約聚類 (BIRCH) 等。

分割槽

在這些方法中,透過將物件劃分為 k 個叢集來形成叢集。叢集的數量將等於分割槽的數量。例如,K均值、基於隨機搜尋的叢集大型應用程式 (CLARANS)。

網格

在這些方法中,叢集形成網格狀結構。這些方法的優點是所有在這些網格上進行的聚類操作都很快,並且獨立於資料物件的數量。例如,統計資訊網格 (STING)、查詢中的聚類 (CLIQUE)。

衡量聚類效能

關於 ML 模型最重要的考慮因素之一是評估其效能,或者您可以說模型的質量。在監督學習演算法的情況下,評估模型的質量很容易,因為我們已經為每個示例提供了標籤。

另一方面,在無監督學習演算法的情況下,我們並沒有那麼幸運,因為我們處理的是未標記的資料。但是我們仍然有一些指標可以使從業者洞察叢集的變化情況,具體取決於演算法。

在我們深入研究這些指標之前,我們必須理解這些指標僅評估模型之間的比較效能,而不是衡量模型預測的有效性。以下是我們可以在聚類演算法上部署的一些指標來衡量模型的質量:

輪廓分析

輪廓分析用於透過測量叢集之間的距離來檢查聚類模型的質量。它基本上為我們提供了一種評估引數的方法,例如藉助於輪廓分數的叢集數量。此分數衡量一個叢集中的每個點與相鄰叢集中的點的接近程度。

輪廓分數分析

輪廓分數的範圍為 [-1, 1]。其分析如下:

  • +1 分數 - 接近 +1 的輪廓分數表示樣本遠離其相鄰叢集。

  • 0 分數 - 0 的輪廓分數表示樣本位於或非常靠近分隔兩個相鄰叢集的決策邊界。

  • -1 分數 &minusl -1 的輪廓分數表示樣本已被分配到錯誤的叢集。

可以使用以下公式計算輪廓分數:

𝒔𝒊𝒍𝒉𝒐𝒖𝒆𝒕𝒕𝒆 𝒔𝒄𝒐𝒓𝒆=(𝒑−𝒒)/𝐦𝐚𝐱 (𝒑,𝒒)

這裡,𝑝 = 到最近叢集中的點的平均距離

並且,𝑞 = 到所有點的平均叢集內距離。

戴維斯-鮑爾丁指數

DB 指數是執行聚類演算法分析的另一個很好的指標。藉助 DB 指數,我們可以瞭解有關聚類模型的以下幾點:

  • 叢集是否彼此之間間隔良好?

  • 叢集的密度有多大?

我們可以使用以下公式計算 DB 指數:

$$DB=\frac{1}{n}\displaystyle\sum\limits_{i=1}^n max_{j\neq{i}}\left(\frac{\sigma_{i}+\sigma_{j}}{d(c_{i},c_{j})}\right)$$

這裡,𝑛 = 叢集數量

σi = 叢集 𝑖 中所有點到叢集質心 𝑐𝑖 的平均距離。

DB 指數越小,聚類模型越好。

鄧恩指數

它的工作原理與 DB 指數相同,但以下幾點有所不同:

  • 鄧恩指數僅考慮最壞情況,即彼此靠近的叢集,而 DB 指數則考慮聚類模型中所有叢集的離散度和分離度。

  • 隨著效能的提高,鄧恩指數也會增加,而當叢集間隔良好且密集時,DB 指數會變得更好。

我們可以使用以下公式計算鄧恩指數:

$$D=\frac{min_{1\leq i <{j}\leq{n}}P(i,j)}{mix_{1\leq i < k \leq n}q(k)}$$

這裡,𝑖,𝑗,𝑘 = 叢集的每個索引

𝑝 = 叢集間距離

q = 叢集內距離

ML 聚類演算法型別

以下是最重要的和有用的 ML 聚類演算法:

K均值聚類

此聚類演算法計算質心並迭代,直到找到最佳質心。它假設叢集的數量已知。它也稱為平面聚類演算法。演算法從資料中識別出的叢集數量由 K均值中的“K”表示。

均值漂移演算法

它是無監督學習中使用的另一種強大的聚類演算法。與 K均值聚類不同,它不作任何假設,因此它是一種非引數演算法。

層次聚類

它是另一種無監督學習演算法,用於將具有相似特徵的未標記資料點分組在一起。

我們將在接下來的章節中詳細討論所有這些演算法。

聚類的應用

我們可以在以下領域發現聚類很有用:

資料彙總和壓縮 - 聚類廣泛用於需要資料彙總、壓縮和減少的領域。示例包括影像處理和向量量化。

協作系統和客戶細分 - 由於聚類可用於查詢相似產品或相同型別的使用者,因此可用於協作系統和客戶細分領域。

充當其他資料探勘任務的關鍵中間步驟 - 叢集分析可以生成資料的緊湊摘要以進行分類、測試、假設生成;因此,它也充當其他資料探勘任務的關鍵中間步驟。

動態資料中的趨勢檢測 - 聚類也可用於透過對相似趨勢進行各種聚類來檢測動態資料中的趨勢。

社交網路分析 - 聚類可用於社交網路分析。示例包括在影像、影片或音訊中生成序列。

生物資料分析 - 聚類也可用於對影像、影片進行聚類,因此可成功用於生物資料分析。

廣告

© . All rights reserved.