無監(jiān)督學習是一種根據(jù)未標注數(shù)據(jù)進行推斷的機器學習方法。無監(jiān)督學習旨在識別數(shù)據(jù)中隱藏的模式和關系,無需任何監(jiān)督或關于結果的先驗知識。
無監(jiān)督學習的工作原理
無監(jiān)督學習算法發(fā)現(xiàn)數(shù)據(jù)中隱藏的模式、結構和分組,而不需要任何關于結果的先驗知識。這些算法依賴未標注數(shù)據(jù),即沒有預定義標簽的數(shù)據(jù)。
典型的無監(jiān)督學習過程涉及數(shù)據(jù)準備、對其應用正確的無監(jiān)督學習算法,以及最后的解釋和評估結果。這種方法特別適用于聚類(目標是將相似的數(shù)據(jù)點組合在一起)和降維(通過減少特征(維度)的數(shù)量來簡化數(shù)據(jù))等任務。通過分析數(shù)據(jù)的固有結構,無監(jiān)督學習可以更好地理解數(shù)據(jù)集。
無監(jiān)督學習也可以在有監(jiān)督學習之前應用,以識別探索性數(shù)據(jù)分析中的特征并基于分組建立各個類。這是特性工程的一部分,特征工程是將原始數(shù)據(jù)變換為適合有監(jiān)督機器學習的特征的過程。

使用無監(jiān)督學習將未標注數(shù)據(jù)組織成各個組。
無監(jiān)督學習方法的類型
1)聚類
聚類是最常見的無監(jiān)督學習方法,可幫助您理解數(shù)據(jù)集的自然分組或固有結構。它用于探索性數(shù)據(jù)分析、模式識別、異常檢測、圖像分割等。聚類算法(例如 k 均值或層次聚類)對數(shù)據(jù)點分組,使得同一組(或簇)中的數(shù)據(jù)點彼此之間比在其他組中的數(shù)據(jù)點更相似。
例如,如果一家移動電話公司想優(yōu)化其蜂窩手機信號塔的方位布局,就可以使用機器學習來估計使用其信號塔的人群數(shù)量。一部移動電話同時間只能與一個信號塔通信,所以該團隊使用聚類算法設計蜂窩塔的最佳布局,優(yōu)化其客戶群組(也可以稱之為客戶簇)的信號接收。

使用聚類找到數(shù)據(jù)中隱藏的模式。
聚類分為兩個主要類別:
硬聚類或互斥聚類,其中每個數(shù)據(jù)點僅屬于一個簇,例如常見的 k 均值方法。
軟聚類或重疊聚類,其中每個數(shù)據(jù)點可以屬于多個簇,例如在高斯混合模型中。
常見的聚類算法包括:
層次聚類通過創(chuàng)建聚類樹來構建一個多級聚類層次結構。
k 均值根據(jù)到簇質心的距離將數(shù)據(jù)劃分為 k 個不同簇。
高斯混合模型將簇形成為多元正態(tài)密度分量的混合。
基于密度的含噪數(shù)據(jù)空間聚類 (DBSCAN)將高密度區(qū)中臨近的點進行組合,跟蹤低密度區(qū)中的離群值。它可以處理任意非凸形狀。
自組織映射使用學習數(shù)據(jù)的拓撲和分布的神經(jīng)網(wǎng)絡。
譜聚類將輸入數(shù)據(jù)變換為基于圖的表示形式,其中的簇比原始特征空間中的簇分離效果更好。簇的數(shù)量可以通過研究圖的特征值來估計。
隱馬爾可夫模型可用于發(fā)現(xiàn)序列中的模式,如生物信息學中的基因和蛋白質。
模糊 c 均值 (FCM) 將數(shù)據(jù)分成 N 個簇,數(shù)據(jù)集中的每個數(shù)據(jù)點在一定程度上都屬于每個簇。
聚類用于各種應用,例如圖像分割、異常檢測以及模式識別。

左圖:三種鳶尾花品種的幾個標本的花瓣測量值的 MATLAB 散點圖。右圖:使用高斯混合模型 (GMM) 聚類方法將花瓣測量值分割成三個簇。
2)降維
多元數(shù)據(jù)通常包含大量變量或特征。這可能會影響運行時間和內(nèi)存要求。降維方法能夠減少特征(維度)的數(shù)量,同時保留原始數(shù)據(jù)的必要信息。使用無監(jiān)督學習進行降維有助于降低計算負載,提高機器學習算法的速度和效率。
具有許多變量的數(shù)據(jù)的另一個固有困難是其可視化問題。降維方法可以在不丟失重要信息的情況下簡化數(shù)據(jù),從而使可視化和分析變得更加容易。
在示例中,我們使用在五種不同活動(坐、站、走、跑和跳舞)期間通過智能手機加速度計傳感器采集的 60 個維度的人類活動數(shù)據(jù)。高維度使得這些數(shù)據(jù)難以可視化和分析。通過降維,您可以將這些維度減少到兩維或三維,而不會丟失大量信息。(https://ww2.mathworks.cn/help/stats/visualize-high-dimensional-data-using-t-sne.html)
一些常見的無監(jiān)督學習降維方法有:
主成分分析 (PCA) 將數(shù)據(jù)變換為一組正交分量,以較少的變量獲取最大方差。這些新變量稱為主成分。每個主成分都是原始變量的一種線性組合。第一個主成分是空間中的單軸。當您將每個觀測值投影到該軸上時,生成的值會形成一個新變量,此變量的方差是第一個軸的所有可能選擇中的最大值。第二個主成分是空間中的另一個軸,垂直于第一個軸。將觀測值投影到此軸上會生成另一個新變量。此變量的方差是這第二個軸的所有可能選擇中的最大值。主成分的完整集合與原始變量的集合大小相同,但通常前幾個成分占原始數(shù)據(jù)總方差的 80% 以上。
t 分布隨機近鄰嵌入 (t-SNE) 非常適合可視化高維數(shù)據(jù)。它以遵守點之間相似性的方式將高維數(shù)據(jù)點嵌入到低維中。通常,您可以可視化低維點來查看原始高維數(shù)據(jù)中的自然簇。
因子分析是一種對多元數(shù)據(jù)進行模型擬合的方法,它通過識別解釋變量間觀測到的相關性的基礎因子來估計變量間的相互依賴關系。在這種無監(jiān)督學習方法中,已測變量依賴數(shù)量較少的未發(fā)現(xiàn)(潛在)因子。由于每個因子可能共同影響幾個變量,因此稱為公因子。每個變量都假定依賴于公因子的線性組合,且系數(shù)稱為載荷。每個已測變量還包括一個由獨立隨機變異性引起的成分,稱為特定方差,因為它特定于一個變量。
自編碼器是經(jīng)過訓練的用于復制其輸入數(shù)據(jù)的神經(jīng)網(wǎng)絡。自編碼器可用于不同數(shù)據(jù)類型,包括圖像、時間序列和文本。它們在許多應用中非常有用,例如異常檢測、文本生成、圖像生成、圖像去噪以及數(shù)字通信。自編碼器通常用于降維。自編碼器由兩個較小的網(wǎng)絡組成:編碼器和解碼器。在訓練過程中,編碼器從輸入數(shù)據(jù)中學習一組特征,稱為潛在表示。同時,解碼器的訓練目的是基于這些特征重新構造數(shù)據(jù)。

使用自編碼器的基于圖像的異常檢測。
3)關聯(lián)規(guī)則
關聯(lián)規(guī)則學習可識別大型數(shù)據(jù)庫中變量之間的有趣關系。例如,在交易數(shù)據(jù)中,關聯(lián)規(guī)則可用于識別哪些項目最可能被用戶一起購買。關聯(lián)規(guī)則挖掘中使用的算法包括:
Apriori 算法。這種算法通過執(zhí)行廣度優(yōu)先搜索來識別數(shù)據(jù)中的頻繁項目集,然后從這些項目集中派生關聯(lián)規(guī)則。
等效類聚類和自下而上的格型遍歷 (ECLAT) 算法。這種算法使用深度優(yōu)先搜索策略來查找頻繁項目集。
關聯(lián)規(guī)則在購物籃分析中最常見,但也可用于預測性維護。例如,基于不同傳感器的數(shù)據(jù),可以使用算法來識別故障模式并創(chuàng)建規(guī)則來預測組件故障。
其他應用無監(jiān)督學習的方法包括半監(jiān)督學習和無監(jiān)督特征排名。半監(jiān)督學習可減少有監(jiān)督學習中對標注數(shù)據(jù)的需求。應用于整個數(shù)據(jù)集的聚類會在標注數(shù)據(jù)和未標注數(shù)據(jù)之間建立相似性,并且標簽會傳播到先前未標注的相似簇成員。無監(jiān)督特征排名在沒有給定預測目標或響應的情況下為特征分配得分。
為什么無監(jiān)督學習如此重要
無監(jiān)督學習是機器學習和人工智能的主要領域,它在探索和理解數(shù)據(jù)方面發(fā)揮著至關重要的作用。與依賴標注數(shù)據(jù)來訓練模型的有監(jiān)督學習不同,無監(jiān)督學習處理未標注數(shù)據(jù),這使其在標注數(shù)據(jù)通常成本高、耗時或不切實際的真實場景中非常有價值。
通過揭示數(shù)據(jù)中隱藏的模式、結構和關系,無監(jiān)督學習使企業(yè)和研究人員能夠獲得以前無法獲得的有意義的深入信息。無監(jiān)督學習中的常見任務包括模式識別、探索性數(shù)據(jù)分析、分割、異常檢測和特征約簡。
有監(jiān)督學習和無監(jiān)督學習的區(qū)別
有監(jiān)督學習涉及基于標注數(shù)據(jù)集訓練模型以執(zhí)行分類或回歸。這意味著每個訓練示例都與一個輸出標簽配對。它使用已知的數(shù)據(jù)集(稱為訓練數(shù)據(jù)集)和已知的輸入數(shù)據(jù)(稱為特征)以及已知的響應來訓練模型以進行預測。有監(jiān)督學習的一個示例是根據(jù)房間的大小和數(shù)量等特征預測房價。常見的機器學習模型有線性回歸、邏輯回歸、k 最近鄰 (KNN) 和支持向量機。深度學習模型也是用大型標注數(shù)據(jù)集訓練的,它們通??梢灾苯訌臄?shù)據(jù)中學習特征,而無需手動提取特征。
相反,無監(jiān)督學習處理的是未標注數(shù)據(jù)。無監(jiān)督學習算法嘗試在沒有任何先驗知識的情況下學習數(shù)據(jù)的底層結構。無監(jiān)督學習的主要目標是發(fā)現(xiàn)輸入數(shù)據(jù)中隱藏的模式或內(nèi)在結構。無監(jiān)督學習的一個示例是在不知道是什么水果的情況下根據(jù)顏色、大小和味道的相似性對水果進行分組。常見的無監(jiān)督學習算法包括 k 均值、層次聚類等聚類方法,以及主成分分析 (PCA) 等降維方法。
由于缺失標注數(shù)據(jù),無監(jiān)督學習結果通常不如有監(jiān)督學習結果準確。然而,獲取標注數(shù)據(jù)需要人工干預,并且往往相當耗時,在某些情況下甚至無法獲得標注數(shù)據(jù),例如對于生物數(shù)據(jù)。真實值標注還可能需要專業(yè)知識,尤其是在標注復雜信號而不是常見物體的圖像時。

有監(jiān)督學習和無監(jiān)督學習是機器學習的不同類型。
無監(jiān)督學習的示例
無監(jiān)督學習無需預定義標簽即可識別隱藏的模式和關系,這種能力使其成為各種應用中不可或缺的工具,包括:
探索性數(shù)據(jù)分析:無監(jiān)督學習方法廣泛用于探索數(shù)據(jù)以揭示隱藏的內(nèi)在結構,并從中提煉深入信息。例如,因子分析可用于分析同一行業(yè)內(nèi)的公司是否經(jīng)歷類似的每周股票價格變化。
異常檢測:無監(jiān)督學習方法,如孤立森林和高斯混合模型 (GMM),用于檢測異常。
醫(yī)學成像:聚類是一種無監(jiān)督學習方法,對于圖像分割非常有用。聚類算法可以應用于醫(yī)學圖像,并基于像素密度、顏色或其他特征對醫(yī)學圖像進行分割。醫(yī)生可以使用這些信息來識別感興趣區(qū)域,例如區(qū)分健康組織和腫瘤,或將大腦圖像分割成白質、灰質和腦脊液區(qū)域。
基因組學和生物信息學:遺傳聚類和序列分析在生物信息學領域也有應用。例如,聚類可用于識別基因表達譜之間的關系。
推薦系統(tǒng):奇異值分解 (SVD) 等無監(jiān)督學習方法用于協(xié)作過濾來分解用戶-項目交互矩陣。常見的視頻流平臺使用這種方法向個人用戶推薦內(nèi)容。
自然語言處理 (NLP):在自然語言處理中,無監(jiān)督學習方法用于主題建模、文檔聚類和構建 AI 語言模型等任務。
無監(jiān)督學習在不同領域有不同應用。通過揭示隱藏的模式和關系,無監(jiān)督學習使工程師和研究人員能夠作出明智的決策。隨著數(shù)據(jù)繼續(xù)呈指數(shù)級增長,無監(jiān)督學習的重要性和影響只會繼續(xù)擴大。
使用 MATLAB 進行無監(jiān)督學習
MATLAB 使您能夠創(chuàng)建從數(shù)據(jù)準備到模型評估和部署的無監(jiān)督學習管道:
使用 Statistics and Machine Learning Toolbox,您可以對數(shù)據(jù)應用無監(jiān)督學習方法(如聚類和降維)并評估模型性能。
使用 Deep Learning Toolbox,您可以通過自編碼器神經(jīng)網(wǎng)絡執(zhí)行無監(jiān)督學習。
使用 MATLAB Coder,您可以生成 C/C++ 代碼以將無監(jiān)督學習方法部署到各種硬件平臺。

使用 MATLAB 的擴展無監(jiān)督學習工作流。
數(shù)據(jù)準備
您可以通過編程方式清洗數(shù)據(jù),也可以使用低代碼數(shù)據(jù)清洗器和預處理文本數(shù)據(jù)實時編輯器任務進行交互式數(shù)據(jù)準備和自動代碼生成。
聚類
MATLAB 支持所有常見的聚類算法,如 k 均值、層次聚類、DBSCAN 和 GMM。使用 Fuzzy Logic Toolbox,您還可以對數(shù)據(jù)集執(zhí)行模糊 c 均值聚類。
您也可以使用數(shù)據(jù)聚類實時編輯器任務以交互方式執(zhí)行 k 均值和層次聚類。指定聚類算法、簇數(shù)和距離度量。該任務計算簇索引并顯示聚類數(shù)據(jù)的可視化。

使用數(shù)據(jù)聚類實時編輯器任務的 k 均值聚類。(參閱 MATLAB 文檔: https://ww2.mathworks.cn/help/stats/clusterdatatask.html。)
降維
MATLAB 支持所有常見的降維方法,包括 PCA、t-SNE 和因子分析。您可以使用內(nèi)置函數(shù)將這些方法應用于您的數(shù)據(jù)。對于 PCA,您還可以使用降維實時編輯器任務以交互方式執(zhí)行這些步驟。

使用實時編輯器任務進行降維。(參閱 MATLAB 文檔:https://ww2.mathworks.cn/help/stats/reducedimensionalitytask.html。)
使用 MATLAB,您還可以使用拉普拉斯分數(shù)對用于無監(jiān)督學習的特征進行排名。
結果評估
您可以使用散點圖、樹狀圖和輪廓圖來可視化簇以評估聚類結果。您還可以通過使用 evalclusters 函數(shù)評估數(shù)據(jù)簇的最佳數(shù)量來評估聚類結果。要確定將數(shù)據(jù)劃分為特定數(shù)目的簇的良好程度,可以使用不同的評估標準(例如間距或輪廓)來計算索引值。
為了降維,您可以使用散點圖、碎石圖和雙標圖來檢查結果。使用降維實時編輯器任務,您可以確定解釋固定百分比數(shù)據(jù)(如 95% 或 99%)的方差所需的成分數(shù)量。

使用 t 分布隨機近鄰嵌入 (t-SNE) 將具有 60 個原始維度的高維數(shù)據(jù)的散點圖降低到二維。(請參閱 MATLAB 代碼:https://ww2.mathworks.cn/help/stats/visualize-high-dimensional-data-using-t-sne.html。)
-
matlab
+關注
關注
189文章
3016瀏覽量
237514 -
機器學習
+關注
關注
66文章
8540瀏覽量
136205 -
無監(jiān)督學習
+關注
關注
1文章
17瀏覽量
2879
原文標題:什么是無監(jiān)督學習?工作原理、方法類型、示例應用
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
基于半監(jiān)督學習框架的識別算法
Python無監(jiān)督學習的幾種聚類算法包括K-Means聚類,分層聚類等詳細概述
利用機器學習來捕捉內(nèi)部漏洞的工具運用無監(jiān)督學習方法可發(fā)現(xiàn)入侵者
你想要的機器學習課程筆記在這:主要討論監(jiān)督學習和無監(jiān)督學習
如何用Python進行無監(jiān)督學習
無監(jiān)督機器學習如何保護金融
機器學習算法中有監(jiān)督和無監(jiān)督學習的區(qū)別
最基礎的半監(jiān)督學習
半監(jiān)督學習最基礎的3個概念
為什么半監(jiān)督學習是機器學習的未來?
半監(jiān)督學習:比監(jiān)督學習做的更好
機器學習中的無監(jiān)督學習應用在哪些領域
自監(jiān)督學習的一些思考

使用MATLAB進行無監(jiān)督學習
評論