無監督學習:機器如何自行學習
已發表: 2021-03-19無監督學習讓機器自己學習。
這種類型的機器學習 (ML) 使 AI 應用程序能夠在無需人工監督的情況下學習和發現大型數據集中的隱藏模式。 無監督學習對於實現 通用人工智能。
標記數據是勞動密集型和耗時的,而且在許多情況下是不切實際的。 這就是無監督學習通過授予 AI 應用程序在沒有標籤和監督的情況下學習的能力而帶來巨大差異的地方。
什麼是無監督學習?
無監督學習 (UL) 是一種機器學習技術,用於識別包含未分類和未標記數據點的數據集中的模式。 在這種學習方法中,人工智能係統只給出輸入數據,沒有相應的輸出數據。
與監督學習不同,無監督機器學習不需要人來監督模型。 數據科學家讓機器通過觀察數據和自行尋找模式來學習。 換句話說,機器學習的這個子類別允許系統在沒有任何外部指導的情況下對給定信息採取行動。
無監督學習技術對於創建具有人類智能的人工智能係統至關重要。 這是因為智能機器必須能夠通過分析大量未標記的數據來做出(獨立的)決策。
與監督學習算法相比,UL 算法更擅長執行複雜的任務。 然而,監督學習模型會產生更準確的結果,因為導師會明確告訴系統在給定數據中尋找什麼。 但在無監督學習的情況下,事情可能非常不可預測。
人工神經網絡,使 深度學習 一個現實,似乎它得到了無監督學習的支持。 雖然這是真的,但如果已知所需的輸出,也可以監督神經網絡的學習算法。
無監督學習本身就是一個目標。 例如,UL 模型可用於在海量數據中查找隱藏模式,甚至可用於對數據點進行分類和標記。 未排序的數據點的分組是通過識別它們的相似性和差異來執行的。
無監督學習必不可少的一些原因。
- 未標記的數據非常豐富。
- 標記數據是一項繁瑣的任務,需要人工。 然而,這個過程可以由 ML 驅動,從而使相關人員更容易進行標記。
- 它對於探索未知和原始數據很有用。
- 它對於在大型數據集中執行模式識別很有用。
無監督學習的工作原理
簡而言之,無監督學習的工作原理是分析未分類、未標記的數據並找到其中的隱藏結構。
在監督學習中,數據科學家向系統提供標記數據,例如標記為貓的貓的圖像,使其通過示例進行學習。 在無監督學習中,數據科學家只提供照片,系統負責分析數據並判斷它們是否是貓的圖像。
無監督機器學習需要大量數據。 在大多數情況下,監督學習也是如此,因為模型通過更多示例變得更加準確。
無監督學習的過程始於數據科學家使用訓練數據集訓練算法。 這些數據集中的數據點是未標記和未分類的。
該算法的學習目標是識別數據集中的模式,並根據相同的識別模式對數據點進行分類。 在貓圖像的示例中,無監督學習算法可以學習識別貓的不同特徵,例如它們的鬍鬚、長尾巴和可伸縮的爪子。
如果您考慮一下,無監督學習就是我們學習識別和分類事物的方式。 假設你從未嚐過番茄醬或辣椒醬。 如果給你兩瓶“無標籤”的番茄醬和辣椒醬,並要求你品嚐它們,你就能區分它們的味道。
即使您不知道任何一種醬汁的名稱,您也可以識別兩種醬汁的特性(一種是酸的,另一種是辣的)。 多品嚐幾次會讓你更熟悉它的味道。 很快,您就可以通過品嚐來根據添加的醬汁對菜餚進行分組。
通過分析口味,您可以找到區分兩種醬汁和組菜的具體特徵。 您無需知道醬汁的名稱或菜餚的名稱即可對其進行分類。 您甚至可能最終稱其中一種為甜醬,另一種為辣醬。
這類似於機器如何在無監督學習的幫助下識別模式和分類數據點。 在同一個例子中,監督學習就是有人預先告訴你兩種醬汁的名稱以及它們的味道。
無監督學習的類型
無監督學習問題可以分為聚類和關聯問題。
聚類
聚類或聚類分析是將對象分組為聚類的過程。 最相似的項目被分組在一起,而其餘的則屬於其他集群。 集群的一個例子是根據觀看歷史對 YouTube 用戶進行分組。
根據它們的工作方式,聚類可以分為以下四組:
- 排他聚類:顧名思義,排他聚類指定一個數據點或對像只能存在於一個群集中。
- 分層聚類:分層嘗試創建聚類的層次結構。 層次聚類有兩種類型:凝聚的和分裂的。 凝聚式遵循自下而上的方法,最初將每個數據點視為一個單獨的集群,並且集群對在它們向上移動時合併。 分裂與凝聚完全相反。 每個數據點都從一個集群開始,並隨著它們向下移動層次結構而被拆分。
- 重疊聚類:重疊允許將數據點分組為兩個或多個聚類。
- 概率聚類:概率使用概率分佈來創建聚類。 例如,“綠色襪子”、“藍色襪子”、“綠色 T 卹”和“藍色 T 卹”可以分為“綠色”和“藍色”或“襪子”和“T 卹”兩類”。
協會
關聯規則學習 (ARL)是一種無監督學習方法,用於查找大型數據庫中變量之間的關係。 與某些機器學習算法不同,ARL 能夠處理非數字數據點。
從更簡單的意義上說,ARL 是關於找出某些變量是如何相互關聯的。 例如,購買摩托車的人最有可能購買頭盔。
找到這樣的關係可能是有利可圖的。 例如,如果購買產品 X 的客戶傾向於購買產品 Y,則在線零售商可以向購買產品 X 的任何人推薦產品 Y。
關聯規則學習在其核心中使用 if/then 語句。 這些陳述可以揭示獨立數據之間的關聯。 此外,使用support和confidence觀察 if/then 模式或關係。
支持指定 if/then 關係在數據庫中出現的頻率。 置信度定義了 if/then 關係被發現有效的次數。
購物籃分析 和 網絡使用挖掘 關聯規則使之成為可能。
無監督學習算法
聚類和關聯規則學習都是在算法的幫助下實現的。
Apriori 算法、ECLAT 算法和頻繁模式 (FP) 增長算法是用於實現關聯規則的一些著名算法。 通過諸如 k 均值聚類和主成分分析 (PCA) 等算法可以進行聚類。
先驗算法
Apriori 算法是為數據挖掘而構建的。 它對於挖掘包含大量交易的數據庫很有用,例如,包含超市購物者購買的商品列表的數據庫。 它用於識別藥物的有害影響,並在購物籃分析中找到客戶更有可能一起購買的一組商品。

ECLAT算法
Equivalence Class Clustering and bottom-up Lattice Traversal ,簡稱ECLAT ,是一種數據挖掘算法,用於實現項集挖掘和發現頻繁項。
Apriori 算法使用水平數據格式,因此需要多次掃描數據庫以識別頻繁項。 另一方面,ECLAT 採用垂直方法,通常速度更快,因為它只需要掃描一次數據庫。
頻繁模式(FP)增長算法
頻繁模式(FP)增長算法是 Apriori 算法的改進版本。 該算法以稱為頻繁樹或模式的樹結構形式表示數據庫。
這樣的頻繁樹用於挖掘最頻繁的模式。 Apriori 算法需要掃描數據庫 n+1 次(其中 n 是最長模型的長度),而 FP-growth 算法只需要掃描兩次。
K-means 聚類
k-means 算法的多次迭代被廣泛應用於數據科學領域。 簡而言之,k-means 聚類算法將相似的項目分組到集群中。 簇的數量由k表示。 因此,如果 k 的值為 3,則總共將有 3 個集群。
這種聚類方法對未標記的數據集進行劃分,使每個數據點僅屬於具有相似屬性的單個組。 關鍵是要找到稱為簇質心的 K 個中心。
每個集群都有一個集群質心,當看到一個新的數據點時,算法將根據歐幾里德距離等指標確定數據點所屬的最近集群。
主成分分析(PCA)
主成分分析(PCA)是一種降維方法,通常用於降低大型數據集的維數。 它通過將大量變量轉換為包含大數據集中幾乎所有信息的較小變量來實現這一點。
減少變量的數量可能會稍微影響準確性,但為了簡單起見,這可能是一個可接受的折衷方案。 這是因為較小的數據集更容易分析,而且機器學習算法不必費力就能獲得有價值的見解。
監督與無監督學習
監督學習類似於讓老師監督整個學習過程。 還有一個帶標籤的訓練數據集,類似於為您嘗試解決的每個問題提供正確答案。
你的答案是否正確更容易理解,而且當你犯錯時老師也會糾正你。 在無監督學習的情況下,沒有老師或正確答案。
從計算的角度來看,無監督學習比監督學習更複雜、更耗時。 但是,它對於數據挖掘以及在分配任何分類器(一種自動分類數據的機器學習算法)之前深入了解數據結構很有用。
儘管在未標記的數據很大時很有用,但無監督學習可能會給數據科學家帶來一些不便。 由於監督學習中使用的驗證數據集也被標記,因此數據科學家更容易衡量模型的準確性。 但對於無監督學習模型,情況並非如此。
在許多情況下,在監督學習之前應用無監督學習。 這有助於識別特徵和創建類。
無監督學習過程在線進行,而監督學習則離線進行。 這允許 UL 算法實時處理數據。
無監督學習問題分為關聯和聚類問題,監督學習可以進一步分為回歸和分類。
除了監督學習和無監督學習,還有半監督學習和強化學習。
半監督學習是監督學習和無監督學習的混合體。 在這種機器學習技術中,系統只接受了一點點訓練,以便獲得高級別的概覽。 一小部分訓練數據將被標記,其餘的將未標記。
在強化學習 (RL)中,人工智能係統將遇到一個類似遊戲的環境,在該環境中它必須最大化獎勵。 系統必須遵循試錯法進行學習,並提高每一步獲得獎勵的機會。
以下是有監督學習和無監督學習之間的主要區別的快速瀏覽。
無監督學習 | 監督學習 |
這是一個複雜的過程,需要更多的計算資源,而且很耗時。 | 它相對簡單並且需要較少的計算資源。 |
訓練數據集未標記。 | 訓練數據集被標記。 |
不太準確,但不一定 | 高度準確 |
分為關聯和聚類 | 分為回歸和分類 |
測量模型的準確性和不確定性是很麻煩的。 | 更容易衡量模型的準確性。 |
班數未知。 | 類的數量是已知的。 |
學習是實時進行的。 | 學習是離線進行的。 |
Apriori、ECLAT、k-means 聚類和頻繁模式 (FP) 增長算法是使用的一些算法。 | 線性回歸、邏輯回歸、樸素貝葉斯和支持向量機 (SVM) 是一些使用的算法。 |
無監督機器學習示例
如前所述,無監督學習本身就是一個目標,可用於在大量數據中找到隱藏的模式——這對人類來說是一項不切實際的任務。
無監督機器學習的一些實際應用。
- 異常檢測:這是在數據集中查找非典型數據點的過程,因此對於檢測欺詐活動很有用。
- 計算機視覺:也稱為 圖像識別,這種識別圖像中物體的壯舉對於自動駕駛汽車至關重要,甚至對於醫療保健行業的圖像分割也很有價值。
- 推薦系統:通過分析歷史數據,無監督學習算法推薦客戶最有可能購買的產品。
- 客戶角色:無監督學習可以通過分析購買習慣數據來幫助企業建立準確的客戶角色。
將算法留給自己的設備
自主學習的能力使無監督學習成為分析大量數據的最快方法。 當然,在有監督或無監督(甚至半監督)學習之間進行選擇取決於您要解決的問題以及可用數據的時間和海量。 儘管如此,無監督學習可以使您的整個工作更具可擴展性。
我們今天擁有的人工智能無法統治世界,更不用說違抗其創造者的命令了。 但它使自動駕駛汽車和聊天機器人等令人難以置信的壯舉成為可能。 它被稱為窄人工智能,但並不像聽起來那麼弱。