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