徐洪學(xué) 孫萬(wàn)有 杜英魁 汪安祺
摘要:機(jī)器學(xué)習(xí)是人工智能的一個(gè)重要子領(lǐng)域,是現(xiàn)階段人工智能和數(shù)據(jù)分析領(lǐng)域的重點(diǎn)研究方向之一,我們有必要對(duì)機(jī)器學(xué)習(xí)有個(gè)全面而深刻的認(rèn)識(shí)理解。根據(jù)訓(xùn)練樣本及反饋方式的不同對(duì)機(jī)器學(xué)習(xí)算法分為監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)及強(qiáng)化學(xué)習(xí)三類,介紹機(jī)器學(xué)習(xí)領(lǐng)域有代表性的若干經(jīng)典算法及其應(yīng)用,最后對(duì)機(jī)器學(xué)習(xí)算法的發(fā)展前景進(jìn)行展望。
關(guān)鍵詞:機(jī)器學(xué)習(xí);監(jiān)督學(xué)習(xí);無(wú)監(jiān)督學(xué)習(xí);強(qiáng)化學(xué)習(xí);深度學(xué)習(xí)
中圖分類號(hào):TP181 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)33-0017-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 背景
機(jī)器學(xué)習(xí)領(lǐng)域的著名學(xué)者湯姆·米切爾(Tom Mitchell)將機(jī)器學(xué)習(xí)定義為:對(duì)于計(jì)算機(jī)程序有經(jīng)驗(yàn)E、學(xué)習(xí)任務(wù)T和性能度量P,如果計(jì)算機(jī)程序針對(duì)任務(wù)T的性能P隨著經(jīng)驗(yàn)E不斷增長(zhǎng),就稱這個(gè)計(jì)算機(jī)程序從經(jīng)驗(yàn)E學(xué)習(xí)[1]。這個(gè)定義比較簡(jiǎn)單抽象,隨著對(duì)機(jī)器學(xué)習(xí)的研究越來(lái)越深入,我們會(huì)發(fā)現(xiàn)機(jī)器學(xué)習(xí)的內(nèi)涵和外延也在不斷變化。簡(jiǎn)言之,機(jī)器學(xué)習(xí)就是用計(jì)算機(jī)通過(guò)算法來(lái)學(xué)習(xí)數(shù)據(jù)中包含的內(nèi)在規(guī)律和信息,從而獲得新的經(jīng)驗(yàn)和知識(shí),以提高計(jì)算機(jī)的智能性,使計(jì)算機(jī)面對(duì)問(wèn)題時(shí)能夠做出與人類相似的決策[2]。
隨著各行各業(yè)的發(fā)展,數(shù)據(jù)量增多,對(duì)數(shù)據(jù)處理和分析的效率有了更高的要求,一系列的機(jī)器學(xué)習(xí)算法應(yīng)運(yùn)而生。機(jī)器學(xué)習(xí)算法主要是指運(yùn)用大量的統(tǒng)計(jì)學(xué)原理來(lái)求解最優(yōu)化問(wèn)題的步驟和過(guò)程。針對(duì)各式各樣的模型需求,選用適當(dāng)?shù)臋C(jī)器學(xué)習(xí)算法可以更高效地解決一些實(shí)際問(wèn)題[3]。
2 機(jī)器學(xué)習(xí)算法的分類
按照現(xiàn)在主流的分類方式,可以根據(jù)訓(xùn)練樣本及反饋方式的不同,主要將機(jī)器學(xué)習(xí)算法分為監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)3種類型。其中監(jiān)督學(xué)習(xí)是機(jī)器學(xué)習(xí)這三個(gè)分支中最大和最重要的分支。另外,作為監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí)相結(jié)合的半監(jiān)督學(xué)習(xí)方法[4],暫不列在本文討論范圍之內(nèi)。
2.1 監(jiān)督學(xué)習(xí)算法(Supervised Algorithms)
在監(jiān)督學(xué)習(xí)中,訓(xùn)練集中的樣本都是有標(biāo)簽的,使用這些有標(biāo)簽樣本進(jìn)行調(diào)整建模,從而使模型產(chǎn)生一個(gè)推斷功能,能夠正確映射出新的未知數(shù)據(jù),從而獲得新的知識(shí)或技能[5]。
根據(jù)標(biāo)簽類型的不同,可以將監(jiān)督學(xué)習(xí)分為分類問(wèn)題和回歸問(wèn)題兩種。前者預(yù)測(cè)的是樣本類別(離散的),例如給定鳶尾花的花瓣長(zhǎng)度、花瓣寬度、花萼長(zhǎng)度等信息,然后判斷其種類;后者預(yù)測(cè)的則是樣本對(duì)應(yīng)的實(shí)數(shù)輸出(連續(xù)的),例如預(yù)測(cè)某一時(shí)期一個(gè)地區(qū)的降水量。常見(jiàn)的監(jiān)督學(xué)習(xí)算法包括決策樹(shù)、樸素貝葉斯及支持向量機(jī)等。
2.2 無(wú)監(jiān)督學(xué)習(xí)算法(Unsupervised Algorithms)
無(wú)監(jiān)督學(xué)習(xí)與監(jiān)督學(xué)習(xí)相反,訓(xùn)練集的樣本是完全沒(méi)有標(biāo)簽的。無(wú)監(jiān)督學(xué)習(xí)按照解決的問(wèn)題不同,可以分為關(guān)聯(lián)分析、聚類問(wèn)題和維度約減三種。
關(guān)聯(lián)分析是指通過(guò)不同樣本同時(shí)出現(xiàn)的概率,發(fā)現(xiàn)樣本之間的聯(lián)系和關(guān)系。這被廣泛地應(yīng)用于購(gòu)物籃分析中。例如,如果發(fā)現(xiàn)購(gòu)買泡面的顧客有百分之八十的概率買啤酒,那么商家就會(huì)把啤酒和泡面放在臨近的貨架上。
聚類問(wèn)題是指將數(shù)據(jù)集中的樣本分成若干個(gè)簇,相同類型的樣本被劃分為一個(gè)簇。聚類問(wèn)題與分類問(wèn)題關(guān)鍵的區(qū)別就在于訓(xùn)練集樣本沒(méi)有標(biāo)簽,預(yù)先不知道類別。
維度約減是指保證數(shù)據(jù)集不丟失有意義的信息的同時(shí)減少數(shù)據(jù)的維度。利用特征選擇方法和特征提取兩種方法都可以取得這種效果,前者是指選擇原始變量的子集,后者是指將數(shù)據(jù)由高維度轉(zhuǎn)換到低維度。
無(wú)監(jiān)督學(xué)習(xí)與人類的學(xué)習(xí)方式更為相似,被譽(yù)為是人工智能最有價(jià)值的地方[6]。常見(jiàn)的無(wú)監(jiān)督學(xué)習(xí)算法包括稀疏自編碼、主成分分析及K-means等。
2.3 強(qiáng)化學(xué)習(xí)算法(Reinforcement Algorithms)
強(qiáng)化學(xué)習(xí)是從動(dòng)物行為研究和優(yōu)化控制兩個(gè)領(lǐng)域發(fā)展而來(lái)。強(qiáng)化學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)一樣都是使用未標(biāo)記的訓(xùn)練集,其算法基本原理是:環(huán)境對(duì)Agent(軟件智能體)的某個(gè)行為策略發(fā)出獎(jiǎng)賞或懲罰的信號(hào),Agent要使每個(gè)離散狀態(tài)期望的獎(jiǎng)賞都最大,從而根據(jù)信號(hào)來(lái)增加或減少以后產(chǎn)生這個(gè)行為策略的趨勢(shì)[7]。
強(qiáng)化學(xué)習(xí)這一方法背后的數(shù)學(xué)原理與監(jiān)督/非監(jiān)督學(xué)習(xí)略有差異。監(jiān)督/非監(jiān)督學(xué)習(xí)更多地應(yīng)用了統(tǒng)計(jì)學(xué)知識(shí),而強(qiáng)化學(xué)習(xí)更多地應(yīng)用了離散數(shù)學(xué)、隨機(jī)過(guò)程等這些數(shù)學(xué)方法[8]。常見(jiàn)的強(qiáng)化學(xué)習(xí)算法包括Q一學(xué)習(xí)算法、瞬時(shí)差分法、自適應(yīng)啟發(fā)評(píng)價(jià)算法等。
3 機(jī)器學(xué)習(xí)經(jīng)典算法及其應(yīng)用
機(jī)器學(xué)習(xí)作為一個(gè)獨(dú)立的研究方向已經(jīng)經(jīng)過(guò)了近四十年的發(fā)展,期間經(jīng)過(guò)一代又一代研究人員的努力,誕生了眾多經(jīng)典的機(jī)器學(xué)習(xí)算法,但限于篇幅無(wú)法對(duì)所有算法一一整理總結(jié),以下只列舉了有代表性的一部分經(jīng)典算法進(jìn)行描述。
3.1 樸素貝葉斯(Naive Bayesian)
樸素貝葉斯算法基于統(tǒng)計(jì)學(xué)分類中的貝葉斯定理,將特征條件獨(dú)立性假設(shè)作為前提,是一種常見(jiàn)的有監(jiān)督學(xué)習(xí)分類算法。對(duì)于給定的一組數(shù)據(jù)集,樸素貝葉斯算法會(huì)求得輸入/輸 出的聯(lián)合概率分布,然后在統(tǒng)計(jì)數(shù)據(jù)的基礎(chǔ)上,依據(jù)條件概率公式,計(jì)算當(dāng)前特征的樣本屬于某個(gè)分類的概率,選擇概率最大的分類。
在實(shí)際情況下,樸素貝葉斯算法的獨(dú)立假設(shè)并不能成立,所以其性能略差于其他一些機(jī)器學(xué)習(xí)算法,但是由于其實(shí)現(xiàn)簡(jiǎn)單、計(jì)算復(fù)雜度低且對(duì)訓(xùn)練集數(shù)據(jù)量的要求不大,使其在文本分類、網(wǎng)絡(luò)輿情分析等領(lǐng)域上有著十分廣泛的應(yīng)用[9]。另一方面,由于實(shí)際應(yīng)用中存在各特征相互干涉、訓(xùn)練數(shù)據(jù)集缺失等的情況,于是又從中優(yōu)化演變出其他貝葉斯算法[10],以增強(qiáng)其泛化能力。樸素貝葉斯算法的改進(jìn)及應(yīng)用如表1所示。
3.2 K均值算法(K-Means)
K均值算法是一種常用的聚類算法。其核心思想是把數(shù)據(jù)集的對(duì)象劃分為多個(gè)聚類,并使數(shù)據(jù)集中的數(shù)據(jù)點(diǎn)到其所屬聚類的質(zhì)心的距離平方和最小,考慮到算法應(yīng)用的場(chǎng)景不同,此處描述的“距離”包括但不限于歐氏距離、曼哈頓距離等。