無監督學習的12個最重要的算法介紹及其用例總結
無監督學習(Unsupervised Learning)是和監督學習相對的另一種主流機器學習的方法,無監督學習是沒有任何的數據標注只有數據本身。
無監督學習算法有幾種類型,以下是其中最重要的12種:
1、聚類算法根據相似性將數據點分組成簇
k-means聚類是一種流行的聚類算法,它將數據劃分為k組。
2、降維算法降低了數據的維數,使其更容易可視化和處理
主成分分析(PCA)是一種降維算法,將數據投影到低維空間,PCA可以用來將數據降維到其最重要的特征。
3.異常檢測算法識別異常值或異常數據點
支持向量機是可以用于異常檢測(示例)。異常檢測算法用于檢測數據集中的異常點,異常檢測的方法有很多,但大多數可以分為有監督和無監督兩種。監督方法需要標記數據集,而無監督方法不需要。
無監督異常檢測算法通?;诿芏裙烙?,試圖找到數據空間中密集的區域外的點。
一個簡單的方法是計算每個點到k個最近鄰居的平均距離。距離相鄰點非常遠的點很可能是異常點。
還有很多基于密度的異常檢測算法,包括局部離群因子(Local Outlier Factor,LOF)和支持向量數據描述(Support Vector Domain Description,SVDD)。這些算法比簡單的k近鄰方法更復雜,通??梢詸z測到更細微的異常。大多數異常檢測算法都需要進行調整,例如指定一個參數來控制算法對異常的敏感程度。如果參數過低,算法可能會漏掉一些異常。如果設置過高,算法可能會產生誤報(將正常點識別為異常點)。
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學習要求更高,但通??梢哉业礁玫慕鉀Q方案。
8、生成模型:算法使用訓練數據生成新的數據
自編碼器是生成模型,可用于從圖像數據集創建獨特的圖像。在機器學習中,生成模型是一種捕捉一組數據的統計屬性的模型。這些模型可以用來生成新的數據,就像它們所用的訓練的數據一樣。
生成模型用于各種任務,如無監督學習,數據壓縮和去噪。生成模型有很多種,比如隱馬爾可夫模型和玻爾茲曼機。每種模型都有其優缺點,并且適用于不同的任務。
隱馬爾可夫模型擅長對順序數據建模,而玻爾茲曼機器更擅長對高維數據建模。通過在無標記數據上訓練它們,生成模型可以用于無監督學習。一旦模型經過訓練,就可以用來生成新的數據。然后這些生成的數據可以由人類或其他機器學習算法進行標記。這個過程可以重復,直到生成模型學會生成數據,就像想要的輸出。
9、隨機森林是一種機器學習算法,可用于監督和無監督學習
對于無監督學習,隨機森林可以找到一組相似的條目,識別異常值,并壓縮數據。
對于監督和無監督任務隨機森林已被證明優于其他流行的機器學習算法(如支持向量機)。隨機森林是無監督學習的一個強大工具,因為它們可以處理具有許多特征的高維數據。它們也抵制過擬合,這意味著它們可以很好地推廣到新數據。
10、DBSCAN是一種基于密度的聚類算法,可用于無監督學習
它基于密度,即每個區域的點的數量。 如果 DBSCAN 的組內的點很靠近,則將它們指向一個組,如果點相距較遠的點則會忽略。與其他聚類算法相比,DBSCAN具有一些優勢。它可以找到不同大小和形狀的簇,并且不需要用戶預先指定簇的數量。此外,DBSCAN對異常值不敏感,這意味著它可以用來找到其他數據集沒有很好地表示的數據。但是DBSCAN也有一些缺點。例如,它可能很難在噪聲很大的數據集中找到良好的簇。另外就是DBSCAN需要一個密度閾值,這可能不適用于所有數據集。
11、Apriori算法用于查找關聯、頻繁項集和順序模式
Apriori算法是第一個關聯規則挖掘算法,也是最經典的算法。它·的工作原理是首先找到數據中的所有頻繁項集,然后使用這些項集生成規則。
Apriori算法的實現方式有很多種,可以針對不同的需求進行定制。 例如,可以控制支持度和置信度閾值以找到不同類型的規則。
12、Eclat算法從事務數據庫中挖掘頻繁項目集,可用于購物車分析、入侵檢測和文本挖掘
Eclat算法是一種深度優先算法,采用垂直數據表示形式,在概念格理論的基礎上利用基于前綴的等價關系將搜索空間(概念格)劃分為較小的子空間(子概念格)。