作者:譚東
一般根據(jù)我們的數(shù)據(jù)類(lèi)型的不同,對(duì)相應(yīng)問(wèn)題的建模也有不同的方式。在機(jī)器學(xué)習(xí)或者人工智能領(lǐng)域,人們首先會(huì)考慮算法的學(xué)習(xí)方式。在機(jī)器學(xué)習(xí)領(lǐng)域,有幾種主要的學(xué)習(xí)方式。將算法按照學(xué)習(xí)方式分類(lèi)是一個(gè)不錯(cuò)的想法,這樣可以讓人們?cè)诮:退惴ㄟx擇的時(shí)候考慮能根據(jù)輸入數(shù)據(jù)來(lái)選擇最合適的算法來(lái)獲得最好的結(jié)果。
主要分為:監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí),半監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。監(jiān)督學(xué)習(xí)主要用于回歸和分類(lèi);半監(jiān)督學(xué)習(xí)主要用于分類(lèi),回歸,半監(jiān)督聚類(lèi);無(wú)監(jiān)督學(xué)習(xí)主要用于聚類(lèi)。
那我們先看下這幾種學(xué)習(xí)方式的特點(diǎn)和差別:
1)監(jiān)督學(xué)習(xí)(Supervised learning)
監(jiān)督學(xué)習(xí)是指利用一組已知類(lèi)別的樣本調(diào)整分類(lèi)器的參數(shù),使其達(dá)到所要求性能的過(guò)程,也稱(chēng)為監(jiān)督訓(xùn)練或有教師學(xué)習(xí)。是從標(biāo)記的訓(xùn)練數(shù)據(jù)來(lái)推斷一個(gè)功能的機(jī)器學(xué)習(xí)任務(wù),也就是樣本標(biāo)簽打好了。訓(xùn)練數(shù)據(jù)包括一套訓(xùn)練示例。在監(jiān)督學(xué)習(xí)中,每個(gè)實(shí)例都是由一個(gè)輸入對(duì)象(通常為矢量)和一個(gè)期望的輸出值(也稱(chēng)為監(jiān)督信號(hào))組成。監(jiān)督學(xué)習(xí)算法是分析該訓(xùn)練數(shù)據(jù),并產(chǎn)生一個(gè)推斷的功能,其可以用于映射出新的實(shí)例。一個(gè)最佳的方案將允許該算法來(lái)正確地決定那些看不見(jiàn)的實(shí)例的類(lèi)標(biāo)簽。這就要求學(xué)習(xí)算法是在一種“合理”的方式從一種從訓(xùn)練數(shù)據(jù)到看不見(jiàn)的情況下形成。
舉個(gè)例子:監(jiān)督學(xué)習(xí)就像我們?cè)趯W(xué)習(xí)時(shí)候旁邊有老師指點(diǎn)一樣,老師知道你輸入的數(shù)據(jù)是正確還是錯(cuò)誤,他可以利用他所知道的數(shù)據(jù)幫你進(jìn)行正確和錯(cuò)誤分類(lèi)和指導(dǎo)。監(jiān)督學(xué)習(xí)就是人們常說(shuō)的分類(lèi),我們根據(jù)已有的訓(xùn)練樣本,也就是數(shù)據(jù)進(jìn)行了標(biāo)記,輸入和輸出是對(duì)應(yīng)的。那么我們就可以根據(jù)這個(gè)已經(jīng)訓(xùn)練好的模型去判斷和映射其他輸入的數(shù)據(jù)的對(duì)應(yīng)的輸出,也就實(shí)現(xiàn)了對(duì)未知數(shù)據(jù)的分類(lèi)。類(lèi)似仿生學(xué),我們從小并不知道什么是手機(jī)、電視、鳥(niǎo)、豬,那么這些東西就是輸入數(shù)據(jù),而家長(zhǎng)會(huì)根據(jù)他的經(jīng)驗(yàn)指點(diǎn)告訴我們哪些是手機(jī)、電視、鳥(niǎo)、豬。這就是通過(guò)模型判斷分類(lèi)。當(dāng)我們掌握了這些數(shù)據(jù)分類(lèi)模型,我們就可以對(duì)這些數(shù)據(jù)進(jìn)行自己的判斷和分類(lèi)了。
在監(jiān)督式學(xué)習(xí)下,輸入數(shù)據(jù)被稱(chēng)為“訓(xùn)練數(shù)據(jù)”,每組訓(xùn)練數(shù)據(jù)有一個(gè)明確的標(biāo)識(shí)或結(jié)果,如對(duì)防垃圾郵件系統(tǒng)中“垃圾郵件”“非垃圾郵件”,對(duì)手寫(xiě)數(shù)字識(shí)別中的“1“,”2“,”3“,”4“等。在建立預(yù)測(cè)模型的時(shí)候,監(jiān)督式學(xué)習(xí)建立一個(gè)學(xué)習(xí)過(guò)程,將預(yù)測(cè)結(jié)果與“訓(xùn)練數(shù)據(jù)”的實(shí)際結(jié)果進(jìn)行比較,不斷的調(diào)整預(yù)測(cè)模型,直到模型的預(yù)測(cè)結(jié)果達(dá)到一個(gè)預(yù)期的準(zhǔn)確率。監(jiān)督式學(xué)習(xí)的常見(jiàn)應(yīng)用場(chǎng)景如分類(lèi)問(wèn)題和回歸問(wèn)題。常見(jiàn)監(jiān)督式學(xué)習(xí)算法有決策樹(shù)(ID3,C4.5算法等),樸素貝葉斯分類(lèi)器,最小二乘法,邏輯回歸(Logistic Regression),支持向量機(jī)(SVM),K最近鄰算法(KNN,K-NearestNeighbor),線性回歸(LR,Linear Regreesion),人工神經(jīng)網(wǎng)絡(luò)(ANN,Artificial Neural Network),集成學(xué)習(xí)以及反向傳遞神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)等等。下圖是幾種監(jiān)督式學(xué)習(xí)算法的比較:
2)非監(jiān)督學(xué)習(xí)(Unsupervised learing)
非監(jiān)督學(xué)習(xí)是另一種研究的比較多的學(xué)習(xí)方法,它與監(jiān)督學(xué)習(xí)的不同之處,在于我們事先沒(méi)有任何訓(xùn)練樣本,而需要直接對(duì)數(shù)據(jù)進(jìn)行建模。是否有監(jiān)督(Supervised),就看輸入數(shù)據(jù)是否有標(biāo)簽(Label)。輸入數(shù)據(jù)有標(biāo)簽(即數(shù)據(jù)有標(biāo)識(shí)分類(lèi)),則為有監(jiān)督學(xué)習(xí),沒(méi)標(biāo)簽則為無(wú)監(jiān)督學(xué)習(xí)。這聽(tīng)起來(lái)似乎有點(diǎn)不可思議,但是在我們自身認(rèn)識(shí)世界的過(guò)程中很多處都用到了無(wú)監(jiān)督學(xué)習(xí)。比如我們?nèi)⒂^一個(gè)畫(huà)展,我們完全對(duì)藝術(shù)一無(wú)所知,但是欣賞完多幅作品之后,我們也能把它們分成不同的派別(比如哪些更朦朧一點(diǎn),哪些更寫(xiě)實(shí)一些,即使我們不知道什么叫做朦朧派,什么叫做寫(xiě)實(shí)派,但是至少我們能把他們分為兩個(gè)類(lèi))。無(wú)監(jiān)督學(xué)習(xí)里典型的例子就是聚類(lèi)了。聚類(lèi)的目的在于把相似的東西聚在一起,而我們并不關(guān)心這一類(lèi)是什么。因此,一個(gè)聚類(lèi)算法通常只需要知道如何計(jì)算相似度就可以開(kāi)始工作了。 在非監(jiān)督式學(xué)習(xí)中,數(shù)據(jù)并不被特別標(biāo)識(shí),學(xué)習(xí)模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。
非監(jiān)督學(xué)習(xí)在聚類(lèi)上同監(jiān)督學(xué)習(xí)分類(lèi)效果相比無(wú)法做到同樣的完美,那么我們?yōu)槭裁催€要使用非監(jiān)督學(xué)習(xí)聚類(lèi)?因?yàn)樵诤芏鄬?shí)際應(yīng)用中,并沒(méi)有大量的標(biāo)識(shí)數(shù)據(jù)進(jìn)行使用,并且標(biāo)識(shí)數(shù)據(jù)需要大量的人工工作量,非常困難。那么我們就需要非監(jiān)督學(xué)習(xí)根據(jù)數(shù)據(jù)的相似度,特征及相關(guān)聯(lián)系進(jìn)行模糊判斷分類(lèi)。
常見(jiàn)的應(yīng)用場(chǎng)景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)以及聚類(lèi)等。常見(jiàn)非監(jiān)督學(xué)習(xí)算法包括聚類(lèi)算法、奇異值分解、主成分分析(PCA)、SVD矩陣分解、獨(dú)立成分分析(ICA)、Apriori算法以及K-均值算法(K-Means)、稀疏自編碼(sparse auto-encoder)等等。
3)半監(jiān)督學(xué)習(xí)(Semi-supervised Learning)
半監(jiān)督學(xué)習(xí)(Semi-Supervised Learning,SSL)是模式識(shí)別和機(jī)器學(xué)習(xí)領(lǐng)域研究的重點(diǎn)問(wèn)題,是監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)相結(jié)合的一種學(xué)習(xí)方法。半監(jiān)督學(xué)習(xí)使用大量的未標(biāo)記數(shù)據(jù),以及同時(shí)使用標(biāo)記數(shù)據(jù),來(lái)進(jìn)行模式識(shí)別工作。當(dāng)使用半監(jiān)督學(xué)習(xí)時(shí),將會(huì)要求盡量少的人員來(lái)從事工作,同時(shí),又能夠帶來(lái)比較高的準(zhǔn)確性,因此,半監(jiān)督學(xué)習(xí)目前正越來(lái)越受到人們的重視。
在此學(xué)習(xí)方式下,輸入數(shù)據(jù)部分被標(biāo)識(shí),部分沒(méi)有被標(biāo)識(shí),這種學(xué)習(xí)模型可以用來(lái)進(jìn)行預(yù)測(cè),但是模型首先需要學(xué)習(xí)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理的組織數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè)。
半監(jiān)督學(xué)習(xí)有兩個(gè)樣本集,一個(gè)有標(biāo)記,一個(gè)沒(méi)有標(biāo)記。分別記作Lable={(xi,yi)},Unlabled={(xi)},并且數(shù)量,L<<U。
1、單獨(dú)使用有標(biāo)記樣本,我們能夠生成有監(jiān)督分類(lèi)算法
2、單獨(dú)使用無(wú)標(biāo)記樣本,我們能夠生成無(wú)監(jiān)督聚類(lèi)算法
3、兩者都使用,我們希望在1中加入無(wú)標(biāo)記樣本,增強(qiáng)有監(jiān)督分類(lèi)的效果;同樣的,我們希望在2中加入有標(biāo)記樣本,增強(qiáng)無(wú)監(jiān)督聚類(lèi)的效果
一般而言,半監(jiān)督學(xué)習(xí)側(cè)重于在有監(jiān)督的分類(lèi)算法中加入無(wú)標(biāo)記樣本來(lái)實(shí)現(xiàn)半監(jiān)督分類(lèi),也就是在1中加入無(wú)標(biāo)記樣本,增強(qiáng)分類(lèi)效果[1]。應(yīng)用場(chǎng)景包括分類(lèi)和回歸,算法包括一些對(duì)常用監(jiān)督式學(xué)習(xí)算法的延伸,這些算法首先試圖對(duì)未標(biāo)識(shí)數(shù)據(jù)進(jìn)行建模,在此基礎(chǔ)上再對(duì)標(biāo)識(shí)的數(shù)據(jù)進(jìn)行預(yù)測(cè)。如自訓(xùn)練算法(self-training)、多視角算法(Multi-View)、生成模型(Enerative Models)、圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(jī)(Laplacian SVM)等。
(圖片來(lái)自百度百科)
4)強(qiáng)化學(xué)習(xí)(Reinforcement learning)
又稱(chēng)再勵(lì)學(xué)習(xí)、評(píng)價(jià)學(xué)習(xí),是一種重要的機(jī)器學(xué)習(xí)方法,在智能控制機(jī)器人及分析預(yù)測(cè)等領(lǐng)域有許多應(yīng)用。但在傳統(tǒng)的機(jī)器學(xué)習(xí)分類(lèi)中沒(méi)有提到過(guò)強(qiáng)化學(xué)習(xí),而在連接主義學(xué)習(xí)中,把學(xué)習(xí)算法分為三種類(lèi)型,即非監(jiān)督學(xué)習(xí)(unsupervised learning)、監(jiān)督學(xué)習(xí)(supervised leaning)和強(qiáng)化學(xué)習(xí)。
在這種學(xué)習(xí)模式下,輸入數(shù)據(jù)作為對(duì)模型的反饋,不像監(jiān)督模型那樣,輸入數(shù)據(jù)僅僅是作為一個(gè)檢查模型對(duì)錯(cuò)的方式,在強(qiáng)化學(xué)習(xí)下,輸入數(shù)據(jù)直接反饋到模型,模型必須對(duì)此立刻作出調(diào)整。常見(jiàn)的應(yīng)用場(chǎng)景包括動(dòng)態(tài)系統(tǒng)以及機(jī)器人控制等。常見(jiàn)算法包括Q-Learning以及時(shí)間差學(xué)習(xí)(Temporal difference learning)。在企業(yè)數(shù)據(jù)應(yīng)用的場(chǎng)景下, 人們最常用的可能就是監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)的模型。 在圖像識(shí)別等領(lǐng)域,由于存在大量的非標(biāo)識(shí)的數(shù)據(jù)和少量的可標(biāo)識(shí)數(shù)據(jù), 目前半監(jiān)督式學(xué)習(xí)是一個(gè)很熱的話題。 而強(qiáng)化學(xué)習(xí)更多的應(yīng)用在機(jī)器人控制及其他需要進(jìn)行系統(tǒng)控制的領(lǐng)域。
強(qiáng)化學(xué)習(xí)靈感來(lái)源于心理學(xué)中的行為主義理論,即有機(jī)體如何在環(huán)境給予的獎(jiǎng)勵(lì)或懲罰的刺激下,逐步形成對(duì)刺激的預(yù)期,產(chǎn)生能獲得最大利益的習(xí)慣性行為。這個(gè)方法具有普適性,因此在其他許多領(lǐng)域都有研究,例如博弈論、控制論、運(yùn)籌學(xué)、信息論、模擬優(yōu)化方法、多主體系統(tǒng)學(xué)習(xí)、群體智能、統(tǒng)計(jì)學(xué)以及遺傳算法。 它的本質(zhì)就是解決“決策(decision making)”問(wèn)題,即學(xué)會(huì)自動(dòng)進(jìn)行決策。它在沒(méi)有任何label告訴算法應(yīng)該怎么做的情況下,通過(guò)先嘗試做出一些行為——然后得到一個(gè)結(jié)果,通過(guò)判斷這個(gè)結(jié)果是對(duì)還是錯(cuò)來(lái)對(duì)之前的行為進(jìn)行反饋。由這個(gè)反饋來(lái)調(diào)整之前的行為,通過(guò)不斷的調(diào)整算法能夠?qū)W習(xí)到在什么樣的情況下選擇什么樣的行為可以得到最好的結(jié)果。
重點(diǎn):強(qiáng)化學(xué)習(xí)其實(shí)就是自動(dòng)進(jìn)行決策,并且可以做連續(xù)決策。強(qiáng)化學(xué)習(xí)有很多應(yīng)用,比如自動(dòng)直升機(jī),機(jī)器人控制,手機(jī)網(wǎng)絡(luò)路由,市場(chǎng)決策,工業(yè)控制,高效網(wǎng)頁(yè)索引,無(wú)人駕駛,AlphaGo,玩游戲,還在制造業(yè)、庫(kù)存處理、電商、廣告、推薦、金融、醫(yī)療等與我們生活息息相關(guān)的領(lǐng)域也有應(yīng)用。像強(qiáng)化學(xué)習(xí)里的Q-Learning可以很好的處理動(dòng)態(tài)定價(jià)問(wèn)題。在電商中,也可以用強(qiáng)化學(xué)習(xí)算法來(lái)學(xué)習(xí)和分析顧客行為,定制產(chǎn)品和服務(wù)以滿足客戶的個(gè)性化需求。如雙 11 推薦場(chǎng)景中,阿里巴巴使用了深度強(qiáng)化學(xué)習(xí)與自適應(yīng)在線學(xué)習(xí),通過(guò)持續(xù)機(jī)器學(xué)習(xí)和模型優(yōu)化建立決策引擎,對(duì)海量用戶行為以及百億級(jí)商品特征進(jìn)行實(shí)時(shí)分析,幫助每一個(gè)用戶迅速發(fā)現(xiàn)寶貝,提高人和商品的配對(duì)效率。還有,利用強(qiáng)化學(xué)習(xí)將手機(jī)用戶點(diǎn)擊率提升了 10-20%。例如一家日本公司 Fanuc,工廠機(jī)器人在拿起一個(gè)物體時(shí),會(huì)捕捉這個(gè)過(guò)程的視頻,記住它每次操作的行動(dòng),操作成功還是失敗了,積累經(jīng)驗(yàn),下一次可以更快更準(zhǔn)地采取行動(dòng)。
舉個(gè)例子:以小孩學(xué)習(xí)走路為例,走路時(shí)候小孩需要知道先進(jìn)行決定先邁那條腿,如果第一步作對(duì)了,那么就會(huì)得到獎(jiǎng)勵(lì),錯(cuò)了,那么記錄下來(lái),再進(jìn)行第二次走路時(shí)候進(jìn)行學(xué)習(xí)更正。例如在向用戶推薦新聞文章的任務(wù)中,非監(jiān)督式會(huì)找到用戶先前已經(jīng)閱讀過(guò)類(lèi)似的文章并向他們推薦其一,而強(qiáng)化學(xué)習(xí)將通過(guò)向用戶先推薦少量的新聞,并不斷獲得來(lái)自用戶的反饋,最后構(gòu)建用戶可能會(huì)喜歡的文章的“知識(shí)圖”。
強(qiáng)化學(xué)習(xí)常用算法:TD算法(時(shí)間差分學(xué)習(xí),Temporal Difference)、SARSA算法、Q-Learning算法等。我們當(dāng)然也需要了解馬爾可夫決策過(guò)程(MDP,Markov Decision Processes),這樣更利于我們對(duì)強(qiáng)化學(xué)習(xí)的理解。
后面講給大家一一列舉相關(guān)的常用算法。
參考文獻(xiàn):
[1]機(jī)器學(xué)習(xí).Tom M.Mitchell
[2]http://www.asimovinstitute.org/neural-network-zoo/
更多建議: