Martin Heller Charles
目前,無監督學習主要用于發現數據中的模式,檢測數據中的異常值,而未來可能會產生通用人工智能。
盡管受監督機器學習和深度學習取得了成功,但有一種學派認為,無監督學習的潛力更大。受監督學習系統的學習受到其所受訓練的限制:即受監督學習系統只能學習它所訓練的任務。相比之下,一個無監督的系統理論上可以實現“人工通用智能”,這意味著具有學習人類能夠學習任何任務的能力。然而,這種技術還沒有出現。
如果受監督學習的最大問題是標記訓練數據的費用,那么無監督學習(不用標記數據)的最大問題就是它通常不能很好地工作。然而,無監督學習確實有其用途:它有助于減少數據集的維數,發現數據的模式和結構,查找相似對象的組,以及檢測數據中的異常值和其他噪聲。
總的來說,作為探索數據分析的一部分,非常值得采用無監督學習方法來發現模式和聚類,減少數據的維數,發現潛在的特性,并刪除異常值。那么,應該繼續進行監督學習,還是使用預先訓練過的模型進行預測,這取決于你的目標和數據。
想想我們的孩子是怎樣學習的。作為家長或者老師,當你教孩子們識別狗和貓的時候,并不需要向他們展示每一種狗和貓。他們從一些例子中就能學會,不需要很多解釋,自己就能歸納。他們第一次看到一只吉娃娃時可能會錯誤地叫它“Kitty”,而你會很快地糾正他們。
孩子們本能地把他們看到的一組東西分為一類。無監督學習的目標之一實際上是讓計算機發展出同樣的能力。不妨看看DeepMind公司的Alex Graves和Kelly Clancy的博文內容,“無監督學習:好奇的學生”。
無監督學習是一種范式,旨在通過獎勵代理(即計算機程序),在不考慮具體任務的情況下學習它們觀察到的數據,從而創建自主智能。換句話說,代理是出于學習的目的而去學習。
出于學習的目的而去學習代理的潛力要遠遠大于把復雜圖片簡化為二元決策(例如,狗或者貓)的系統。勞倫斯伯克利實驗室研究人員在數百萬份材料科學文摘上運行文本處理算法(Word2vec)來預測新熱電材料會有什么發現,正如其工作所證明的那樣,發現模式而不是執行預先定義的任務將產生令人驚訝的結果,而且結果非常有用。
聚類問題是一個無監督學習問題,要求模型查找有相似數據點的分組。目前在用的聚類算法有很多種,它們的特性往往略有不同。一般來說,聚類算法會查看數據點特征向量之間的度量或者距離函數,然后對彼此“接近”的特征向量進行分組。如果這些類不重疊,那么聚類算法的效果最好。
分層聚類分析(HCA)可以是聚集式的(從單個點開始自下而上的構建聚類,以單個聚類結束),也可以是分離式的(從單個聚類開始,然后將其分解,直到最終得到單個點)。如果幸運的話,你能找到一個展現出可用分類的聚類過程的中間階段。
聚類過程通常顯示為系統樹圖(樹形圖)。HCA算法往往需要大量的計算時間[O(n3)]和內存[O(n2)] 資源,這些限制使得算法不太適用于相對較小的數據集。
HCA算法可以使用各種度量和鏈接標準。歐幾里得距離和平方歐幾里得距離在數值數據中都很常見;而漢明距離和列文斯坦距離則常用于非數值數據。單鏈接和完全鏈接也是常見的,這兩種方法都可以簡化聚類算法(分別為SLINK和CLINK)。SLINK是少數能保證找到最優解的一種聚類算法。
K均值聚類問題使用歐幾里得距離指標,把n個觀測值劃分為k個聚類,目的是盡量減小每個聚類內的方差(平方和)。這是一種矢量量化的方法,對特征學習非常有用。
Lloyd算法(具有中心更新功能的迭代聚類算法)是解決該問題最常用的啟發式算法,相對高效,但不能保證全局收斂。為了改進這一點,人們經常使用由Forgy或者隨機劃分方法生成的隨機初始聚類中心來多次運行該算法。
K均值假設球形聚類是可分離的,這樣均值就向聚類中心收斂,并且還假設數據點的排序無關緊要。這些聚類的大小應該差不多,因此到最近的聚類中心的分配是正確的分配。
求解K均值聚類的啟發式算法通常與高斯混合模型的期望值最大化(EM)算法相似。

混合模型假定觀測值的子群體符合一些概率分布,這通常是數值觀測值的高斯分布或者非數值數據的分類分布。每個子群體可能有自己的分布參數,例如高斯分布的均值和方差。
期望值最大化(EM)是一種最常用的方法,用于確定具有一定數量分量的混合參數。除了EM方法之外,還可以使用馬爾可夫鏈蒙特卡羅法、矩匹配法、奇異值分解(SVD)譜法和圖解法來求解混合模型。
最初的混合模型應用于根據前額與體長的比值來識別河蟹的兩個種群。1984年,Karl Pearson使用矩匹配法解決了這個問題。
混合模型一種常見的擴展是把定義混合分量恒等式的潛在變量連接到馬爾可夫鏈,而不是假設它們是獨立的、相同分布的隨機變量。所得到的模型被稱為隱馬爾可夫模型,是最常見的一種順序分層模型。
基于密度的帶噪聲應用空間聚類算法(DBSCAN)是一種非參數數據聚類算法,始于1996年。它針對數據庫應用進行了優化,可以使用R*樹或者其他幾何索引結構來加速幾何區域的查詢。
本質上,DBSCAN聚類核心點在Epsilon距離內具有超過一些最小數量的鄰居,將其作為Epsilon距離內沒有鄰居的異常點而丟棄,而將核心點Epsilon距離內的點添加到該聚類中。DBSCAN是最常見的一種聚類算法,能夠發現任意形狀的聚類。
對數據點排序以識別聚類結構(OPTICS)這種算法是在空間數據中尋找基于密度的聚類。OPTICS類似于DBSCAN,但處理的是點密度變化的情況。
DBSCAN和OPTICS在概念上的差異也可用于簡單的異常值和噪聲檢測以及消除。
潛變量模型是將一組可觀測變量與一組潛(隱)變量相關聯的統計模型。潛變量模型有助于揭示復雜和高維數據中的隱藏結構。
主分量分析(PCA)這種統計過程使用正交變換,把一組可能相關的數值變量的觀測值轉換成一組稱為主分量的線性不相關變量值。Karl Pearson于1901年發明了PCA。PCA可以通過數據協方差(或者相關)矩陣的特征值分解或者數據矩陣的奇異值分解(SVD)來實現,通常在初始數據的歸一化步驟之后。
奇異值分解(SVD)是實數矩陣或者復數矩陣的因式分解。這是線性代數中的一種常用方法,通常使用豪斯霍爾德變換來計算。SVD是求解主分量的一種方法。雖然完全可以從頭開始編寫SVD,但是在所有線性代數庫中都有很好的實現。
矩量法利用被觀測數據樣本的矩量(均值、方差、偏態和峰度)來估計群分布參數。這一方法比較簡單,通常采用手工計算,而且一般能實現全局收斂。然而,在統計量較少的情況下,矩量法有時會產生超出參數空間的估算值。矩量法是求解混合模型(上面)的一種簡便方法。
期望最大化(EM)算法是一種迭代方法,用于在依賴于未觀測到的潛變量的模型中查找參數的最大似然估算值。EM迭代在執行期望步驟(E)和最大化步驟(M)之間交替進行,前者為使用當前參數估算值評估的對數似然的期望值創建函數,后者計算使得在E步驟中找到的預期對數似然值最大化的參數。
EM收斂到最大值或者鞍點,但不一定收斂到全局最大值。可以通過對參數的很多隨機初始估算值重復EM過程,或者使用矩量法確定初始估算值,以盡可能找到全局最大值。
應用于高斯混合模型(上面)的EM可以用于聚類分析。
通常在標簽數據上訓練神經網絡,進行分類或者回歸,根據定義,這是受監督機器學習。也可以使用各種無監督的方法,采用無標簽數據進行訓練。
自動編碼器是對輸入進行訓練的神經網絡。本質上,自動編碼器是一種前饋網絡,充當編解碼器,對輸入層的輸入進行編碼,送入神經元數量較少的一個或者多個隱藏層,然后將編碼后的表達式解碼,送入以拓撲結構作為輸入的輸出層。
在訓練過程中,自動編碼器使用反向傳播來盡可能減小輸入和輸出之間的差異。自動編碼器已經用于降維、特征學習、去噪、異常檢測、圖像處理和學習生成模型。
深度信念網絡(DBN)是自動編碼器或者受限的玻爾茲曼機(RBN)堆棧,能夠學習重建其輸入。然后,這些層被用作特征檢測器。通常使用對比分歧來訓練RBN。
DBN已經用于生成和識別圖像、視頻排序和運動捕獲數據。
生成對抗網絡(GAN)同時訓練兩個網絡,其生成模型捕獲數據分布,而判別模型估計來自訓練數據的樣本的概率。訓練的目的是讓發生器盡可能的欺騙鑒別器。
GAN可以用來創建虛構人物的照片,改善天文圖像。GAN還被用于放大舊視頻游戲的紋理,以用于高分辨率版本的游戲。除了無監督學習,GAN已經成功地應用于游戲的強化學習。
自組織映射(SOM)定義了從一組給定數據項到規則的、通常是二維網格的有序映射。每一網格節點都與一個模型相關聯。數據項將被映射到其模型與數據項最相似的節點,即,在某些指標中與數據項的距離最小。
需要采取一些預防措施來確保映射是穩定的和有序的。并非所有的商業實現都遵循所有的預防措施。
Martin Heller是InfoWorld的特約編輯和審稿人。他曾是一名網絡和Windows編程顧問,1986年至2010年間開發過數據庫、軟件和網站。
原文網址
https://www.infoworld.com/article/3429017/unsupervised-learning-explained.html