如果計算機可以像孩子們那樣學(xué)習(xí)

Martin Heller
目前,無監(jiān)督學(xué)習(xí)主要用于發(fā)現(xiàn)數(shù)據(jù)中的模式,檢測數(shù)據(jù)中的異常值,而未來可能會產(chǎn)生通用人工智能。

盡管受監(jiān)督機器學(xué)習(xí)和深度學(xué)習(xí)取得了成功,但有一種學(xué)派認(rèn)為,無監(jiān)督學(xué)習(xí)的潛力更大。受監(jiān)督學(xué)習(xí)系統(tǒng)的學(xué)習(xí)受到其所受訓(xùn)練的限制:即受監(jiān)督學(xué)習(xí)系統(tǒng)只能學(xué)習(xí)它所訓(xùn)練的任務(wù)。相比之下,一個無監(jiān)督的系統(tǒng)理論上可以實現(xiàn)“人工通用智能”,這意味著具有學(xué)習(xí)人類能夠?qū)W習(xí)任何任務(wù)的能力。然而,這種技術(shù)還沒有出現(xiàn)。

如果受監(jiān)督學(xué)習(xí)的最大問題是標(biāo)記訓(xùn)練數(shù)據(jù)的費用,那么無監(jiān)督學(xué)習(xí)(不用標(biāo)記數(shù)據(jù))的最大問題就是它通常不能很好地工作。然而,無監(jiān)督學(xué)習(xí)確實有其用途:它有助于減少數(shù)據(jù)集的維數(shù),發(fā)現(xiàn)數(shù)據(jù)的模式和結(jié)構(gòu),查找相似對象的組,以及檢測數(shù)據(jù)中的異常值和其他噪聲。

總的來說,作為探索數(shù)據(jù)分析的一部分,非常值得采用無監(jiān)督學(xué)習(xí)方法來發(fā)現(xiàn)模式和聚類,減少數(shù)據(jù)的維數(shù),發(fā)現(xiàn)潛在的特性,并刪除異常值。那么,應(yīng)該繼續(xù)進行監(jiān)督學(xué)習(xí),還是使用預(yù)先訓(xùn)練過的模型進行預(yù)測,這取決于你的目標(biāo)和數(shù)據(jù)。

什么是無監(jiān)督學(xué)習(xí)?

想想我們的孩子是怎樣學(xué)習(xí)的。作為家長或者老師,當(dāng)你教孩子們識別狗和貓的時候,并不需要向他們展示每一種狗和貓。他們從一些例子中就能學(xué)會,不需要很多解釋,自己就能歸納。他們第一次看到一只吉娃娃時可能會錯誤地叫它“Kitty”,而你會很快地糾正他們。

孩子們本能地把他們看到的一組東西分為一類。無監(jiān)督學(xué)習(xí)的目標(biāo)之一實際上是讓計算機發(fā)展出同樣的能力。不妨看看DeepMind公司的Alex Graves和Kelly Clancy的博文內(nèi)容,“無監(jiān)督學(xué)習(xí):好奇的學(xué)生”。

無監(jiān)督學(xué)習(xí)是一種范式,旨在通過獎勵代理(即計算機程序),在不考慮具體任務(wù)的情況下學(xué)習(xí)它們觀察到的數(shù)據(jù),從而創(chuàng)建自主智能。換句話說,代理是出于學(xué)習(xí)的目的而去學(xué)習(xí)。

出于學(xué)習(xí)的目的而去學(xué)習(xí)代理的潛力要遠遠大于把復(fù)雜圖片簡化為二元決策(例如,狗或者貓)的系統(tǒng)。勞倫斯伯克利實驗室研究人員在數(shù)百萬份材料科學(xué)文摘上運行文本處理算法(Word2vec)來預(yù)測新熱電材料會有什么發(fā)現(xiàn),正如其工作所證明的那樣,發(fā)現(xiàn)模式而不是執(zhí)行預(yù)先定義的任務(wù)將產(chǎn)生令人驚訝的結(jié)果,而且結(jié)果非常有用。

聚類方法

聚類問題是一個無監(jiān)督學(xué)習(xí)問題,要求模型查找有相似數(shù)據(jù)點的分組。目前在用的聚類算法有很多種,它們的特性往往略有不同。一般來說,聚類算法會查看數(shù)據(jù)點特征向量之間的度量或者距離函數(shù),然后對彼此“接近”的特征向量進行分組。如果這些類不重疊,那么聚類算法的效果最好。

分層聚類

分層聚類分析(HCA)可以是聚集式的(從單個點開始自下而上的構(gòu)建聚類,以單個聚類結(jié)束),也可以是分離式的(從單個聚類開始,然后將其分解,直到最終得到單個點)。如果幸運的話,你能找到一個展現(xiàn)出可用分類的聚類過程的中間階段。

聚類過程通0常顯示為系統(tǒng)樹圖(樹形圖)。HCA算法往往需要大量的計算時間[O(n3)]和內(nèi)存[O(n2)] 資源,這些限制使得算法不太適用于相對較小的數(shù)據(jù)集。

HCA算法可以使用各種度量和鏈接標(biāo)準(zhǔn)。歐幾里得距離和平方歐幾里得距離在數(shù)值數(shù)據(jù)中都很常見;而漢明距離和列文斯坦距離則常用于非數(shù)值數(shù)據(jù)。單鏈接和完全鏈接也是常見的,這兩種方法都可以簡化聚類算法(分別為SLINK和CLINK)。SLINK是少數(shù)能保證找到最優(yōu)解的一種聚類算法。

K均值聚類

K均值聚類問題使用歐幾里得距離指標(biāo),把n個觀測值劃分為k個聚類,目的是盡量減小每個聚類內(nèi)的方差(平方和)。這是一種矢量量化的方法,對特征學(xué)習(xí)非常有用。

Lloyd算法(具有中心更新功能的迭代聚類算法)是解決該問題最常用的啟發(fā)式算法,相對高效,但不能保證全局收斂。為了改進這一點,人們經(jīng)常使用由Forgy或者隨機劃分方法生成的隨機初始聚類中心來多次運行該算法。

K均值假設(shè)球形聚類是可分離的,這樣均值就向聚類中心收斂,并且還假設(shè)數(shù)據(jù)點的排序無關(guān)緊要。這些聚類的大小應(yīng)該差不多,因此到最近的聚類中心的分配是正確的分配。

求解K均值聚類的啟發(fā)式算法通常與高斯混合模型的期望值最大化(EM)算法相似。

混合模型

混合模型假定觀測值的子群體符合一些概率分布,這通常是數(shù)值觀測值的高斯分布或者非數(shù)值數(shù)據(jù)的分類分布。每個子群體可能有自己的分布參數(shù),例如高斯分布的均值和方差。

期望值最大化(EM)是一種最常用的方法,用于確定具有一定數(shù)量分量的混合參數(shù)。除了EM方法之外,還可以使用馬爾可夫鏈蒙特卡羅法、矩匹配法、奇異值分解(SVD)譜法和圖解法來求解混合模型。

最初的混合模型應(yīng)用于根據(jù)前額與體長的比值來識別河蟹的兩個種群。1984年,Karl Pearson使用矩匹配法解決了這個問題。

混合模型一種常見的擴展是把定義混合分量恒等式的潛在變量連接到馬爾可夫鏈,而不是假設(shè)它們是獨立的、相同分布的隨機變量。所得到的模型被稱為隱馬爾可夫模型,是最常見的一種順序分層模型。

DBSCAN算法

基于密度的帶噪聲應(yīng)用空間聚類算法(DBSCAN)是一種非參數(shù)數(shù)據(jù)聚類算法,始于1996年。它針對數(shù)據(jù)庫應(yīng)用進行了優(yōu)化,可以使用R*樹或者其他幾何索引結(jié)構(gòu)來加速幾何區(qū)域的查詢。

本質(zhì)上,DBSCAN聚類核心點在Epsilon距離內(nèi)具有超過一些最小數(shù)量的鄰居,將其作為Epsilon距離內(nèi)沒有鄰居的異常點而丟棄,而將核心點Epsilon距離內(nèi)的點添加到該聚類中。DBSCAN是最常見的一種聚類算法,能夠發(fā)現(xiàn)任意形狀的聚類。

OPTICS算法

對數(shù)據(jù)點排序以識別聚類結(jié)構(gòu)(OPTICS)這種算法是在空間數(shù)據(jù)中尋找基于密度的聚類。OPTICS類似于DBSCAN,但處理的是點密度變化的情況。

DBSCAN和OPTICS在概念上的差異也可用于簡單的異常值和噪聲檢測以及消除。

潛變量模型

潛變量模型是將一組可觀測變量與一組潛(隱)變量相關(guān)聯(lián)的統(tǒng)計模型。潛變量模型有助于揭示復(fù)雜和高維數(shù)據(jù)中的隱藏結(jié)構(gòu)。

主分量分析

主分量分析(PCA)這種統(tǒng)計過程使用正交變換,把一組可能相關(guān)的數(shù)值變量的觀測值轉(zhuǎn)換成一組稱為主分量的線性不相關(guān)變量值。Karl Pearson于1901年發(fā)明了PCA。PCA可以通過數(shù)據(jù)協(xié)方差(或者相關(guān))矩陣的特征值分解或者數(shù)據(jù)矩陣的奇異值分解(SVD)來實現(xiàn),通常在初始數(shù)據(jù)的歸一化步驟之后。

奇異值分解

奇異值分解(SVD)是實數(shù)矩陣或者復(fù)數(shù)矩陣的因式分解。這是線性代數(shù)中的一種常用方法,通常使用豪斯霍爾德變換來計算。SVD是求解主分量的一種方法。雖然完全可以從頭開始編寫SVD,但是在所有線性代數(shù)庫中都有很好的實現(xiàn)。

矩量法

矩量法利用被觀測數(shù)據(jù)樣本的矩量(均值、方差、偏態(tài)和峰度)來估計群分布參數(shù)。這一方法比較簡單,通常采用手工計算,而且一般能實現(xiàn)全局收斂。然而,在統(tǒng)計量較少的情況下,矩量法有時會產(chǎn)生超出參數(shù)空間的估算值。矩量法是求解混合模型(上面)的一種簡便方法。

期望最大化算法

期望最大化(EM)算法是一種迭代方法,用于在依賴于未觀測到的潛變量的模型中查找參數(shù)的最大似然估算值。EM迭代在執(zhí)行期望步驟(E)和最大化步驟(M)之間交替進行,前者為使用當(dāng)前參數(shù)估算值評估的對數(shù)似然的期望值創(chuàng)建函數(shù),后者計算使得在E步驟中找到的預(yù)期對數(shù)似然值最大化的參數(shù)。

EM收斂到最大值或者鞍點,但不一定收斂到全局最大值??梢酝ㄟ^對參數(shù)的很多隨機初始估算值重復(fù)EM過程,或者使用矩量法確定初始估算值,以盡可能找到全局最大值。

應(yīng)用于高斯混合模型(上面)的EM可以用于聚類分析。

無監(jiān)督神經(jīng)網(wǎng)絡(luò)

通常在標(biāo)簽數(shù)據(jù)上訓(xùn)練神經(jīng)網(wǎng)絡(luò),進行分類或者回歸,根據(jù)定義,這是受監(jiān)督機器學(xué)習(xí)。也可以使用各種無監(jiān)督的方法,采用無標(biāo)簽數(shù)據(jù)進行訓(xùn)練。

自動編碼器

自動編碼器是對輸入進行訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。本質(zhì)上,自動編碼器是一種前饋網(wǎng)絡(luò),充當(dāng)編解碼器,對輸入層的輸入進行編碼,送入神經(jīng)元數(shù)量較少的一個或者多個隱藏層,然后將編碼后的表達式解碼,送入以拓?fù)浣Y(jié)構(gòu)作為輸入的輸出層。

在訓(xùn)練過程中,自動編碼器使用反向傳播來盡可能減小輸入和輸出之間的差異。自動編碼器已經(jīng)用于降維、特征學(xué)習(xí)、去噪、異常檢測、圖像處理和學(xué)習(xí)生成模型。

深度信念網(wǎng)絡(luò)

深度信念網(wǎng)絡(luò)(DBN)是自動編碼器或者受限的玻爾茲曼機(RBN)堆棧,能夠?qū)W習(xí)重建其輸入。然后,這些層被用作特征檢測器。通常使用對比分歧來訓(xùn)練RBN。

DBN已經(jīng)用于生成和識別圖像、視頻排序和運動捕獲數(shù)據(jù)。

生成對抗網(wǎng)絡(luò)

生成對抗網(wǎng)絡(luò)(GAN)同時訓(xùn)練兩個網(wǎng)絡(luò),其生成模型捕獲數(shù)據(jù)分布,而判別模型估計來自訓(xùn)練數(shù)據(jù)的樣本的概率。訓(xùn)練的目的是讓發(fā)生器盡可能的欺騙鑒別器。

GAN可以用來創(chuàng)建虛構(gòu)人物的照片,改善天文圖像。GAN還被用于放大舊視頻游戲的紋理,以用于高分辨率版本的游戲。除了無監(jiān)督學(xué)習(xí),GAN已經(jīng)成功地應(yīng)用于游戲的強化學(xué)習(xí)。

自組織映射

自組織映射(SOM)定義了從一組給定數(shù)據(jù)項到規(guī)則的、通常是二維網(wǎng)格的有序映射。每一網(wǎng)格節(jié)點都與一個模型相關(guān)聯(lián)。數(shù)據(jù)項將被映射到其模型與數(shù)據(jù)項最相似的節(jié)點,即,在某些指標(biāo)中與數(shù)據(jù)項的距離最小。

需要采取一些預(yù)防措施來確保映射是穩(wěn)定的和有序的。并非所有的商業(yè)實現(xiàn)都遵循所有的預(yù)防措施。

作者:Martin Heller是InfoWorld的特約編輯和審稿人。他曾是一名網(wǎng)絡(luò)和Windows編程顧問,1986年至2010年間開發(fā)過數(shù)據(jù)庫、軟件和網(wǎng)站。

編譯:Charles

原文網(wǎng)址:https://www.infoworld.com/article/3429017/unsupervised-learning-explained.html

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論