人工智能如何處理數(shù)據(jù)?如果把重點(diǎn)放在數(shù)據(jù)的處理方式上,那么長期共存的方式大概有兩種:
特征學(xué)習(xí)(feature learning),又叫表示學(xué)習(xí)(representation learning)或者表征學(xué)習(xí) 。
特征工程(feature engineering),主要指對于數(shù)據(jù)的人為處理提取,有時(shí)候也代指“洗數(shù)據(jù)” 。
不難看出,兩者的主要區(qū)別在于前者是“學(xué)習(xí)的過程”,而后者被認(rèn)為是一門“人為的工程”。用更加白話的方式來說,特征學(xué)習(xí)是從數(shù)據(jù)中自動(dòng)抽取特征或者表示的方法,這個(gè)學(xué)習(xí)過程是模型自主的。而特征工程的過程是人為的對數(shù)據(jù)進(jìn)行處理,得到我們認(rèn)為的、適合后續(xù)模型使用的樣式。
舉個(gè)簡單的例子,深度學(xué)習(xí)就是一種表示學(xué)習(xí),其學(xué)習(xí)過程是一種對于有效特征的抽取過程。有用的特征在層層學(xué)習(xí)后抽取了出來,最終交給了后面的分類層進(jìn)行預(yù)測。
一種比較不嚴(yán)謹(jǐn)?shù)庇^的理解可以是,假設(shè)一個(gè)n層的深度學(xué)習(xí)網(wǎng)絡(luò),那么輸入數(shù)據(jù)在被網(wǎng)絡(luò)逐層抽象化,靠前的層(1~k)學(xué)到了低階特征(low level features),中間層(k+1~m)學(xué)到了中階特征(middle level features),而靠后的層上(m+1~n-1)特征達(dá)到了高度的抽象化獲得了高階特征(high level features),最終高度的抽象化的特征被應(yīng)用于分類層(n)上,從而得到了良好的分類結(jié)果。
一個(gè)常用例子是說卷積網(wǎng)絡(luò)的前面幾層可以學(xué)到“邊的概念”,之后學(xué)到了“角的概念”,并逐步學(xué)到了更加抽象復(fù)雜的如“圖形的概念”。
下圖就給出了一個(gè)直觀的例子,即圖像經(jīng)過深度網(wǎng)絡(luò)學(xué)習(xí)后得到了高度抽象的有效特征,從而作為預(yù)測層的輸入數(shù)據(jù),并最終預(yù)測目標(biāo)是一只貓。
另一個(gè)常見的例子就是下圖中,深度信念網(wǎng)絡(luò)(deep belief network)通過堆疊的受限玻爾茲曼機(jī)(Stacked RBM)來學(xué)習(xí)特征,和cnn不同這個(gè)過程是無監(jiān)督的。將RBF堆疊的原因就是將底層RBF學(xué)到的特征逐漸傳遞的上層的RBF上,逐漸抽取復(fù)雜的特征。比如下圖從左到右就可以是低層RBF學(xué)到的特征到高層RBF學(xué)到的復(fù)雜特征。在得到這些良好的特征后就可以傳入后端的傳統(tǒng)神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)。
換個(gè)不嚴(yán)謹(jǐn)?shù)陌自捳f法,深度學(xué)習(xí)的層層網(wǎng)絡(luò)可以從數(shù)據(jù)中自動(dòng)學(xué)習(xí)到有用的、高度抽象的特征,而最終目的是為了幫助分類層做出良好的預(yù)測。而深度學(xué)習(xí)為什么效果好?大概和它能夠有效的抽取到特征脫不了關(guān)系。
當(dāng)然,深度學(xué)習(xí)的一大特點(diǎn)是其對數(shù)據(jù)的分布式表示(distributed representation)(*也和稀疏性表示等其他特性有關(guān)),最直觀的例子可以是nlp中的word2vec,每個(gè)單詞不再是割裂的而互相有了關(guān)聯(lián)。類似的,不少網(wǎng)絡(luò)中的參數(shù)共享就是分布式表示,不僅降低了參數(shù)量需求也提高對于數(shù)據(jù)的描述能力。僅看分類層的話,深度學(xué)習(xí)和其他的機(jī)器學(xué)習(xí)似乎沒有天壤之別,但正因?yàn)橛辛朔N種良好的表示學(xué)習(xí)能力使其有了過人之處。
下圖直觀的對比了我們上文提到的兩種特征的學(xué)習(xí)方式,傳統(tǒng)的機(jī)器學(xué)習(xí)方法主要依賴人工特征處理與提取,而深度學(xué)習(xí)依賴模型自身去學(xué)習(xí)數(shù)據(jù)的表示。
綜上,機(jī)器學(xué)習(xí)模型對于數(shù)據(jù)的處理可以被大致歸類到兩個(gè)方向: 表示學(xué)習(xí):模型自動(dòng)對輸入數(shù)據(jù)進(jìn)行學(xué)習(xí),得到更有利于使用的特征(*可能同時(shí)做出了預(yù)測)。
代表的算法大致包括: 深度學(xué)習(xí),包括大部分常見的模型如cnn/rnn/dbn,也包括遷移學(xué)習(xí)等 某些無監(jiān)督學(xué)習(xí)算法,如主成分分析(PCA)通過對數(shù)據(jù)轉(zhuǎn)化而使得輸入數(shù)據(jù)更有意義 某些樹模型可以自動(dòng)的學(xué)習(xí)到數(shù)據(jù)中的特征并同時(shí)作出預(yù)測 特征工程:模型依賴人為處理的數(shù)據(jù)特征,而模型的主要任務(wù)是預(yù)測,比如簡單的線性回歸期待良好的輸入數(shù)據(jù)(如離散化后的數(shù)據(jù)) 需要注意的是,這種歸類方法是不嚴(yán)謹(jǐn)?shù)?,僅為了直觀目的而已。并沒有一種劃分說a算法是表示學(xué)習(xí),而b算法不是,只是為了一種便于理解的劃分。
因此,大部分的模型都處于純粹的表示學(xué)習(xí)和純粹的依賴人工特征之間,程度不同而已,很少有絕對的自動(dòng)學(xué)習(xí)模型。
那么好奇的讀者會(huì)問:
1. 是不是自動(dòng)的特征抽取(表示學(xué)習(xí))總是更好?
答案是不一定的:
在數(shù)據(jù)量不夠的時(shí)候,自動(dòng)特征抽取的方法往往不如人為的特征工程。
當(dāng)使用者對于數(shù)據(jù)和問題有深刻的理解時(shí),人工的特征工程往往效果更好。
一個(gè)極端的例子是,在kaggle比賽中的特征工程總能帶來一些提升,因此人工的特征抽取和處理依然有用武之地。
同時(shí)也值得注意,表示學(xué)習(xí)的另一好處是高度抽象化的特征往往可以被應(yīng)用于相關(guān)的領(lǐng)域上,這也是我們常說的遷移學(xué)習(xí)(transfer learning)的思路。比如有了大量貓的圖片以后,不僅可以用于預(yù)測一個(gè)物體是不是貓,也可以用于將抽取到的特征再運(yùn)用于其他類似的領(lǐng)域從而節(jié)省數(shù)據(jù)開銷。
2. 特征學(xué)習(xí)(表示學(xué)習(xí)),特征工程,特征選擇,維度壓縮之間有什么關(guān)系?
從某個(gè)角度來看,表示學(xué)習(xí)有“嵌入式的特征選擇”(embedded feature selection)的特性,其表示學(xué)習(xí)嵌入到了模型中。
舉個(gè)簡單的例子,決策樹模型在訓(xùn)練過程中可以同時(shí)學(xué)習(xí)到不同特征的重要性,而這個(gè)過程是建模的一部分,是一種嵌入式的特征選擇。
巧合的看,表示學(xué)習(xí)也是一種嵌入表示(embedded representation)。如維度壓縮方法PCA,也是一種將高維數(shù)據(jù)找到合適的低維嵌入的過程,前文提到的word2vec也是另一種“嵌入”。至于這種“嵌入”是否必須是高維到低維,不一定但往往是因?yàn)樘卣鞅怀橄蠡恕R陨咸岬降膬煞N嵌入一種是對于模型的嵌入,一種是在維度上嵌入,主要是名字上的巧合。
3. 理解不同數(shù)據(jù)處理方法對于我們有什么幫助?
首先對于模型選擇有一定的幫助: 當(dāng)我們數(shù)據(jù)量不大,且對于數(shù)據(jù)非常理解時(shí),人為的特征處理也就是特征工程是合適的。比如去掉無關(guān)數(shù)據(jù)、選擇適合的數(shù)據(jù)、合并數(shù)據(jù)、對數(shù)據(jù)做離散化等。 當(dāng)數(shù)據(jù)量較大或者我們的人為先驗(yàn)理解很有限時(shí),可以嘗試表示學(xué)習(xí),如依賴一氣呵成的深度學(xué)習(xí),效果往往不錯(cuò)。
4. 為什么有的模型擁有表示學(xué)習(xí)的能力,而有的沒有?
這個(gè)問題需要分模型討論。以深度學(xué)習(xí)為例,特征學(xué)習(xí)是一種對于模型的理解,并不是唯一的理解,而為什么泛化效果好,還缺乏系統(tǒng)的理論研究。
5. 特征工程指的是對于數(shù)據(jù)的清理,和學(xué)習(xí)有什么關(guān)系?
此處我們想再次強(qiáng)調(diào)的是,這個(gè)不是一個(gè)嚴(yán)謹(jǐn)?shù)目茖W(xué)劃分,是一種直觀的理解。如果所使用的模型擁有對于數(shù)據(jù)的簡化、特征表示和抽取能力,我們都可以認(rèn)為它是有表示學(xué)習(xí)的特性。
至于哪個(gè)模型算,哪個(gè)模型不算,不必糾結(jié)這點(diǎn)。而狹義的特征工程指的是處理缺失值、特征選擇、維度壓縮等各種預(yù)處理手段,而從更大的角度看主要目的是提高數(shù)據(jù)的表示能力。對于數(shù)據(jù)的人為提煉使其有了更好的表達(dá),這其實(shí)是人工的表示學(xué)習(xí)。
寫在最后是,這篇回答僅僅是一種對于機(jī)器學(xué)習(xí)中數(shù)據(jù)處理方法的理解,并不是唯一正確的看法。有鑒于機(jī)器學(xué)習(xí)領(lǐng)域的知識(shí)更迭速度很快,個(gè)人的知識(shí)儲(chǔ)備也有限,僅供參考。
-
人工智能
+關(guān)注
關(guān)注
1793文章
47532瀏覽量
239306 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8429瀏覽量
132854 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5511瀏覽量
121355
原文標(biāo)題:人工智能是如何處理數(shù)據(jù)的?
文章出處:【微信號(hào):jingzhenglizixun,微信公眾號(hào):機(jī)器人博覽】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論