陳 康,向 勇,喻 超
(1.中國(guó)電信股份有限公司廣東研究院 廣州 510630;2.廣州優(yōu)億信息科技有限公司 廣州 510630)
機(jī)器學(xué)習(xí)是人工智能的一個(gè)核心研究領(lǐng)域。1997年Mitchell T M在“Machine Learning”一書中給出了機(jī)器學(xué)習(xí)的經(jīng)典定義“計(jì)算機(jī)利用經(jīng)驗(yàn)改善系統(tǒng)自身性能的行為”[1]。人類具有學(xué)習(xí)能力,其學(xué)習(xí)行為背后具有非常復(fù)雜的處理機(jī)制,這種處理機(jī)制就是機(jī)器學(xué)習(xí)理論。機(jī)器學(xué)習(xí)主要研究如何使用計(jì)算機(jī)模擬和實(shí)現(xiàn)人類獲取知識(shí)(學(xué)習(xí))過(guò)程,創(chuàng)新、重構(gòu)已有的知識(shí),從而提升自身處理問(wèn)題的能力。機(jī)器學(xué)習(xí)的最終目的是從數(shù)據(jù)中獲取知識(shí)。
近年來(lái),大數(shù)據(jù)吸引了越來(lái)越多的關(guān)注。從各種各樣的數(shù)據(jù)(包括結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù))中快速獲得有價(jià)值信息的能力,就是大數(shù)據(jù)技術(shù)。傳統(tǒng)數(shù)據(jù)分析技術(shù)著重于用預(yù)先設(shè)定的適當(dāng)統(tǒng)計(jì)方法對(duì)數(shù)據(jù)進(jìn)行分析,以求發(fā)現(xiàn)數(shù)據(jù)的功能和價(jià)值;與傳統(tǒng)數(shù)據(jù)分析相比,大數(shù)據(jù)技術(shù)的其中一個(gè)核心目標(biāo)是要從體量巨大、結(jié)構(gòu)繁多的數(shù)據(jù)中挖掘出隱藏在背后的規(guī)律,從而使數(shù)據(jù)發(fā)揮最大化的價(jià)值。從大量結(jié)構(gòu)繁多的數(shù)據(jù)中挖掘隱藏規(guī)律,對(duì)人工操作而言,幾乎無(wú)能為力,必須與機(jī)器學(xué)習(xí)相結(jié)合,由計(jì)算機(jī)代替人去挖掘信息,獲取知識(shí)。大數(shù)據(jù)技術(shù)的目標(biāo)實(shí)現(xiàn)與機(jī)器學(xué)習(xí)的發(fā)展必然密不可分。
業(yè)界對(duì)大數(shù)據(jù)的特征也進(jìn)行了歸納,主要包括以下4點(diǎn)(“4個(gè) V”):數(shù)據(jù)體量巨大 (volume)、數(shù)據(jù)類型繁多(variety)、數(shù)據(jù)價(jià)值密度低(value)、有很多實(shí)時(shí)數(shù)據(jù)要求快速處理(velocity)。由于這幾大特征,大數(shù)據(jù)的發(fā)展從研究方向、評(píng)測(cè)指標(biāo)以及關(guān)鍵技術(shù)等方面對(duì)機(jī)器學(xué)習(xí)都提出了新的需求和挑戰(zhàn)。
在整個(gè)機(jī)器學(xué)習(xí)的發(fā)展歷程中,一直有兩大研究方向。一是研究學(xué)習(xí)機(jī)制,注重探索、模擬人的學(xué)習(xí)機(jī)制;二是研究如何有效利用信息,注重從巨量數(shù)據(jù)中獲取隱藏的、有效的、可理解的知識(shí)。學(xué)習(xí)機(jī)制的研究是機(jī)器學(xué)習(xí)產(chǎn)生的源泉,但隨著大數(shù)據(jù)時(shí)代各行業(yè)對(duì)數(shù)據(jù)分析需求的持續(xù)增加,通過(guò)機(jī)器學(xué)習(xí)高效地獲取知識(shí),已逐漸成為當(dāng)今機(jī)器學(xué)習(xí)技術(shù)發(fā)展的主要推動(dòng)力。
大數(shù)據(jù)時(shí)代的機(jī)器學(xué)習(xí)更強(qiáng)調(diào)“學(xué)習(xí)本身是手段”,機(jī)器學(xué)習(xí)成為一種支持技術(shù)和服務(wù)技術(shù),如何基于機(jī)器學(xué)習(xí)對(duì)復(fù)雜多樣的數(shù)據(jù)進(jìn)行深層次的分析,更高效地利用信息成為當(dāng)前機(jī)器學(xué)習(xí)研究的主要方向。機(jī)器學(xué)習(xí)越來(lái)越朝著智能數(shù)據(jù)分析的方向發(fā)展,并已成為智能數(shù)據(jù)分析技術(shù)的一個(gè)重要源泉。另外,在大數(shù)據(jù)時(shí)代,隨著數(shù)據(jù)產(chǎn)生速度的持續(xù)加快,數(shù)據(jù)的體量有了前所未有的增長(zhǎng),而需要分析的新的數(shù)據(jù)種類也在不斷涌現(xiàn),如文本的理解、文本情感的分析、圖像的檢索和理解、圖形和網(wǎng)絡(luò)數(shù)據(jù)的分析等,機(jī)器學(xué)習(xí)研究領(lǐng)域涌現(xiàn)了很多新的研究方向,很多新的機(jī)器學(xué)習(xí)方法被提出并得到了廣泛應(yīng)用。比如,考慮如何利用未標(biāo)識(shí)數(shù)據(jù)的半監(jiān)督學(xué)習(xí) (semi-supervised learning)[2,3],有效解決訓(xùn)練數(shù)據(jù)質(zhì)量問(wèn)題;提高學(xué)習(xí)結(jié)果的泛化能力的集成學(xué)習(xí)(integrated learning)[4];在不同的領(lǐng)域進(jìn)行知識(shí)遷移的遷移學(xué)習(xí)(transfer learning)等,吸引了廣泛的研究和興趣。
機(jī)器學(xué)習(xí)要成為大數(shù)據(jù)時(shí)代的有效分析方法,還應(yīng)特別解決可擴(kuò)展性問(wèn)題,即如何處理大規(guī)模數(shù)據(jù)的問(wèn)題,這時(shí)需要考慮采用并行化的方法。大數(shù)據(jù)時(shí)代的特點(diǎn)及要求如下。
(1)大量的數(shù)據(jù)實(shí)例
在很多領(lǐng)域,如互聯(lián)網(wǎng)和金融領(lǐng)域,訓(xùn)練實(shí)例的數(shù)量是非常大的,每天匯合幾十億事件的數(shù)據(jù)集是很常見(jiàn)的。另外,越來(lái)越多的設(shè)備包括傳感器,持續(xù)記錄觀察的數(shù)據(jù)可以作為訓(xùn)練數(shù)據(jù),這樣的數(shù)據(jù)集可以輕易地達(dá)到幾百TB。有效處理大數(shù)據(jù)集的比較好的方式是組合服務(wù)器群的存儲(chǔ)和帶寬。最近提出的幾個(gè)計(jì)算框架如MapReduce和DryadLINQ,讓大數(shù)據(jù)集的計(jì)算變得更加容易。這些框架通過(guò)簡(jiǎn)單的、天然可并行化的語(yǔ)言原語(yǔ)將編程框架和使用高容量存儲(chǔ)及執(zhí)行平臺(tái)的能力有效地組合在一起。
(2)輸入數(shù)據(jù)的高維度
機(jī)器學(xué)習(xí)的應(yīng)用包括自然語(yǔ)言、圖形或者視頻,這些應(yīng)用中的數(shù)據(jù)實(shí)例是由很多數(shù)量的特征來(lái)表示的,遠(yuǎn)遠(yuǎn)超過(guò)了目前常見(jiàn)的能夠輕松處理的特征量級(jí)別。在特征空間進(jìn)行并行計(jì)算是可以將計(jì)算擴(kuò)展得更豐富的表示方法,還可以加入一些在特征空間進(jìn)行迭代運(yùn)算的算法。
(3)模型和算法的復(fù)雜性
一些高準(zhǔn)確性的學(xué)習(xí)算法,基于復(fù)雜的非線性模型或者采用昂貴的計(jì)算子程序。在這兩種情況下,將計(jì)算分配到多個(gè)處理單元是大數(shù)據(jù)學(xué)習(xí)算法的關(guān)鍵點(diǎn)。某些領(lǐng)域的數(shù)據(jù)在一些基本的特征上是非線性結(jié)構(gòu),在這些應(yīng)用中采用高度非線性表示方法比采用簡(jiǎn)單的算法在性能上要好很多。這類算法的一個(gè)共同特征是計(jì)算復(fù)雜性,單臺(tái)機(jī)器的學(xué)習(xí)過(guò)程可能會(huì)非常慢。采用并行多節(jié)點(diǎn)或者多核處理,可提高在大數(shù)據(jù)中使用復(fù)雜算法和模型的計(jì)算速度。
(4)計(jì)算時(shí)間的限制
很多應(yīng)用,如自動(dòng)導(dǎo)航或智能推薦等,都需要進(jìn)行實(shí)時(shí)預(yù)測(cè)。在這些情形下由于推理速度的限制,需要推理算法的并行化。決定系統(tǒng)計(jì)算時(shí)間的因素一般有兩個(gè):一是單任務(wù)的處理時(shí)間,該情況下計(jì)算時(shí)間的縮短可以通過(guò)提高系統(tǒng)單機(jī)的處理能力和吞吐量來(lái)解決;另一個(gè)因素是時(shí)延,在絕大多數(shù)應(yīng)用場(chǎng)合,任務(wù)由多個(gè)相互關(guān)聯(lián)的進(jìn)程組成,不同進(jìn)程的處理時(shí)間長(zhǎng)短不一,任務(wù)整體的處理實(shí)際有待于各個(gè)進(jìn)程的結(jié)果,如某一進(jìn)程處理時(shí)間延長(zhǎng)會(huì)造成時(shí)延,整個(gè)任務(wù)的處理速度會(huì)隨著時(shí)延的增加快速下降。例如,自動(dòng)導(dǎo)航需要基于多個(gè)傳感器做出路徑規(guī)劃的決策;智能推薦需要綜合用戶的特征分析、歷史記錄等。處理能力、吞吐量和時(shí)延的限制并不總是兼容,但對(duì)于兩者來(lái)說(shuō),采用高度并行化的硬件(如GPU或者FPGA等)十分有效。
(5)預(yù)測(cè)級(jí)聯(lián)
有些應(yīng)用要求順序、互相依賴的預(yù)測(cè),這些應(yīng)用具有高度復(fù)雜的聯(lián)合輸出空間,并行化在這種情形下可以大大提高推理的速度。很多現(xiàn)實(shí)中的問(wèn)題如物體追蹤、話音識(shí)別以及機(jī)器翻譯,都要求執(zhí)行一系列互相依賴的預(yù)測(cè),形成預(yù)測(cè)級(jí)聯(lián)。如果一個(gè)級(jí)聯(lián)作為一個(gè)推理任務(wù),就會(huì)有一個(gè)很大的聯(lián)合輸出空間,因?yàn)橛?jì)算復(fù)雜性的增加,通常會(huì)導(dǎo)致非常高的計(jì)算成本。在預(yù)測(cè)任務(wù)之間的互相依賴性通常是通過(guò)對(duì)單個(gè)任務(wù)進(jìn)行階梯式的并行化以及自適應(yīng)的任務(wù)管理來(lái)實(shí)現(xiàn)的。
(6)模型選擇和參數(shù)掃描
調(diào)整學(xué)習(xí)算法的超參數(shù)以及統(tǒng)計(jì)重要性評(píng)估要求多次執(zhí)行學(xué)習(xí)和推理,這些過(guò)程屬于所謂的可并行化應(yīng)用,本身就非常適合并發(fā)執(zhí)行。在參數(shù)掃描中,學(xué)習(xí)算法在配置不同的同一個(gè)數(shù)據(jù)集上運(yùn)行多次,然后在一個(gè)驗(yàn)證集上進(jìn)行評(píng)估;在統(tǒng)計(jì)重要性測(cè)試過(guò)程中如交叉驗(yàn)證或者bootstraping中,訓(xùn)練和測(cè)試在不同的數(shù)據(jù)子集上重復(fù)執(zhí)行,執(zhí)行的結(jié)果匯合在一起以進(jìn)行接下來(lái)的統(tǒng)計(jì)重要性測(cè)試。在這些任務(wù)中,并行平臺(tái)的用途是非常明顯的。
大數(shù)據(jù)的價(jià)值發(fā)現(xiàn)好比大海撈針,從數(shù)據(jù)中挖掘出價(jià)值,而不是被大量數(shù)據(jù)所淹沒(méi)。這要求服務(wù)于大數(shù)據(jù)的機(jī)器學(xué)習(xí)技術(shù)在以下各個(gè)方面能有較好的適應(yīng)能力。
(1)泛化能力
通常期望經(jīng)訓(xùn)練樣本訓(xùn)練的機(jī)器學(xué)習(xí)算法具有較強(qiáng)的泛化能力,也就是能對(duì)新輸入給出合理響應(yīng)的能力,這是評(píng)估機(jī)器學(xué)習(xí)算法性能的最重要指標(biāo)。機(jī)器學(xué)習(xí)最基本的目標(biāo)是對(duì)訓(xùn)練數(shù)據(jù)中的實(shí)例進(jìn)行泛化推廣。不管有多少數(shù)據(jù),在測(cè)試時(shí)要再次看到那些同樣的實(shí)例是非常不可能的。在訓(xùn)練數(shù)據(jù)上表現(xiàn)好是很容易的,只需要記住那些實(shí)例。在機(jī)器學(xué)習(xí)中最一般的錯(cuò)誤是在訓(xùn)練數(shù)據(jù)上進(jìn)行測(cè)試,然后錯(cuò)誤地認(rèn)為成功了。這樣選擇的分類器如果在新數(shù)據(jù)上進(jìn)行測(cè)試,輸出的結(jié)果可能不會(huì)比隨機(jī)的猜測(cè)更好。
(2)速度
在機(jī)器學(xué)習(xí)中,和速度有關(guān)的參數(shù)有訓(xùn)練速度和測(cè)試速度,這兩者是互相關(guān)聯(lián)的。有的算法能夠取得很好的訓(xùn)練速度,但測(cè)試速度卻很慢;而有的算法恰恰相反。所以一個(gè)很重要的研究方向是如何協(xié)調(diào)這兩者之間的關(guān)系,開(kāi)發(fā)出在訓(xùn)練速度和測(cè)試速度方面表現(xiàn)都很好的機(jī)器學(xué)習(xí)算法。
(3)可理解性
很多功能強(qiáng)大的機(jī)器學(xué)習(xí)算法基本上都是“黑盒子”,對(duì)用戶而言,只能看到輸出結(jié)果,卻不知道為什么是這樣的結(jié)果。隨著數(shù)據(jù)量的增加、問(wèn)題復(fù)雜度的提高,人們?cè)诘玫浇Y(jié)果的同時(shí)更加希望了解為什么得到這樣的結(jié)果。
(4)數(shù)據(jù)利用能力
人們收集數(shù)據(jù)的能力越來(lái)越強(qiáng),收集的數(shù)據(jù)類型也越來(lái)越多,不僅包括有標(biāo)識(shí)的數(shù)據(jù),還有大量未標(biāo)識(shí)的數(shù)據(jù)以及那些含有大量噪聲、不一致、不完整的臟數(shù)據(jù)、平衡數(shù)據(jù)。如果還是像以前一樣簡(jiǎn)單地丟棄臟數(shù)據(jù),在信息過(guò)程中只使用已標(biāo)識(shí)數(shù)據(jù),不使用未標(biāo)識(shí)數(shù)據(jù),那么就會(huì)造成數(shù)據(jù)的很大浪費(fèi),而且學(xué)習(xí)到的模型的泛化能力會(huì)面臨很大的問(wèn)題。所以研究并開(kāi)發(fā)能夠有效利用所有這些數(shù)據(jù)的機(jī)器學(xué)習(xí)方法具有非常重要的實(shí)際意義。
(5)代價(jià)敏感
面向算法研究的機(jī)器學(xué)習(xí)原型系統(tǒng)在向?qū)嶋H可用的機(jī)器學(xué)習(xí)系統(tǒng)轉(zhuǎn)換時(shí),會(huì)面臨更多、更復(fù)雜的內(nèi)外部因素的影響。這其中一個(gè)重要的因素就是在現(xiàn)實(shí)世界中,不同的領(lǐng)域中不同誤判結(jié)果間代價(jià)的平衡性,有的誤判結(jié)果可能會(huì)導(dǎo)致很嚴(yán)重的后果,而有的則影響很小。大數(shù)據(jù)分析的精髓就在于綜合各種內(nèi)部、外部數(shù)據(jù)對(duì)一個(gè)事物進(jìn)行360°的刻畫和解讀,涉及的因素更多。近年來(lái),代價(jià)敏感的學(xué)習(xí)算法就是這方面的一個(gè)有效的解決方案。在這類算法中,通過(guò)引入代價(jià)信息來(lái)度量誤判的嚴(yán)重性,不同的代價(jià)參數(shù)代表不同的損失,最終的目標(biāo)是最小化總的代價(jià)而不是總的錯(cuò)誤。
(6)知識(shí)的遷移性
如何將從一個(gè)任務(wù)中學(xué)習(xí)到的知識(shí)遷移到其他任務(wù)中,以提高其他相關(guān)任務(wù)的學(xué)習(xí)性能。比如,監(jiān)督學(xué)習(xí)的公式化中包括學(xué)習(xí)函數(shù),在很多大數(shù)據(jù)場(chǎng)景中,可能會(huì)需要學(xué)習(xí)一系列相關(guān)的函數(shù),比如用戶互聯(lián)網(wǎng)社交關(guān)系判斷函數(shù)以及用戶實(shí)際生活社交關(guān)系判斷函數(shù)。雖然在這兩種情況下判斷函數(shù)會(huì)有所不同,但它們還是有很多共同點(diǎn)的。
(7)數(shù)據(jù)隱私性
如何在獲得數(shù)據(jù)分析成果的同時(shí),保護(hù)數(shù)據(jù)的隱私。
當(dāng)前,機(jī)器學(xué)習(xí)研究與應(yīng)用中最常用的關(guān)鍵技術(shù)有:半監(jiān)督學(xué)習(xí)、集成學(xué)習(xí)(含Boosting、Bagging等算法)、遷移學(xué)習(xí)、貝葉斯網(wǎng)絡(luò)、決策樹(shù)、統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)、隱馬爾可夫模型、神經(jīng)網(wǎng)絡(luò)、k近鄰方法、序列分析、聚類、粗糙集理論、回歸模型等。其中在大數(shù)據(jù)分析中,半監(jiān)督學(xué)習(xí)、集成學(xué)習(xí)、遷移學(xué)習(xí)和概率圖模型(probabilistic graphical model,PGM)等技術(shù)尤為重要。
按照傳統(tǒng)的機(jī)器學(xué)習(xí)理論框架,機(jī)器學(xué)習(xí)可以分為有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)兩類。在有監(jiān)督學(xué)習(xí)中,利用的是已標(biāo)識(shí)數(shù)據(jù),而無(wú)監(jiān)督學(xué)習(xí)中只利用未標(biāo)識(shí)數(shù)據(jù)。在大數(shù)據(jù)時(shí)代,隨著數(shù)據(jù)采集技術(shù)和存儲(chǔ)技術(shù)的發(fā)展,獲取大量未標(biāo)識(shí)數(shù)據(jù)是很容易的。但如果要獲得大量的已標(biāo)識(shí)數(shù)據(jù),因?yàn)樾枰I(lǐng)域人才的參與,非常耗時(shí)耗力,而且也是一個(gè)很容易出錯(cuò)的過(guò)程。所以,在現(xiàn)實(shí)世界中,未標(biāo)識(shí)數(shù)據(jù)的數(shù)量遠(yuǎn)大于已標(biāo)識(shí)數(shù)據(jù)的數(shù)量,如果這些未標(biāo)識(shí)數(shù)據(jù)不能得到很好的利用,學(xué)到的模型的泛化能力可能會(huì)很差,還會(huì)造成數(shù)據(jù)的浪費(fèi);而如果像無(wú)監(jiān)督學(xué)習(xí)一樣只使用未標(biāo)識(shí)數(shù)據(jù),就會(huì)忽視已標(biāo)識(shí)數(shù)據(jù)的價(jià)值。半監(jiān)督學(xué)習(xí)就是研究如何綜合利用少量已標(biāo)識(shí)數(shù)據(jù)和大量未標(biāo)識(shí)數(shù)據(jù),獲得具有良好性能和泛化能力的學(xué)習(xí)機(jī)器。
半監(jiān)督學(xué)習(xí)利用的數(shù)據(jù)集X={x1,x2,…,xn}(n=l+u)可以分為兩部分:一部分是有標(biāo)識(shí)的數(shù)據(jù)集Xl={x1,…,xl},這部分?jǐn)?shù)據(jù)集中的樣本點(diǎn)xi的類別標(biāo)識(shí)yi已經(jīng)給出;另一部分是無(wú)標(biāo)識(shí)數(shù)據(jù)集Xu={xl+1,…,xl+u},這部分?jǐn)?shù)據(jù)集中樣本點(diǎn)的類別標(biāo)識(shí)未知。與實(shí)際情況相符,一般假設(shè)u>>l,即無(wú)標(biāo)識(shí)數(shù)據(jù)遠(yuǎn)遠(yuǎn)多于有標(biāo)識(shí)數(shù)據(jù)。半監(jiān)督學(xué)習(xí)的工作原理主要基于3個(gè)假設(shè):半監(jiān)督光滑假設(shè)、聚類假設(shè)以及流型假設(shè)[5]。
半監(jiān)督光滑假設(shè)是指如果在高密度區(qū)的兩個(gè)點(diǎn)是相近的,即由一個(gè)高密度路徑相連,那么它們對(duì)應(yīng)的輸出也是相近的;如果兩個(gè)點(diǎn)被一個(gè)低密度區(qū)域分隔,那么對(duì)應(yīng)的輸出不一定是相近的,適用于分類和回歸學(xué)習(xí)任務(wù)。聚類假設(shè)是指屬于同一個(gè)聚類的數(shù)據(jù)實(shí)例,很有可能具有相同的分類標(biāo)識(shí)。根據(jù)這個(gè)假設(shè),可以利用未標(biāo)識(shí)數(shù)據(jù)更準(zhǔn)確地找到每個(gè)聚類的邊界。聚類假設(shè)并不是指每個(gè)分類都形成一個(gè)單一的、緊湊的聚類,只表示不太可能在同一個(gè)聚類中觀察到屬于兩個(gè)不同分類的數(shù)據(jù)。流型假設(shè)是指高維的數(shù)據(jù)大致上分布在一個(gè)低維的流型上。很多統(tǒng)計(jì)方法和機(jī)器學(xué)習(xí)算法中的一個(gè)主要問(wèn)題是所謂的維數(shù)災(zāi)難問(wèn)題,這個(gè)問(wèn)題對(duì)生成式模型的半監(jiān)督學(xué)習(xí)有很大影響,而流型假設(shè)為這個(gè)問(wèn)題的解決提供了一個(gè)很好的基礎(chǔ)。如果數(shù)據(jù)正好分布在低維的流型中,那么機(jī)器學(xué)習(xí)算法就可以在這個(gè)低維的空間中進(jìn)行,從而避免維數(shù)災(zāi)難的問(wèn)題。
半監(jiān)督學(xué)習(xí)方法包括基于生成式模型的半監(jiān)督學(xué)習(xí)、基于低密度劃分的半監(jiān)督學(xué)習(xí)、基于圖的半監(jiān)督學(xué)習(xí)以及基于不一致性的半監(jiān)督學(xué)習(xí)。基于生成式模型的半監(jiān)督學(xué)習(xí)方法利用了聚類假設(shè),未標(biāo)識(shí)數(shù)據(jù)所屬類別的概率被看成一組缺失參數(shù),采用最大期望算法對(duì)生成式模型的參數(shù)進(jìn)行極大似然估計(jì)?;谏墒侥P偷陌氡O(jiān)督學(xué)習(xí)方法具有簡(jiǎn)單、直觀的特點(diǎn),在訓(xùn)練數(shù)據(jù)特別是有標(biāo)識(shí)數(shù)據(jù)很少時(shí),可以獲得比判別式模型更好的性能。但在模型假設(shè)與數(shù)據(jù)分布不一致時(shí),使用大量的未標(biāo)識(shí)數(shù)據(jù)來(lái)估計(jì)模型參數(shù)會(huì)降低學(xué)到模型的泛化能力。所以需要尋找合適的生成式模型,這需要大量的相關(guān)領(lǐng)域的知識(shí)?;诘兔芏葎澐值陌氡O(jiān)督學(xué)習(xí)方法也基于聚類假設(shè),要求決策邊界盡量通過(guò)數(shù)據(jù)較為稀疏的區(qū)域,以免把聚類中稠密的數(shù)據(jù)點(diǎn)分到?jīng)Q策邊界兩側(cè)?;趫D的半監(jiān)督學(xué)習(xí)方法基于流型假設(shè),假設(shè)所有的樣本點(diǎn)(包括已標(biāo)識(shí)與未標(biāo)識(shí))以及之間的關(guān)系可以表示為一個(gè)無(wú)向圖的形式,圖的節(jié)點(diǎn)為數(shù)據(jù)樣本點(diǎn),而邊則體現(xiàn)了兩個(gè)樣本點(diǎn)之間的相似度關(guān)系?;趫D的半監(jiān)督算法的優(yōu)化目標(biāo)就是要保證在已標(biāo)識(shí)點(diǎn)上的結(jié)果盡量符合而且要滿足流型假設(shè)要求?;诓灰恢滦缘陌氡O(jiān)督學(xué)習(xí)方法利用了聚類假設(shè)和流型假設(shè),使用兩個(gè)或多個(gè)學(xué)習(xí)機(jī)器,通過(guò)在不同視圖下的數(shù)據(jù)集進(jìn)行學(xué)習(xí)的兩個(gè)分類器之間的交互來(lái)提高分類器的精度,未標(biāo)識(shí)樣例被分類器逐步標(biāo)識(shí),選出確信度最高的樣例加入訓(xùn)練集,不斷重復(fù),直到未標(biāo)識(shí)集全部標(biāo)識(shí)為止,更新模型。
根據(jù)以上的討論,半監(jiān)督學(xué)習(xí)可以利用未標(biāo)識(shí)數(shù)據(jù)來(lái)提高學(xué)習(xí)的性能。但在實(shí)際應(yīng)用中,很難測(cè)試到底哪些假設(shè)(光滑假設(shè)、聚類假設(shè)、流型假設(shè))是成立的,如果選擇了錯(cuò)誤的算法,那么學(xué)習(xí)算法的性能有可能很差。在這種情況下 ,安全的半監(jiān)督學(xué)習(xí)算法具有很大的應(yīng)用前景,在任何情況下,至少能夠獲得和監(jiān)督學(xué)習(xí)同樣的性能。通過(guò)維護(hù)多種類型學(xué)習(xí)器的一個(gè)后驗(yàn)分布,貝葉斯建模提供了一個(gè)可行的方案。這種方案面臨的挑戰(zhàn)是需要在假設(shè)和學(xué)習(xí)器中定義一個(gè)智能的先驗(yàn)分布,并為不同類型的半監(jiān)督學(xué)習(xí)器定義貝葉斯公式,以便可以定義一個(gè)合適的似然函數(shù)。其他的安全的半監(jiān)督學(xué)習(xí)算法還可以通過(guò)開(kāi)發(fā)頑健的基于圖的方法來(lái)獲得,或者不做那么嚴(yán)格的假設(shè),使得這些假設(shè)在更多、更復(fù)雜的數(shù)據(jù)集中都可以被滿足。
另外,以上討論的半監(jiān)督學(xué)習(xí)算法只是利用了已標(biāo)識(shí)數(shù)據(jù)和未標(biāo)識(shí)數(shù)據(jù)之間的關(guān)系,還有很多其他類型的關(guān)系并沒(méi)有得到很好的利用,這在大數(shù)據(jù)時(shí)代尤為突出。比如,假設(shè)希望為社交網(wǎng)絡(luò)中的人預(yù)測(cè)分類標(biāo)識(shí)或者數(shù)字型數(shù)值等,那么社交網(wǎng)絡(luò)中人與人之間的朋友關(guān)系或者共同的興趣愛(ài)好、相近的地理位置、點(diǎn)擊了同一個(gè)廣告等關(guān)系,都可以用來(lái)提高半監(jiān)督學(xué)習(xí)的性能。將這些信息集成到半監(jiān)督學(xué)習(xí)的算法中具有非常重要的實(shí)際意義。
在現(xiàn)實(shí)生活中,一群人經(jīng)常能比一個(gè)人做出更好的決策,特別是當(dāng)群體中的每個(gè)人都有不同見(jiàn)解時(shí)。對(duì)于機(jī)器學(xué)習(xí)來(lái)說(shuō),這個(gè)道理同樣適用。集成學(xué)習(xí)就是這樣的機(jī)器學(xué)習(xí)方法,通過(guò)將多個(gè)不同的學(xué)習(xí)系統(tǒng)的結(jié)果進(jìn)行整合,可以獲得比單個(gè)學(xué)習(xí)系統(tǒng)更好的性能。在集成學(xué)習(xí)中,即便是采用更簡(jiǎn)單的學(xué)習(xí)系統(tǒng),也可以獲得更好的性能。另外,集成學(xué)習(xí)的架構(gòu)本質(zhì)上就具有易于并行的特性,為在處理大數(shù)據(jù)時(shí)提高訓(xùn)練和測(cè)試效率提供了很好的基礎(chǔ)。自集成學(xué)習(xí)的概念提出,集成學(xué)習(xí)在很多領(lǐng)域得到了快速的發(fā)展和廣泛的應(yīng)用。
傳統(tǒng)的機(jī)器學(xué)習(xí)的原理是搜索,通過(guò)搜索所有可能函數(shù)構(gòu)成的假設(shè)空間集合,找出一個(gè)最逼近未知函數(shù)的近似函數(shù)。一般來(lái)說(shuō),傳統(tǒng)機(jī)器學(xué)習(xí)的輸出結(jié)果都會(huì)面臨3個(gè)方面的問(wèn)題:統(tǒng)計(jì)、計(jì)算和表示上的問(wèn)題。在搜索一個(gè)由巨大的訓(xùn)練數(shù)據(jù)集構(gòu)成的假設(shè)空間時(shí),就會(huì)面臨統(tǒng)計(jì)上的問(wèn)題。由于可用的訓(xùn)練數(shù)據(jù)很多,就會(huì)存在多個(gè)具有相同準(zhǔn)確度的不同假設(shè),但傳統(tǒng)的機(jī)器學(xué)習(xí)算法必須在這些不同的假設(shè)中挑選一個(gè)。選擇哪一個(gè)都面臨著很大的風(fēng)險(xiǎn),雖然這些輸出在訓(xùn)練數(shù)據(jù)上的表現(xiàn)相同,但在新的數(shù)據(jù)上的表現(xiàn)可能有很大的差距。如果采用集成學(xué)習(xí)中那種簡(jiǎn)單、平等的投票機(jī)制進(jìn)行選擇,就可以降低這樣的風(fēng)險(xiǎn)。在學(xué)習(xí)算法不能保證在假設(shè)空間中找到一個(gè)最好的輸出結(jié)果時(shí),就面臨計(jì)算上的問(wèn)題,常出現(xiàn)在因?yàn)橛?jì)算的復(fù)雜性而不得不采用啟發(fā)式方法時(shí),找到的結(jié)果有可能是局部最優(yōu)的,如果利用加權(quán)方法,將各種局部最優(yōu)的結(jié)果整合起來(lái)作為輸出,可以有效降低這種局部最優(yōu)的風(fēng)險(xiǎn)。最后,當(dāng)假設(shè)空間沒(méi)有包含可以逼近未知函數(shù)的假設(shè)時(shí),就面臨表示上的問(wèn)題。如果可以給每個(gè)假設(shè)賦予不同的權(quán)重,并進(jìn)行簡(jiǎn)單的投票方式,就有可能找到一個(gè)非常逼近未知函數(shù)的近似函數(shù)。
通過(guò)以上的分析,可以看到集成學(xué)習(xí)可以解決傳統(tǒng)機(jī)器學(xué)習(xí)中的很多問(wèn)題。在大數(shù)據(jù)時(shí)代,由于數(shù)據(jù)體量大、數(shù)據(jù)結(jié)構(gòu)復(fù)雜、數(shù)據(jù)的質(zhì)量參差不齊,以上這些問(wèn)題可能更加突出,所以集成學(xué)習(xí)必定會(huì)成為大數(shù)據(jù)分析強(qiáng)有力的工具。
一個(gè)集成學(xué)習(xí)算法包括多個(gè)基本學(xué)習(xí)器(經(jīng)常稱作弱學(xué)習(xí)器),基本學(xué)習(xí)器通常在訓(xùn)練數(shù)據(jù)上運(yùn)用傳統(tǒng)的機(jī)器學(xué)習(xí)算法(如決策樹(shù)、神經(jīng)網(wǎng)絡(luò)或其他的學(xué)習(xí)算法)而生成的。同構(gòu)集成學(xué)習(xí)采用單個(gè)基本學(xué)習(xí)算法生成相同類型的基本學(xué)習(xí)器,異構(gòu)集成學(xué)習(xí)則采用多個(gè)不同的學(xué)習(xí)算法生成不同類型的基本學(xué)習(xí)器。在異構(gòu)集成學(xué)習(xí)中,因?yàn)闆](méi)有單個(gè)相同的基本學(xué)習(xí)算法,所以有很多學(xué)者更傾向于稱這些學(xué)習(xí)器為組件學(xué)習(xí)器。集成學(xué)習(xí)的泛化能力遠(yuǎn)遠(yuǎn)超過(guò)了基本學(xué)習(xí)器的泛化能力,這恰恰是集成學(xué)習(xí)的優(yōu)勢(shì),即可以提高那些僅僅比隨機(jī)猜測(cè)好一點(diǎn)的弱學(xué)習(xí)器的性能,將其變成可以做出準(zhǔn)確預(yù)測(cè)的強(qiáng)學(xué)習(xí)器。根據(jù)基本學(xué)習(xí)器生成的方法,可以將集成學(xué)習(xí)分為兩類:一類是順序的集成學(xué)習(xí)方法,基本學(xué)習(xí)器是按次序生成的,這類算法利用基本學(xué)習(xí)器之間的相關(guān)性,整體的性能通過(guò)減小殘余錯(cuò)誤的方式來(lái)提高,一個(gè)典型的例子是Boosting;另一類是并行集成學(xué)習(xí)方法,基本學(xué)習(xí)器是并行生成的,這類算法利用基本學(xué)習(xí)器之間的獨(dú)立性,通過(guò)綜合多個(gè)獨(dú)立的基本學(xué)習(xí)器,可以大大減小學(xué)習(xí)的錯(cuò)誤,一個(gè)典型的例子是Bagging。
Boosting算法的核心是弱學(xué)習(xí)假設(shè)[6],即假設(shè)基本學(xué)習(xí)器在基于給定的訓(xùn)練數(shù)據(jù)上只產(chǎn)生一個(gè)比隨機(jī)猜測(cè)好一點(diǎn)的弱結(jié)果。Boosting算法只能通過(guò)不斷地調(diào)用基本學(xué)習(xí)算法從訓(xùn)練數(shù)據(jù)中學(xué)習(xí),如果基本學(xué)習(xí)器只是簡(jiǎn)單地重復(fù)調(diào)用,并利用相同的訓(xùn)練數(shù)據(jù)集,這種方式不可能產(chǎn)生好的結(jié)果。Boosting的基本思路是為基本學(xué)習(xí)器選擇合適的訓(xùn)練數(shù)據(jù)集,使得每次調(diào)用基本學(xué)習(xí)器都可以從數(shù)據(jù)中得到一些新的信息。這可以通過(guò)選擇以前的基本學(xué)習(xí)器表現(xiàn)差的數(shù)據(jù)集,對(duì)這些數(shù)據(jù)集進(jìn)行加強(qiáng)學(xué)習(xí),這樣基本學(xué)習(xí)器可以輸出比之前更好的結(jié)果。
Bagging由Breiman提出[7],其兩個(gè)主要的組件是bootstrap和aggregation。Bagging的最關(guān)鍵環(huán)節(jié)是如何獲得盡可能獨(dú)立的基本學(xué)習(xí)器。在給定一個(gè)訓(xùn)練數(shù)據(jù)集時(shí),一個(gè)可行的方案是將訓(xùn)練數(shù)據(jù)分成多個(gè)不重疊的訓(xùn)練數(shù)據(jù)子集,并對(duì)這些子集進(jìn)行抽樣,然后在每個(gè)抽樣的數(shù)據(jù)集上訓(xùn)練出一個(gè)基本學(xué)習(xí)器。最終的學(xué)習(xí)結(jié)果是對(duì)多個(gè)學(xué)習(xí)器的學(xué)習(xí)結(jié)果進(jìn)行多數(shù)投票而產(chǎn)生的。Bagging采用bootstrap分布來(lái)生成不同的基本學(xué)習(xí)器。具體地,在給定一個(gè)包含m個(gè)訓(xùn)練實(shí)例的訓(xùn)練數(shù)據(jù)集時(shí),抽樣生成m個(gè)訓(xùn)練實(shí)例,有些原始的訓(xùn)練實(shí)例可能會(huì)出現(xiàn)不止一次,而有些可能在抽樣中根本就不出現(xiàn)。重復(fù)這樣的過(guò)程T次,就可以得到T個(gè)含m個(gè)數(shù)據(jù)實(shí)例的抽樣。然后,針對(duì)每個(gè)抽樣數(shù)據(jù)集運(yùn)用基本的學(xué)習(xí)算法,就可以訓(xùn)練得到一個(gè)基本學(xué)習(xí)器。在基本學(xué)習(xí)器輸出結(jié)果的聚集時(shí),Bagging采用最常用的策略(即投票)來(lái)聚集分類結(jié)果,利用求平均值來(lái)聚集回歸結(jié)果。
在生成一系列的基本學(xué)習(xí)器后,集成學(xué)習(xí)通過(guò)組合這些基本學(xué)習(xí)器的方式來(lái)獲得更強(qiáng)的泛化能力,而不是從中選擇一個(gè)最佳的基本學(xué)習(xí)器。所以這種組合的方法是直觀重要的,會(huì)直接影響集成學(xué)習(xí)的性能。目前提出的組合方法有很多,主要介紹平均法和投票法。
平均法對(duì)于數(shù)值型輸出結(jié)果是常用的組合方法,包括簡(jiǎn)單平均法、加權(quán)平均法。簡(jiǎn)單平均法又稱算術(shù)平均法[8],因?yàn)楹?jiǎn)單易用在現(xiàn)實(shí)應(yīng)用中得到了廣泛的使用。但其有效性是基于假設(shè)單個(gè)學(xué)習(xí)器的錯(cuò)誤是不相關(guān)的,而在集成學(xué)習(xí)中因?yàn)閱蝹€(gè)學(xué)習(xí)器在相同的問(wèn)題上進(jìn)行訓(xùn)練,所以這個(gè)假設(shè)在集成學(xué)習(xí)中常常是不成立的。加權(quán)平均法給每個(gè)基本學(xué)習(xí)器賦予不同的權(quán)重,然后進(jìn)行平均,不同的權(quán)重意味著不同的重要性。簡(jiǎn)單平均法是加權(quán)平均法的一個(gè)特例,但加權(quán)平均法的性能并不是明顯優(yōu)于簡(jiǎn)單平均法的性能。這是因?yàn)樵诂F(xiàn)實(shí)世界中,數(shù)據(jù)通常有很大的噪聲,所以估計(jì)的權(quán)重經(jīng)常是不可靠的。特別是在一個(gè)大的集成學(xué)習(xí)中,有很多權(quán)重系數(shù)需要估計(jì),這很容易導(dǎo)致過(guò)度擬合問(wèn)題;而簡(jiǎn)單平均法不要估計(jì)任何的權(quán)重系數(shù),所以不太可能存在這方面的問(wèn)題。一般來(lái)說(shuō),對(duì)有近似性能的基本學(xué)習(xí)器使用簡(jiǎn)單平均法是適合的;基本學(xué)習(xí)器各有優(yōu)劣勢(shì)時(shí),采用加權(quán)平均法可以獲得更好的性能。
投票法是對(duì)于非數(shù)值型輸出結(jié)果的常用組合方法,包括多數(shù)投票法、最大投票法以及加權(quán)投票法。多數(shù)投票法是最常用的一種投票法,每個(gè)基本學(xué)習(xí)器投票選出一個(gè)分類標(biāo)識(shí),集成學(xué)習(xí)最終輸出的分類標(biāo)識(shí)是超過(guò)半數(shù)投票的分類標(biāo)識(shí),如果沒(méi)有分類標(biāo)識(shí)的得票數(shù)超過(guò)半數(shù),集成學(xué)習(xí)就不會(huì)有任何的輸出結(jié)果。與多數(shù)投票法不同,最大投票法選擇獲得最多票數(shù)的分類標(biāo)識(shí)作為最終的輸出結(jié)果,并不要求輸出結(jié)果必須獲得超過(guò)半數(shù)的選票,所以不可能出現(xiàn)沒(méi)有輸出結(jié)果的情況。在出現(xiàn)得票數(shù)相同的分類標(biāo)識(shí)時(shí),任意選擇一個(gè)作為輸出。考慮到每個(gè)基本學(xué)習(xí)器具有不同的性能,加權(quán)投票法給那些性能好的基本學(xué)習(xí)器更多的投票權(quán)。
以上討論的集成學(xué)習(xí)方法的預(yù)測(cè)效果顯著優(yōu)于單個(gè)基本學(xué)習(xí)機(jī),但它們存在一些缺點(diǎn):與基本學(xué)習(xí)機(jī)相比,其預(yù)測(cè)速度明顯下降,且隨著基本學(xué)習(xí)機(jī)數(shù)目的增多,它們所需的存儲(chǔ)空間也急劇增多,這對(duì)于在線學(xué)習(xí)更是一個(gè)嚴(yán)重問(wèn)題。那么是否可以利用少量的基本學(xué)習(xí)機(jī)就可以達(dá)到更好的性能呢?國(guó)內(nèi)的學(xué)者周志華等人提出“選擇性集成”為這個(gè)問(wèn)題給出了肯定的答案。理論分析和試驗(yàn)研究表明,從已有的基本學(xué)習(xí)機(jī)中將作用不大和性能不好的基本學(xué)習(xí)機(jī)剔除,只挑選一些基本學(xué)習(xí)機(jī)用于構(gòu)建集成則可以得到更好的預(yù)測(cè)效果。限于篇幅,不對(duì)選擇性集成展開(kāi)討論。
大數(shù)據(jù)給很多領(lǐng)域帶來(lái)了很大的挑戰(zhàn),其中之一就是如何處理大量的不確定性數(shù)據(jù),這些數(shù)據(jù)普遍存在于電信、互聯(lián)網(wǎng)、科學(xué)計(jì)算、經(jīng)濟(jì)、金融等領(lǐng)域中,如何從這些不確定性數(shù)據(jù)中獲取知識(shí)是大數(shù)據(jù)分析的一個(gè)重要任務(wù)。概率圖模型是概率論與圖論相結(jié)合的產(chǎn)物,是概率分布的圖形化表示,概率圖模型為捕獲隨機(jī)變量之間復(fù)雜的依賴關(guān)系、構(gòu)建大規(guī)模多變量統(tǒng)計(jì)模型提供了一個(gè)統(tǒng)一的框架[9]。概率圖模型在統(tǒng)計(jì)學(xué)、計(jì)算學(xué)以及數(shù)學(xué)等很多領(lǐng)域都是研究熱點(diǎn),如生物信息學(xué)、通信理論、統(tǒng)計(jì)物理、組合優(yōu)化、信號(hào)和圖像處理、信息檢索和統(tǒng)計(jì)機(jī)器學(xué)習(xí)等。
概率圖模型一方面用圖論的語(yǔ)言直觀揭示問(wèn)題的結(jié)構(gòu),另一方面又按照概率論的原則對(duì)問(wèn)題的結(jié)構(gòu)加以利用,降低推理的計(jì)算復(fù)雜度。概率圖模型中的一個(gè)核心概念是因子分解,根據(jù)一個(gè)底層圖的結(jié)構(gòu),一個(gè)概率圖模型由一組概率分布所構(gòu)成。概率圖通過(guò)圖形的方式來(lái)捕獲并展現(xiàn)所有隨機(jī)變量的聯(lián)合分布,通過(guò)分解成各因子乘積的方式來(lái)實(shí)現(xiàn),每個(gè)因子只和部分變量有關(guān)。概率圖模型主要包括貝葉斯網(wǎng)絡(luò)、馬爾可夫網(wǎng)絡(luò)和隱馬爾可夫模型。限于篇幅,以下只詳細(xì)介紹貝葉斯網(wǎng)絡(luò)的主要原理及特性。
貝葉斯網(wǎng)絡(luò)又稱為信念網(wǎng)、概率網(wǎng)或者因果網(wǎng),用于表示變量之間的依賴關(guān)系,并為任何全聯(lián)合概率分布提供自然、有效、簡(jiǎn)明規(guī)范的一種有向無(wú)環(huán)圖結(jié)構(gòu)[10]。通過(guò)貝葉斯網(wǎng)絡(luò),可以采用系統(tǒng)化以及本地化的方法將某種情形的概率信息構(gòu)建成一個(gè)有機(jī)的整體。貝葉斯網(wǎng)絡(luò)還提供了一系列的算法,通過(guò)這些算法可以自動(dòng)地對(duì)這些信息推導(dǎo)出更多隱含的意思,為在這些情形下進(jìn)行決策提供基礎(chǔ)。從技術(shù)層面看,隨著隨機(jī)變量的不斷增加,通過(guò)概率論和統(tǒng)計(jì)學(xué)中傳統(tǒng)的表格及方程來(lái)表示這些變量的聯(lián)合概率分布是不可行的,貝葉斯網(wǎng)絡(luò)則為這些聯(lián)合概率分布提供了一個(gè)非常緊湊的表示方法。貝葉斯網(wǎng)絡(luò)的一個(gè)主要特征是可保證數(shù)據(jù)的一致性和完整性,這是因?yàn)閷?duì)于任意的貝葉斯網(wǎng)絡(luò),有且只有一個(gè)概率分布滿足這個(gè)貝葉斯網(wǎng)絡(luò)的各種限制條件。貝葉斯網(wǎng)絡(luò)的另一個(gè)特征是,在很多情況下要明確地生成聯(lián)合概率分布在計(jì)算上是不可行的,而在貝葉斯網(wǎng)絡(luò)中可以通過(guò)高效率的算法來(lái)計(jì)算這些概率。這些算法的效率以及準(zhǔn)確性與貝葉斯網(wǎng)絡(luò)的拓?fù)湟约跋嚓P(guān)的查詢是十分相關(guān)的。貝葉斯網(wǎng)絡(luò)還具有非常靈活的學(xué)習(xí)機(jī)制,可以模擬人類的學(xué)習(xí)方式和認(rèn)知過(guò)程,靈活地對(duì)結(jié)構(gòu)和參數(shù)進(jìn)行相應(yīng)的修正與更新。所以,貝葉斯網(wǎng)絡(luò)是目前最為常用的概率圖模型。
在大數(shù)據(jù)環(huán)境下,大量新的數(shù)據(jù)在大量不同的新的領(lǐng)域(如新聞、電子商務(wù)、圖片、視頻、博客、播客、微博、社交網(wǎng)絡(luò)等)呈爆炸性增長(zhǎng),要在這些新的領(lǐng)域應(yīng)用傳統(tǒng)的機(jī)器學(xué)習(xí)方法,就需要大量有標(biāo)識(shí)的訓(xùn)練數(shù)據(jù)?;谶@些有標(biāo)識(shí)的訓(xùn)練數(shù)據(jù),運(yùn)用統(tǒng)計(jì)學(xué)習(xí)的理論,傳統(tǒng)的機(jī)器學(xué)習(xí)通??梢垣@得很好的性能。但是,如果對(duì)每個(gè)領(lǐng)域都標(biāo)識(shí)大量訓(xùn)練數(shù)據(jù),會(huì)耗費(fèi)大量的人力與物力。所以,如果有了大量其他領(lǐng)域的不同分布下的有標(biāo)識(shí)的訓(xùn)練數(shù)據(jù),能否利用從這些訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到的知識(shí)幫助在新環(huán)境中的學(xué)習(xí)任務(wù)?其實(shí)人類是具有這種學(xué)習(xí)能力的,即在多個(gè)任務(wù)之間進(jìn)行知識(shí)遷移的能力,在碰到新的學(xué)習(xí)任務(wù)時(shí),人類會(huì)從以前學(xué)習(xí)的經(jīng)驗(yàn)中認(rèn)知并運(yùn)用相關(guān)的知識(shí)。新的學(xué)習(xí)任務(wù)和以前的經(jīng)驗(yàn)相關(guān)性越大,就越容易掌握新的任務(wù)。知識(shí)在不同場(chǎng)景之間遷移轉(zhuǎn)化的能力被稱作遷移學(xué)習(xí)[11]。這正是傳統(tǒng)機(jī)器學(xué)習(xí)所缺乏的,其根本原因在于傳統(tǒng)的機(jī)器學(xué)習(xí)一般假設(shè)訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)服從相同的數(shù)據(jù)分布,即學(xué)習(xí)的知識(shí)和應(yīng)用的問(wèn)題具有相同的統(tǒng)計(jì)特征。當(dāng)學(xué)習(xí)和應(yīng)用的場(chǎng)景發(fā)生遷移后,統(tǒng)計(jì)特征往往會(huì)發(fā)生改變,這將大大影響統(tǒng)計(jì)學(xué)習(xí)的效果。提高機(jī)器學(xué)習(xí)能力的一個(gè)關(guān)鍵問(wèn)題就在于,要讓機(jī)器能夠繼承和發(fā)展過(guò)去學(xué)到的知識(shí),這其中的關(guān)鍵就是讓機(jī)器學(xué)會(huì)遷移學(xué)習(xí)。
遷移學(xué)習(xí)可以通俗地解釋為,一個(gè)會(huì)下象棋的人可以更容易地學(xué)會(huì)下圍棋;一個(gè)認(rèn)識(shí)桌子的人可以更容易地認(rèn)識(shí)椅子;一個(gè)會(huì)騎自行車的人更容易學(xué)會(huì)騎摩托。遷移學(xué)習(xí)一個(gè)有代表性的定義是,給定一個(gè)源領(lǐng)域和學(xué)習(xí)任務(wù)以及一個(gè)目標(biāo)領(lǐng)域和學(xué)習(xí)任務(wù),遷移學(xué)習(xí)的任務(wù)是通過(guò)利用源領(lǐng)域和學(xué)習(xí)任務(wù)的知識(shí)來(lái)提高在目標(biāo)領(lǐng)域的學(xué)習(xí)性能。在這里,源領(lǐng)域和目標(biāo)領(lǐng)域是不同的,或者源學(xué)習(xí)任務(wù)和目標(biāo)學(xué)習(xí)任務(wù)是不同的,當(dāng)兩者都一樣時(shí),就是傳統(tǒng)意義上的機(jī)器學(xué)習(xí)問(wèn)題。
遷移學(xué)習(xí)的目標(biāo)是利用源任務(wù)中的知識(shí)來(lái)提高目標(biāo)任務(wù)中的學(xué)習(xí)性能,這可以通過(guò)3個(gè)方面來(lái)度量。
·在目標(biāo)任務(wù)中僅僅采用了遷移的知識(shí),還沒(méi)有進(jìn)行任何進(jìn)一步的學(xué)習(xí)之前,與沒(méi)有采用知識(shí)遷移的算法相比所能獲得的初始性能提升。
·在利用了遷移知識(shí)之后,對(duì)目標(biāo)任務(wù)進(jìn)行充分學(xué)習(xí)所需要的時(shí)間。
·與沒(méi)有知識(shí)遷移的情況相比,在目標(biāo)任務(wù)中能夠獲得的最終的性能到底有多少提高。
如果遷移方法降低了性能,稱為負(fù)遷移。在遷移方法研究中的一個(gè)主要挑戰(zhàn)是在適當(dāng)相關(guān)的任務(wù)中生成正遷移,同時(shí)在不太相關(guān)的任務(wù)之間盡量避免負(fù)遷移。當(dāng)一個(gè)代理將從一個(gè)任務(wù)中的知識(shí)運(yùn)用到另一個(gè)任務(wù)中時(shí),經(jīng)常需要將一個(gè)任務(wù)中的特征映射到其他任務(wù)的特征中,以指定任務(wù)之間的對(duì)應(yīng)關(guān)系。在遷移學(xué)習(xí)的很多工作中,通常由人來(lái)提供這種映射,但可以設(shè)計(jì)一些方法自動(dòng)地執(zhí)行這些映射。
根據(jù)遷移學(xué)習(xí)的定義,遷移學(xué)習(xí)分為:歸納遷移學(xué)習(xí)、直推遷移學(xué)習(xí)以及無(wú)監(jiān)督遷移學(xué)習(xí)[11]。在歸納遷移學(xué)習(xí)中,源領(lǐng)域和目標(biāo)領(lǐng)域可以是相同的或者是不同的,但是目標(biāo)任務(wù)和源任務(wù)肯定是不同的。在這種情況下,需要利用目標(biāo)領(lǐng)域的部分已標(biāo)識(shí)數(shù)據(jù)來(lái)歸納用于目標(biāo)領(lǐng)域中的目標(biāo)預(yù)測(cè)模型。另外,根據(jù)在源領(lǐng)域中已標(biāo)識(shí)數(shù)據(jù)和未標(biāo)識(shí)數(shù)據(jù)的不同情況,歸納學(xué)習(xí)可以進(jìn)一步分成兩種:第一種是在源領(lǐng)域中有很多可用的已標(biāo)識(shí)數(shù)據(jù);第二種情況是在源領(lǐng)域中沒(méi)有可用的已標(biāo)識(shí)數(shù)據(jù)。這和自學(xué)習(xí)的情況有些類似。歸納遷移學(xué)習(xí)的一個(gè)例子是Tradaboost算法,其基本思路是將源領(lǐng)域數(shù)據(jù)和目標(biāo)領(lǐng)域數(shù)據(jù)混合在一起訓(xùn)練,然后通過(guò)類似AdaBoost的結(jié)構(gòu)來(lái)調(diào)整權(quán)重和計(jì)算錯(cuò)誤率實(shí)現(xiàn)遷移學(xué)習(xí)。已經(jīng)有很多研究對(duì)歸納遷移學(xué)習(xí)進(jìn)行了探討,這些研究工作可以分為基于實(shí)例、基于特征、基于參數(shù)以及基于關(guān)系的知識(shí)遷移。
直推遷移學(xué)習(xí)研究的是不同領(lǐng)域中相同的學(xué)習(xí)任務(wù)之間的知識(shí)遷移[12],一般情況是原始領(lǐng)域中有大量標(biāo)識(shí)數(shù)據(jù)可供利用,而目標(biāo)領(lǐng)域只有無(wú)標(biāo)識(shí)數(shù)據(jù)可供利用。在這里,源領(lǐng)域和目標(biāo)領(lǐng)域的不同又包括兩種情況:一種是源領(lǐng)域的特征空間和目標(biāo)領(lǐng)域是不同的;另一種是兩個(gè)領(lǐng)域的特征空間相同,但輸入數(shù)據(jù)的邊緣分布概率不同。“直推”的意思和傳統(tǒng)機(jī)器學(xué)習(xí)中是有區(qū)別的。在傳統(tǒng)的機(jī)器學(xué)習(xí)中,直推學(xué)習(xí)是指在訓(xùn)練階段,所有的測(cè)試數(shù)據(jù)都是可用的,學(xué)習(xí)到的模型無(wú)法重用到新的數(shù)據(jù)中;而在這里是強(qiáng)調(diào)學(xué)習(xí)任務(wù)必須相同,目標(biāo)領(lǐng)域中只需要有部分可用的為標(biāo)識(shí)數(shù)據(jù)。在直推遷移學(xué)習(xí)中,只有基于實(shí)例的知識(shí)遷移以及基于特征的知識(shí)遷移兩種實(shí)現(xiàn)方案。在無(wú)監(jiān)督遷移學(xué)習(xí)中,源領(lǐng)域和目標(biāo)領(lǐng)域可以是相同的或者是不同的,目標(biāo)任務(wù)和源任務(wù)是不同的,只是相關(guān)的。在這種遷移方法中,源領(lǐng)域和目標(biāo)領(lǐng)域都沒(méi)有可用的已標(biāo)識(shí)數(shù)據(jù),所以遷移難度最大。目前這方面的研究也很少,只有基于特征的遷移實(shí)現(xiàn)方案。
給定一個(gè)目標(biāo)任務(wù),任何遷移方法的有效性依賴于源任務(wù)以及源任務(wù)是如何與目標(biāo)任務(wù)相關(guān)的。如果它們之間有很強(qiáng)的關(guān)系并且能夠被遷移方法很好地利用,目標(biāo)任務(wù)的性能可以通過(guò)遷移大大提高。但是,如果源任務(wù)和目標(biāo)任務(wù)沒(méi)有足夠的相關(guān)性,或者遷移方法并沒(méi)有很好地利用這種關(guān)系,目標(biāo)任務(wù)的性能不僅得不到提高,還有可能降低,即產(chǎn)生負(fù)遷移。從理論上來(lái)說(shuō),一個(gè)遷移方法在適當(dāng)相關(guān)的任務(wù)之間應(yīng)該生成正遷移,而在任務(wù)不是很相關(guān)時(shí)則應(yīng)避免負(fù)遷移,但在實(shí)際中是很難同時(shí)達(dá)到這些目標(biāo)。具有防護(hù)措施避免負(fù)遷移的遷移方案,通常會(huì)因?yàn)檫@種措施對(duì)正遷移產(chǎn)生一些小的影響。相反,那些激進(jìn)的遷移方案在產(chǎn)生很大的正遷移效應(yīng)時(shí),通常對(duì)負(fù)遷移沒(méi)有任何防護(hù)。
避免負(fù)遷移的一個(gè)方案是在學(xué)習(xí)目標(biāo)任務(wù)時(shí),盡量識(shí)別并拒絕源任務(wù)中的有害知識(shí)。這種方案的目標(biāo)是讓有害信息的影響最小化,這樣遷移的性能至少可以不差于沒(méi)有遷移的情況。在極端的情況下,學(xué)習(xí)代理可以完全丟棄遷移的知識(shí),另外一些方法則可以有選擇地拒絕部分知識(shí)并選擇部分知識(shí)。如果有不止一個(gè)源任務(wù),而是一套可選的源任務(wù),那么就有更大的可能性避免負(fù)遷移。在這種情況下,避免負(fù)遷移的問(wèn)題就成為如何選擇最好的源任務(wù)。沒(méi)有對(duì)負(fù)遷移進(jìn)行較多防護(hù)的遷移方法在這種情形下可以很有效,只要選擇的最佳源任務(wù)是一個(gè)很好的選擇。
人類具有天生的方法在多個(gè)任務(wù)之間進(jìn)行知識(shí)遷移,即在碰到新的學(xué)習(xí)任務(wù)時(shí),會(huì)從以前學(xué)習(xí)的經(jīng)驗(yàn)中認(rèn)知并運(yùn)用相關(guān)的知識(shí)。新的學(xué)習(xí)任務(wù)和以前的經(jīng)驗(yàn)相關(guān)性越大,就越容易掌握新的任務(wù)。傳統(tǒng)的機(jī)器學(xué)習(xí)算法,通常只是解決一些孤立的任務(wù)。遷移學(xué)習(xí)試圖通過(guò)將在一個(gè)或多個(gè)源任務(wù)中學(xué)習(xí)到的知識(shí)進(jìn)行遷移,將它們用在相關(guān)的目標(biāo)任務(wù)中以提高其學(xué)習(xí)性能。這些能夠進(jìn)行知識(shí)遷移的技術(shù),標(biāo)志著機(jī)器學(xué)習(xí)向人類學(xué)習(xí)的道路上又前進(jìn)了一步。
大數(shù)據(jù)時(shí)代的數(shù)據(jù)絕大多數(shù)是大量無(wú)標(biāo)識(shí)的數(shù)據(jù)和少量有標(biāo)識(shí)數(shù)據(jù)的組合,半監(jiān)督學(xué)習(xí)方法是處理該類數(shù)據(jù)的有效方法;隨著數(shù)據(jù)量的激增,單一學(xué)習(xí)器的學(xué)習(xí)成果和效率難以滿足要求,通過(guò)多個(gè)學(xué)習(xí)器整合后的集成學(xué)習(xí)方法能較有效地獲取學(xué)習(xí)的結(jié)果;概率圖模型通過(guò)圖形可視化的方式為多種結(jié)構(gòu)的大數(shù)據(jù)分析提供了簡(jiǎn)單有效的分析模型;而通過(guò)遷移學(xué)習(xí),已有的學(xué)習(xí)成果能不斷積累并衍生引用到未知的領(lǐng)域。當(dāng)然,與大數(shù)據(jù)相關(guān)的機(jī)器學(xué)習(xí)研究領(lǐng)域還有很多,如大規(guī)模機(jī)器學(xué)習(xí)的算法并行化,這也是未來(lái)機(jī)器學(xué)習(xí)的一個(gè)重點(diǎn)方向,有待在后續(xù)實(shí)際工作中不斷研究探索。
1 Tom Mitchell. Machine Learning. McGraw Hill Higher Education,1997
2 Olivier C,Bernhard S,Alexander Z.Semi-Supervised Learning.The MIT Press,2006
3 Zhu X J.Semi-Supervised Learning Literature Survey.Madison:University of Wisconsin,2008
4 Zhou Z H.Ensemble Methods:Foundations and Algorithms.Boca Raton,FL:Chapman&Hall/CRC,2012
5 梁吉業(yè),高嘉偉,常瑜.半監(jiān)督學(xué)習(xí)研究進(jìn)展.山西大學(xué)學(xué)報(bào),2009,32(4):528~534
6 Freund Y,Schapire R E.A decision theoretic generalization of online learning and application to boosting.Journal of Computer and System Sciences,1997,55(1):119~139
7 Breiman L.Bagging predictors.Machine Learning,1996,24(2):123~140
8 張春霞,張講社.選擇性集成算法綜述.計(jì)算機(jī)學(xué)報(bào),2011(8)
9 Koller D,Friedman N.Probabilistic Graphical Models:Principles and Techniques.The MIT Press,2009
10 Darwiche A.Modeling and Reasoning with Bayesian Networks.Cambridge University Press,2009
11 Pan JL,YangQ.A surveyon transferlearning.IEEE Transactions on Knowledge and Data Engineering(IEEE TKDE),2010,22(10):1345~1359
12 Bahadori M T,Liu Y,Zhang D.Learning with minimum supervision:a generalframework for transductive transfer learning.IEEE International Conference on Data Mining(ICDM),2011