dbscan算法中 参数的意义_无监督机器学习中,最常见的聚类算法有哪些?
在機器學習過程中,很多數據都具有特定值的目標變量,我們可以用它們來訓練模型。
但是,大多數情況下,在處理實際問題時,數據不會帶有預定義標簽,因此我們需要開發能夠對這些數據進行正確分類的機器學習模型,通過發現這些特征中的一些共性,來預測新數據的類。
無監督學習分析過程
開發無監督學習模型需遵循的整個過程,總結如下:
無監督學習的主要應用是:
- 按某些共享屬性對數據集進行分段。
- 檢測不適合任何組的異常。
- 通過聚合具有相似屬性的變量來簡化數據集。
總之,主要目標是研究數據的內在(和通常隱藏)的結構。這種技術可以濃縮為無監督學習試圖解決的兩種主要類型的問題。如下所示:
- 聚類
- 維度降低
在本文中,我們將重點關注聚類問題。
聚類分析
在基本術語中,聚類的目的是在數據中的元素內找到不同的組。為此,聚類算法在數據中找到結構,以使相同聚類(或組)的元素彼此比來自不同聚類的元素更相似。
以可視方式想象一下,我們有一個電影數據集,并希望對它們進行分類。我們對電影有如下評論:
機器學習模型將能夠在不知道數據的任何其他內容的情況下推斷出兩個不同的類。
這些無監督學習算法具有令人難以置信的廣泛應用,并且對于解決諸如音樂、文檔或電影分組之類的實際問題,以及基于其購買來找到具有共同興趣的客戶非常有用。
下面是一些最常見的聚類算法:
- K均值聚類
- 分層聚類
- 基于密度的掃描聚類(DBSCAN)
- 高斯聚類模型
K均值聚類
K均值算法非常容易實現,并且在計算上非常有效。這是它為何如此受歡迎的主要原因。但是,在非球形的群體中識別類別并不是很好。
關鍵概念
- 平方歐幾里德距離(Squared Euclidean Distance)
K均值中最常用的距離是歐氏距離平方。m維空間中兩點x和y之間的距離的示例是:
這里,j是采樣點x和y的第j維(或特征列)。
- 集群慣性
集群慣性是聚類上下文中給出的平方誤差之和的名稱,表示如下:
其中μ(j)是簇j的質心,并且如果樣本x(i)在簇j中則w(i,j)是1,否則是0。
K均值可以理解為試圖最小化群集慣性因子的算法。
算法步驟
K-Means超參數
- 簇數:要生成的簇和質心數。
- 最大迭代次數:單次運行的算法。
- 數字首字母:算法將使用不同的質心種子運行的次數。根據慣性,最終結果將是連續運行定義的最佳輸出。
K-Means的挑戰
- 任何固定訓練集的輸出都不會始終相同,因為初始質心是隨機設置的,會影響整個算法過程。
- 如前所述,由于歐幾里德距離的性質,在處理采用非球形形狀的聚類時,其不是一種合適的算法。
應用K均值時要考慮的要點
- 必須以相同的比例測量特征,因此可能需要執行z-score標準化或max-min縮放。
- 處理分類數據時,我們將使用get dummies功能。
- 探索性數據分析(EDA)非常有助于概述數據并確定K-Means是否為最合適的算法。
- 當存在大量列時,批訓練(minibatch)的方法非常有用,但是不太準確。
如何選擇正確的K值
選擇正確數量的聚類是K-Means算法的關鍵點之一。要找到這個數字,有一些方法:
- 領域知識
- 商業決策
- 肘部法則
由于與數據科學的動機和性質相一致,肘部法則是首選方法,因為它依賴于支持數據的分析方法來做出決定。
肘部法則
肘部法則用于確定數據集中正確的簇數。它的工作原理是繪制K的上升值與使用該K時獲得的總誤差。
目標是找到每個群集不會顯著上升方差的k。
在這種情況下,我們將選擇肘部所在的k = 3。
K均值限制
雖然K均值是一種很好的聚類算法,但是當我們事先知道聚類的確切數量以及處理球形分布時,它是最有用的。
下圖顯示了如果我們在每個數據集中使用K均值聚類,即使我們事先知道聚類的確切數量,我們將獲得什么:
將K均值算法作為評估其他聚類方法性能的基準是很常見的。
分層聚類
分層聚類是基于prototyope的聚類算法的替代方案。分層聚類的主要優點是不需要指定聚類的數量,它會自己找到它。此外,它還可以繪制樹狀圖。樹狀圖是二元分層聚類的可視化。
在底部融合的觀察是相似的,而在頂部的觀察是完全不同的。對于樹狀圖,基于垂直軸的位置而不是水平軸的位置進行結算。
分層聚類的類型
這種類型的聚類有兩種方法:集聚和分裂。
- 分裂:此方法首先將所有數據點放入一個集群中。 然后,它將迭代地將簇分割成較小的簇,直到它們中的每一個僅包含一個樣本。
- 集聚:此方法從每個樣本作為不同的集群開始,然后將它們彼此靠近,直到只有一個集群。
單鏈接和完整鏈接
這些是用于凝聚層次聚類的最常用算法。
- 單鏈接
作為一種凝聚算法,單鏈接首先假設每個樣本點都是一個簇。然后,它計算每對聚類的最相似成員之間的距離,并合并兩個聚類,其中最相似成員之間的距離最小。
- 完整鏈接
雖然與單鏈接類似,但其理念恰恰相反,它比較了一對集群中最不相似的數據點來進行合并。
分層聚類的優點
- 由此產生的層次結構表示可以提供非常豐富的信息。
- 樹狀圖提供了一種有趣且信息豐富的可視化方式。
- 當數據集包含真正的層次關系時,它們特別強大。
分層聚類的缺點
- 分層聚類對異常值非常敏感,并且在其存在的情況下,模型性能顯著降低。
- 從計算上講,分層聚類非常昂貴。
基于密度的噪聲應用空間聚類(DBSCAN)
DBSCAN是另一種特別用于正確識別數據中的噪聲的聚類算法。
DBSCAN分配標準
它基于具有指定半徑ε的多個點,并且為每個數據點分配了特殊標簽。分配此標簽的過程如下:
- 它是指定數量(MinPts)的相鄰點。 如果存在落在ε半徑內的此MinPts點數,則將分配核心點。
- 邊界點將落在核心點的ε半徑內,但相鄰數將少于MinPts數。
- 每隔一點都是噪點。
DBSCAN 算法
該算法遵循以下邏輯:
下圖總結了這個過程和注釋符號。
DBSCAN與K均值聚類
DBDSCAN的優點
- 我們不需要指定群集的數量。
- 集群可采用的形狀和大小具有高度靈活性。
- 識別和處理噪聲數據和異常值非常有用。
DBSCAN 的缺點
- 處理兩個集群可到達的邊界點時比較困難。
- 它沒有找到不同密度的井簇。
高斯混合模型 (GMM)
高斯混合模型是概率模型,其假設所有樣本是從具有未知參數的有限數量的高斯分布的混合生成的。
它屬于軟群集算法組,其中每個數據點都屬于數據集中存在的每個群集,但每個群集的成員資格級別不同。此成員資格被指定為屬于某個群集的概率,范圍從0到1。
例如,突出顯示的點將同時屬于集群A和B,但由于其與它的接近程度而具有更高的集群A的成員資格。
GMM假設每個聚類遵循概率分布,可以是高斯分布或正態分布。它是K-Means聚類的推廣,包括有關數據的協方差結構以及潛在高斯中心的信息。
一維GMM分布
GMM將在數據集中搜索高斯分布并將它們混合。
二維GMM
當具有的多變量分布如下時,對于數據集分布的每個軸,平均中心將是μ+σ。
GMM 算法
它是一種期望最大化算法,該過程可概括如下:
GMM 的優點
- 它是一種軟聚類方法,可將樣本成員分配給多個聚類。這一特性使其成為學習混合模型的最快算法。
- 集群的數量和形狀具有很高的靈活性。
GMM 的缺點
- 它對初始值非常敏感,這將極大地影響其性能。
- GMM可能會收斂到局部最小值,這將是次優解決方案。
- 當每個混合物的點數不足時,算法會發散并找到具有無限可能性的解,除非人為地規范數據點之間的協方差。
聚類驗證
聚類驗證是客觀和定量評估聚類結果的過程。我們將通過應用集群驗證索引來進行此驗證。主要有三類:
外部指數
這些是我們在標記原始數據時使用的評分方法,這不是這類問題中最常見的情況。我們將一個聚類結構與事先已知的信息相匹配。
最常用的索引是Adjusted Rand索引。
- 調整后的蘭特指數(ARI)€[-1,1]
我們應首先對其組件進行定義,以便了解:
- a:是C和K中同一群集中的點數
- b:是C和K中不同群集中的點數。
- n =是樣本總數
ARI可以獲得從-1到1的值。值越高,它與原始數據匹配越好。
內部驗證指數
在無監督學習中,我們將使用未標記的數據,這時內部索引更有用。
最常見的指標之一是輪廓系數。
- 剪影系數:
每個數據點都有一個輪廓系數。
- a =同一群集中與其他樣本i的平均距離
- b =最近鄰集群中與其他樣本i的平均距離
輪廓系數(SC)的值是從-1到1。值越高,選擇的K值越好。但是相對于沒有達到理想值的情況,超過理想的K值對我們會更加不利。
輪廓系數僅適用于某些算法,如K-Means和層次聚類。它不適合與DBSCAN一起使用,我們將使用DBCV代替。
總結
以上是生活随笔為你收集整理的dbscan算法中 参数的意义_无监督机器学习中,最常见的聚类算法有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 游戏本哪个牌子好些(游戏本哪个牌子好)
- 下一篇: 家具厂安全生产反馈问题整改报告怎么写?