TensorFlow 機(jī)器學(xué)習(xí)的學(xué)習(xí)方式

2018-12-17 22:00 更新

作者:譚東

    一般根據(jù)我們的數(shù)據(jù)類型的不同,對(duì)相應(yīng)問(wèn)題的建模也有不同的方式。在機(jī)器學(xué)習(xí)或者人工智能領(lǐng)域,人們首先會(huì)考慮算法的學(xué)習(xí)方式。在機(jī)器學(xué)習(xí)領(lǐng)域,有幾種主要的學(xué)習(xí)方式。將算法按照學(xué)習(xí)方式分類是一個(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í)主要用于回歸和分類;半監(jiān)督學(xué)習(xí)主要用于分類,回歸,半監(jiān)督聚類;無(wú)監(jiān)督學(xué)習(xí)主要用于聚類。

    那我們先看下這幾種學(xué)習(xí)方式的特點(diǎn)和差別:

1)監(jiān)督學(xué)習(xí)(Supervised learning)

    監(jiān)督學(xué)習(xí)是指利用一組已知類別的樣本調(diào)整分類器的參數(shù),使其達(dá)到所要求性能的過(guò)程,也稱為監(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è)期望的輸出值(也稱為監(jiān)督信號(hào))組成。監(jiān)督學(xué)習(xí)算法是分析該訓(xùn)練數(shù)據(jù),并產(chǎn)生一個(gè)推斷的功能,其可以用于映射出新的實(shí)例。一個(gè)最佳的方案將允許該算法來(lái)正確地決定那些看不見(jiàn)的實(shí)例的類標(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ò)誤分類和指導(dǎo)。監(jiān)督學(xué)習(xí)就是人們常說(shuō)的分類,我們根據(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ù)的分類。類似仿生學(xué),我們從小并不知道什么是手機(jī)、電視、鳥(niǎo)、豬,那么這些東西就是輸入數(shù)據(jù),而家長(zhǎng)會(huì)根據(jù)他的經(jīng)驗(yàn)指點(diǎn)告訴我們哪些是手機(jī)、電視、鳥(niǎo)、豬。這就是通過(guò)模型判斷分類。當(dāng)我們掌握了這些數(shù)據(jù)分類模型,我們就可以對(duì)這些數(shù)據(jù)進(jìn)行自己的判斷和分類了。

7cc829d3gw1ekoj9ozt1xj208c06nq31

    在監(jiān)督式學(xué)習(xí)下,輸入數(shù)據(jù)被稱為“訓(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)景如分類問(wèn)題和回歸問(wèn)題。常見(jiàn)監(jiān)督式學(xué)習(xí)算法有決策樹(shù)(ID3,C4.5算法等),樸素貝葉斯分類器,最小二乘法,邏輯回歸(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í)算法的比較:

QQ截圖20170604191416

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í)分類),則為有監(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è)類)。無(wú)監(jiān)督學(xué)習(xí)里典型的例子就是聚類了。聚類的目的在于把相似的東西聚在一起,而我們并不關(guān)心這一類是什么。因此,一個(gè)聚類算法通常只需要知道如何計(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í)在聚類上同監(jiān)督學(xué)習(xí)分類效果相比無(wú)法做到同樣的完美,那么我們?yōu)槭裁催€要使用非監(jiān)督學(xué)習(xí)聚類?因?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)行模糊判斷分類。

    常見(jiàn)的應(yīng)用場(chǎng)景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)以及聚類等。常見(jiàn)非監(jiān)督學(xué)習(xí)算法包括聚類算法、奇異值分解、主成分分析(PCA)、SVD矩陣分解、獨(dú)立成分分析(ICA)、Apriori算法以及K-均值算法(K-Means)、稀疏自編碼(sparse auto-encoder)等等。

7cc829d3gw1ekoj9pp0wxj208c069mxc

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)越受到人們的重視。

7cc829d3gw1ekoj9qcia3j208c05kq3b


    在此學(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)督分類算法

    2、單獨(dú)使用無(wú)標(biāo)記樣本,我們能夠生成無(wú)監(jiān)督聚類算法

    3、兩者都使用,我們希望在1中加入無(wú)標(biāo)記樣本,增強(qiáng)有監(jiān)督分類的效果;同樣的,我們希望在2中加入有標(biāo)記樣本,增強(qiáng)無(wú)監(jiān)督聚類的效果

    一般而言,半監(jiān)督學(xué)習(xí)側(cè)重于在有監(jiān)督的分類算法中加入無(wú)標(biāo)記樣本來(lái)實(shí)現(xiàn)半監(jiān)督分類,也就是在1中加入無(wú)標(biāo)記樣本,增強(qiáng)分類效果[1]。應(yīng)用場(chǎng)景包括分類和回歸,算法包括一些對(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)等。

1496575934276816

(圖片來(lái)自百度百科)

4)強(qiáng)化學(xué)習(xí)(Reinforcement learning)

    又稱再勵(lì)學(xué)習(xí)、評(píng)價(jià)學(xué)習(xí),是一種重要的機(jī)器學(xué)習(xí)方法,在智能控制機(jī)器人及分析預(yù)測(cè)等領(lǐng)域有許多應(yīng)用。但在傳統(tǒng)的機(jī)器學(xué)習(xí)分類中沒(méi)有提到過(guò)強(qiáng)化學(xué)習(xí),而在連接主義學(xué)習(xí)中,把學(xué)習(xí)算法分為三種類型,即非監(jiān)督學(xué)習(xí)(unsupervised learning)、監(jiān)督學(xué)習(xí)(supervised leaning)和強(qiáng)化學(xué)習(xí)。

7cc829d3gw1ekoj9r0xldj208c04wgls


    在這種學(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)域。

175741_pWwH_1774994

    強(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é)果。

57b2ccbf883c8


    重點(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)。

1667471-7b98adf19794ea08

    舉個(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ò)類似的文章并向他們推薦其一,而強(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/




以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)