無監督學習的12個最重要的演算法介紹及其用例總結

WBOY
發布: 2023-04-12 14:13:09
轉載
1930 人瀏覽過


無監督學習(Unsupervised Learning)是和監督學習相對的另一種主流機器學習的方法,無監督學習是沒有任何的資料標註只有資料本身。

無監督學習的12個最重要的演算法介紹及其用例總結

無監督學習演算法有幾種類型,以下是其中最重要的12種:

1、聚類演算法根據相似性將資料點分組成簇

k-means聚類是一種流行的聚類演算法,它將資料分割為k組。

2、降維演算法降低了資料的維數,使其更容易視覺化和處理

主成分分析(PCA)是一種降維演算法,將資料投影到低維空間,PCA可以用來將資料降維到其最重要的特徵。

3.異常偵測演算法辨識異常值或異常資料點

支援向量機是可以用於異常檢測(範例)。異常檢測演算法用於檢測資料集中的異常點,異常檢測的方法有很多,但大多數可以分為有監督和無監督兩種。監督方法需要標記資料集,而無監督方法不需要。

無監督異常檢測演算法通常是基於密度估計,試圖找到資料空間中密集的區域外的點。

一個簡單的方法是計算每個點到k個最近鄰居的平均距離。距離相鄰點非常遠的點很可能是異常點。

還有許多基於密度的異常偵測演算法,包括局部離群因子(Local Outlier Factor,LOF)和支援向量資料描述(Support Vector Domain Description,SVDD)。這些演算法比簡單的k近鄰方法更複雜,通常可以檢測到更細微的異常。大多數異常檢測演算法都需要進行調整,例如指定一個參數來控制演算法對異常的敏感度。如果參數過低,演算法可能會漏掉一些異常。如果設定過高,演算法可能會產生誤報(將正常點識別為異常點)。

4、分割演算法將資料分成段或群組

分割演算法可以將影像分割為前景和背景。

這些演算法可以在不需要人工監督的情況下自動將資料集分割成有意義的群組。這個領域中比較知名的一個演算法是k-means演算法。此演算法透過最小化組內距離平方和將資料點分成k組。

另一種流行的分割演算法是mean shift演算法。該演算法透過迭代地將每個資料點移向其局部鄰域的中心來實現。 mean shift對異常值具有較強的穩健性,可以處理密度不均勻的資料集。但是在大型資料集上運行它的計算成本可能很高。

高斯混合模型(GMM)是一種可用於分割的機率模型。以前gmm需要大量的計算來訓練,但最近的研究進展使其更快。 gmm非常靈活,可以用於任何類型的資料。但是它們有時並不能總是產生最好的結果。對於簡單的資料集,k-means是一個很好的選擇,而gmm則更適合複雜的資料集。 mean shift可以用於任何一種情況,但在大型資料集上計算的成本會很高。

5、去雜訊演算法減少或移除資料中的雜訊

小波轉換可以用於影像去雜訊。但是各種來源可能會產生噪聲,包括資料損壞、缺失值和異常值。去噪演算法透過減少資料中的雜訊量來提高無監督學習模型的準確性。

現有的去雜訊演算法有多種,包括主成分分析(PCA)、獨立成分分析(ICA)和非負矩陣分解(NMF)。

6、連結預測演算法預測資料點之間的未來連結(例如,網路中兩個節點之間的未來互動)

連結預測可用於預測哪些人將成為社交網絡中的朋友。較常用的連結預測演算法之一是優先連接演算法,它預測如果兩個節點有許多現有連接,則它們更有可能被連接。

另一種流行的鏈路預測演算法是局部路徑演算法,它預測如果兩個節點共享一個共同的鄰居,那麼它們更有可能被關聯。該演算法可以捕捉“結構等價”的概念,因此在生物網路中經常使用。

最後,random walk with restart演算法也是一種連結預測演算法,它模擬網路上的一個隨機走動的人,在隨機節點[17]處重新啟動步行者。然後,步行者到達特定節點的機率被用來衡量兩個節點之間存在連接的可能性。

7、強化學習演算法透過反覆試驗來進行學習

Q-learning是基於值的學習演算法的一個例子;它實現簡單且通用。但是Q-learning有時會收斂到次優解。另一個例子是TD learning,它在計算上Q-learning學習要求更高,但通常可以找到更好的解決方案。

8、生成模型:演算法使用訓練資料產生新的資料

自編碼器是生成模型,可用於從影像資料集建立獨特的影像。在機器學習中,生成模型是一種捕捉一組資料的統計屬性的模型。這些模型可以用來產生新的數據,就像它們所使用的訓練的數據一樣。

產生模型用於各種任務,如無監督學習,資料壓縮和去雜訊。生成模型有很多種,例如隱馬可夫模型和玻爾茲曼機。每種模型都有其優缺點,並且適用於不同的任務。

隱馬可夫模型擅長對順序資料建模,而玻爾茲曼機器更擅長對高維度資料建模。透過在無標記資料上訓練它們,生成模型可以用於無監督學習。一旦模型經過訓練,就可以用來產生新的資料。然後這些產生的數據可以由人類或其他機器學習演算法進行標記。這個過程可以重複,直到生成模型學會產生數據,就像想要的輸出。

9、隨機森林是一種機器學習演算法,可用於監督和無監督學習

對於無監督學習,隨機森林可以找到一組相似的條目,識別異常值,並壓縮資料。

對於監督和無監督任務隨機森林已被證明優於其他流行的機器學習演算法(如支援向量機)。隨機森林是無監督學習的一個強大工具,因為它們可以處理具有許多特徵的高維度資料。它們也抵制過擬合,這意味著它們可以很好地推廣到新數據。

10、DBSCAN是一種基於密度的聚類演算法,可用於無監督學習

它基於密度,即每個區域的點的數量。如果 DBSCAN 的組內的點很靠近,則將它們指向一個群組,如果點相距較遠的點則會忽略。與其他聚類演算法相比,DBSCAN具有一些優勢。它可以找到不同大小和形狀的簇,並且不需要使用者預先指定簇的數量。此外,DBSCAN對異常值不敏感,這意味著它可以用來找到其他資料集沒有很好地表示的資料。但是DBSCAN也有一些缺點。例如,它可能很難在雜訊很大的資料集中找到良好的簇。另外就是DBSCAN需要一個密度閾值,可能不適用於所有資料集。

11、Apriori演算法用於尋找關聯、頻繁項集和順序模式

Apriori演算法是第一個關聯規則挖掘演算法,也是最經典的演算法。它·的工作原理是先找到資料中的所有頻繁項集,然後使用這些項集產生規則。

Apriori演算法的實作方式有很多種,可以針對不同的需求進行客製化。例如,可以控制支持度和置信度閾值以找到不同類型的規則。

12、Eclat演算法從事務資料庫中挖掘頻繁項目集,可用於購物車分析、入侵偵測和文字探勘

Eclat演算法是一種深度優先演算法,採用垂直資料表示形式,在概念格理論的基礎上利用基於前綴的等價關係將搜尋空間(概念格)劃分為較小的子空間(子概念格)。

以上是無監督學習的12個最重要的演算法介紹及其用例總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!