寶雞市石油中學(xué) 李尚晉
當(dāng)今時代,數(shù)據(jù)的產(chǎn)生和傳輸速度急劇增長,數(shù)據(jù)往往體現(xiàn)出了規(guī)模巨大、不夠精確、數(shù)據(jù)混雜、動態(tài)多變等性質(zhì),傳統(tǒng)的機器學(xué)習(xí)已經(jīng)很難滿足時代的需要[4]。大數(shù)據(jù)所帶來的問題不僅僅是數(shù)據(jù)量龐大而使計算變得困難,更大的困難是數(shù)據(jù)是在不同服務(wù)器上得到的。這些在不同服務(wù)器上的數(shù)據(jù),它們之間或許存在某種聯(lián)系,但是我們不可能把它們集中起來進行處理和利用。傳統(tǒng)機器學(xué)習(xí)的理論、算法,它要求數(shù)據(jù)必須是獨立且同分布的,而當(dāng)條件不能被滿足,學(xué)習(xí)模型以及學(xué)習(xí)算法就不能發(fā)揮其作用。
大數(shù)據(jù)環(huán)境下的機器學(xué)習(xí)賦予計算機從各式各樣的龐大數(shù)據(jù)(結(jié)構(gòu)化、非結(jié)構(gòu)化等類型數(shù)據(jù))中較快地獲得有價值的信息和知識的能力[3]。傳統(tǒng)機器學(xué)習(xí)著重用預(yù)先設(shè)定好的統(tǒng)計方法來對數(shù)據(jù)分析,以發(fā)現(xiàn)數(shù)據(jù)的價值;與傳統(tǒng)機器學(xué)習(xí)相比,大數(shù)據(jù)環(huán)境下機器學(xué)習(xí)的最終目的是要從多源異構(gòu)、動態(tài)多變的數(shù)據(jù)中找出其隱藏在背后的某些規(guī)律,使數(shù)據(jù)能發(fā)揮最大程度的價值。從結(jié)構(gòu)繁多的數(shù)據(jù)中找出某種聯(lián)系,必須結(jié)合大數(shù)據(jù)技術(shù)和機器學(xué)習(xí)算法,由計算機去挖掘數(shù)據(jù)的價值。
大數(shù)據(jù)時代中,傳統(tǒng)機器學(xué)習(xí)的新挑戰(zhàn)就是如何處理海量數(shù)據(jù)。傳統(tǒng)機器學(xué)習(xí)所面臨的問題主要包括幾個方面:
(1)理解并模擬人類的學(xué)習(xí)過程。
(2)對計算機系統(tǒng)和用戶間的語言差異的研究。
(3)針對不完全信息進行推理的要求。
目前,處理大規(guī)模數(shù)據(jù)的需求是普遍存在的,但是由于現(xiàn)有的很多機器學(xué)習(xí)算法并不能滿足這些條件,或存在各種各樣的缺陷和問題,所以現(xiàn)有的許多算法不可以很好地處理海量數(shù)據(jù)。如何研究出新的機器學(xué)習(xí)算法,以適應(yīng)大數(shù)據(jù)處理的需求,是大數(shù)據(jù)時代下的機器學(xué)習(xí)的重要研究方向之一[1]。
在機器學(xué)習(xí)的發(fā)展歷程之中,有兩大研究的方向。一是研究人類學(xué)習(xí)機制,注重模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為;二是研究怎樣有效利用信息,從龐大的數(shù)據(jù)中獲取有效的、有價值的知識[4]。在大數(shù)據(jù)時代,數(shù)據(jù)產(chǎn)生速度越來越快,數(shù)據(jù)的體量出現(xiàn)了前所未有的增長,且需要 分析的新數(shù)據(jù)種類也在不停涌現(xiàn)。大數(shù)據(jù)時代對機器學(xué)習(xí)算法提出了更高的要求,要求機器學(xué)習(xí)算法具備處理海量數(shù)據(jù)的能力,要求算法可以處理高維度的數(shù)據(jù),要求算法和訓(xùn)練出的模型具備盡可能低的復(fù)雜性,以提高模型的訓(xùn)練速度和實際應(yīng)用中模型的預(yù)測速度,減少計算時間的浪費。
由于需要處理的數(shù)據(jù)量大且動態(tài)多變,要發(fā)現(xiàn)其中的價值,傳統(tǒng)的算法已經(jīng)很難滿足,這就需要新的算法來實現(xiàn)。評價機器學(xué)習(xí)算法優(yōu)劣的指標(biāo)主要有一下幾個方面。
(1)速度
在機器學(xué)習(xí)算法中,和速度有關(guān)的指標(biāo)有訓(xùn)練速度和預(yù)測速度。訓(xùn)練速度是指算法收斂的速度,即訓(xùn)練算法得出最優(yōu)模型的速度。預(yù)測速度是指使用最優(yōu)模型預(yù)測輸入信息對應(yīng)的結(jié)果的速度。如何開發(fā)出在訓(xùn)練速度和預(yù)測速度兩個方面表現(xiàn)都比較優(yōu)秀的機器學(xué)習(xí)算法,是一個重要的研究方向。
(2)泛化能力
機器學(xué)習(xí)的基本目標(biāo)是將訓(xùn)練數(shù)據(jù)中的實例泛化推廣。一般情況下,要求機器學(xué)習(xí)算法有較強的泛化能力,即對新輸入的數(shù)據(jù)做出合理響應(yīng)的能力。這一響應(yīng)能力代表著機器學(xué)習(xí)算法的性能。
(3)數(shù)據(jù)利用能力
隨著人們收集數(shù)據(jù)的能力變得越來越強,收集的數(shù)據(jù)類型也變得越來越多,不但有標(biāo)識的數(shù)據(jù),還有許多未標(biāo)識的數(shù)據(jù)以及一些不一致、不完整的數(shù)據(jù)。如果一味地丟棄這些數(shù)據(jù),只使用已標(biāo)識、較完整的數(shù)據(jù),就會造成資源的浪費。而且相比之下,學(xué)習(xí)到的模型的泛化能力也比較低。所以,利用種類繁多、格式多樣的數(shù)據(jù)的能力,是評判機器學(xué)習(xí)算法的重要指標(biāo)。
(4)代價敏感
代價敏感是指機器學(xué)習(xí)算法對于實際應(yīng)用中的錯誤預(yù)測所導(dǎo)致的損失是否敏感。在機器學(xué)習(xí)算法訓(xùn)練模型的過程中,內(nèi)部調(diào)節(jié)參數(shù)以使損失函數(shù)盡可能快地收斂。一個好的機器學(xué)習(xí)算法,其損失函數(shù)不僅僅考慮模型的錯誤,而且要關(guān)注在實際應(yīng)用中模型的錯誤所導(dǎo)致產(chǎn)生的代價。
(5)可解釋性
許多功能強大的機器學(xué)習(xí)算法可以說都是“黑盒子”,例如:神經(jīng)網(wǎng)絡(luò)算法。對于這類“黑盒子”算法,絕大部分用戶只能夠看到模型輸出的結(jié)果,卻不知產(chǎn)生這些結(jié)果的原因。而隨著數(shù)據(jù)量的不斷增加,問題復(fù)雜度的提高,模型的可解釋性往往也越來越差。在得到合理預(yù)測結(jié)果的同時,增強模型的可解釋性尤為必要。
當(dāng)前,機器學(xué)習(xí)領(lǐng)域比較常用的關(guān)鍵技術(shù)有半監(jiān)督學(xué)習(xí)、集成學(xué)習(xí)、遷移學(xué)習(xí)等,下面將逐一做出介紹。
(1)半監(jiān)督學(xué)習(xí)
在現(xiàn)實生活中的數(shù)據(jù)分析中,數(shù)據(jù)往往以未標(biāo)識的形式呈現(xiàn)。這些數(shù)據(jù)需要人們使用特殊的設(shè)備,進行用時很長的實驗,標(biāo)記實驗結(jié)果后才能得到部分已標(biāo)識數(shù)據(jù)。但是人工標(biāo)注耗時耗力,人們往往只能標(biāo)記一小部分?jǐn)?shù)據(jù),由此產(chǎn)生了極少的已標(biāo)識數(shù)據(jù)和過剩的未標(biāo)識數(shù)據(jù)。因此,人們嘗試將大量的未標(biāo)識數(shù)據(jù)和有限的已標(biāo)識數(shù)據(jù)一起用來訓(xùn)練模型,期望能通過這種處理方式對機器學(xué)習(xí)性能有所改進,由此產(chǎn)生了半監(jiān)督學(xué)習(xí)。半監(jiān)督學(xué)習(xí)避免了大量的數(shù)據(jù)和資源被浪費,同時可以解決監(jiān)督學(xué)習(xí)泛化能力不強和無監(jiān)督學(xué)習(xí)不精確的問題[4]。
(2)集成學(xué)習(xí)
海量數(shù)據(jù)的處理過程中,單一的學(xué)習(xí)算法訓(xùn)練出的模型往往預(yù)測性能較差,分類不精準(zhǔn)。我們將預(yù)測正確率僅僅比隨機猜測略高的模型稱為弱分類器,將辨別正確率高的模型稱為強分類器。集成學(xué)習(xí)的核心思想在于“集眾家之長”。集成學(xué)習(xí)中,首先訓(xùn)練多個弱分類器,然后通過一定的策略(加權(quán)法、投票法等)將這些弱分類器組合起來形成一個預(yù)測較為精準(zhǔn)的強分類器[6]。
(3)遷移學(xué)習(xí)
隨著機器學(xué)習(xí)理論的發(fā)展,很多新的學(xué)習(xí)算法被提出。可是,在一些情況下,我們想要解決某個問題,常常被一些現(xiàn)實條件所限制,例如:數(shù)據(jù)量小、標(biāo)識數(shù)據(jù)過少等。遷移學(xué)習(xí)的方法良好地解決了這一問題。遷移學(xué)習(xí)旨在利用目標(biāo)任務(wù)(待解決任務(wù))和源任務(wù)(已經(jīng)分析過的應(yīng)用場景)之間的相似性,將源任務(wù)中學(xué)習(xí)到的知識遷移到目標(biāo)任務(wù)中,以此來增強算法處理目標(biāo)任務(wù)的效果[2]。
大數(shù)據(jù)環(huán)境下,數(shù)據(jù)往往只有少部分被標(biāo)識,數(shù)據(jù)形式呈現(xiàn)為大量無標(biāo)識數(shù)據(jù)和小部分有標(biāo)識數(shù)據(jù)的組合。半監(jiān)督學(xué)習(xí)高效利用了這些數(shù)據(jù),使學(xué)習(xí)性能有所提高;而隨著數(shù)據(jù)量增加,集成學(xué)習(xí)通過組合多個學(xué)習(xí)器的方式,提升了機器學(xué)習(xí)算法的泛化能力;遷移學(xué)習(xí),利用已有的學(xué)習(xí)成果,不斷積累并且衍生到未知的領(lǐng)域[5]。除此之外,大數(shù)據(jù)時代的機器學(xué)習(xí)還必須解決可擴展性的問題,這需要考慮采用并行化的方法。
[1]張紹成,孫時光,曲洋,董宇.大數(shù)據(jù)環(huán)境下機器學(xué)習(xí)在數(shù)據(jù)挖掘中的應(yīng)用研究[J].遼寧大學(xué)學(xué)報(自然科學(xué)版),2017,44(01):15-17.
[2]莊福振,羅平,何清,史忠植.遷移學(xué)習(xí)研究進展[J].軟件學(xué)報,2015,26(01):26-39.
[3]何清,李寧,羅文娟,史忠植.大數(shù)據(jù)下的機器學(xué)習(xí)算法綜述[J].模式識別與人工智能,2014,27(04):327-336.
[4]陳康,向勇,喻超.大數(shù)據(jù)時代機器學(xué)習(xí)的新趨勢[J].電信科學(xué),2012,28(12):88-95.
[5]許至杰.遷移學(xué)習(xí)理論與算法研究[D].華東師范大學(xué),2012.
[6]王麗麗.集成學(xué)習(xí)算法研究[D].廣西大學(xué),2006.