童蓮
(江蘇海事職業(yè)技術(shù)學(xué)院,江蘇 南京 211199)
大數(shù)據(jù)(Big Data)又稱為巨量資料,指需要新的處理模式才能具有更強的決策力、洞察力和流程化能力的海量、高增長率和多樣化的信息資產(chǎn)。大數(shù)據(jù)概念最早由維克托·邁爾·舍恩伯格和肯尼斯·庫克耶在編寫《大數(shù)據(jù)時代》中提出,指不用隨機分析法(抽樣調(diào)查)的捷徑,而是采用所有數(shù)據(jù)進行分析處理。大數(shù)據(jù)有4V特點,即Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價值)。小數(shù)據(jù)時代的樣本為隨機取樣,用最少的數(shù)據(jù)獲得最多的信息,而大數(shù)據(jù)時代的樣本為總體數(shù)據(jù)。比如谷歌公司曾經(jīng)通過分析整個美國幾十億條互聯(lián)網(wǎng)檢索記錄預(yù)測流感趨勢。對于小數(shù)據(jù)而言,最基本、最重要的要求就是減少錯誤,保證質(zhì)量。比如追求更高精度的對時間、空間的測量。大數(shù)據(jù)允許不精確,放松了容錯的標準,人們可以掌握更多的數(shù)據(jù),利用這些數(shù)據(jù)做更多新的事情。如今采集和存儲數(shù)據(jù)的數(shù)量和規(guī)模已經(jīng)爆發(fā)式地增長,如何分析并利用這些數(shù)據(jù)是擺在眾人面前的一道難題。
機器學(xué)習(xí)和數(shù)據(jù)分析是將大數(shù)據(jù)轉(zhuǎn)換成有用知識的關(guān)鍵技術(shù)[1],并且有研究表明,在很多情況下,處理的數(shù)據(jù)規(guī)模越大,機器學(xué)習(xí)模型的效果會越好。因此,機器學(xué)習(xí)是大數(shù)據(jù)智能化分析處理應(yīng)用中的重要手段。本文通過闡述機器學(xué)習(xí)算法的實際應(yīng)用,探索如何利用海量數(shù)據(jù)。
機器學(xué)習(xí)的定義可以理解為:如果一個“程序”可以在“任務(wù)T”上,隨著“經(jīng)驗E”的增加,“效果P”也可以隨之增加,則稱這個程序可以從經(jīng)驗中學(xué)習(xí)。
機器學(xué)習(xí)的經(jīng)典算法主要有五種類型,分別為:聚類算法、分類算法、回歸算法、關(guān)聯(lián)規(guī)則算法、降維算法[2]。機器學(xué)習(xí)又可以分為三類:監(jiān)督式學(xué)習(xí),非監(jiān)督式學(xué)習(xí),強化學(xué)習(xí)[3]。監(jiān)督式學(xué)習(xí)需要提前進行數(shù)據(jù)分類,非監(jiān)督式學(xué)習(xí)著重于挖掘規(guī)律,強化學(xué)習(xí)需要通過試錯去找到解決方案。
以垃圾郵件分類為例闡述機器學(xué)習(xí)的定義:
一個程序:機器學(xué)習(xí)算法,比如回歸算法;
任務(wù)T:區(qū)分垃圾郵件的任務(wù);
經(jīng)驗E:已經(jīng)區(qū)分過是否為垃圾郵件的歷史郵件,在監(jiān)督式機器學(xué)習(xí)問題中,這也被稱之為訓(xùn)練數(shù)據(jù);
效果P:機器學(xué)習(xí)算法在區(qū)分是否為垃圾郵件任務(wù)上的正確率。
經(jīng)典的機器學(xué)習(xí)算法在應(yīng)用時,可以分為三個步驟:特征維度提取[4]、特征模型建立、模型融合。特定領(lǐng)域的模型融合完成后,即可用來分析該領(lǐng)域的大數(shù)據(jù),獲取有用信息。
所謂特征,通俗地講,就是從這些“以前的數(shù)據(jù)”中提取出來的對于分類預(yù)測有價值的變量。比如電影、電視劇分類,書籍分類,垃圾郵件分類,動植物分類等。從維度上可以分為一維分類、二維分類、多維分類。
一維分類如圖1所示,只需設(shè)定一個閾值,即可將數(shù)據(jù)分為A類和B類。
圖1 一維分類
二維及以上的分類,通常采用歐幾里得度量(euclidean metric)(也稱歐氏距離)。這是一個通常采用的距離定義,指在m維空間中兩個點之間的真實距離,或者向量的自然長度(即該點到原點的距離)。在二維和三維及以上空間中的歐氏距離就是兩點之間的實際距離。
二維空間的公式如式(1)所示:
三維空間的公式如式(2)所示:
二維分類最終結(jié)果如圖2所示:
圖2 二維分類
維度越多意味著特征越多,需要處理的數(shù)據(jù)量級越大。在特征抽取的過程中,可適當去掉相關(guān)度不大的特征,將更少的特征應(yīng)用于機器學(xué)習(xí)流程,即所謂的降維[5]。
有了特征之后,我們要通過各種模型建立從特征到目標之間的關(guān)系。一個性能優(yōu)良的模型,依賴于相關(guān)度大的特征的集合。如果我們針對的是一個預(yù)測問題,例如成績排名的預(yù)測,我們通常把單個模型叫作一個預(yù)測器;如果我們針對的是一個分類問題,例如把在銀行貸款的中小企業(yè)分為低違約風(fēng)險和高違約風(fēng)險兩類,我們通常把單個模型叫作一個分類器。這樣的模型可以是來自某種專家系統(tǒng),或者把專家的知識翻譯成模型,比如銀行的風(fēng)險控制專家的很多知識,都可以直接轉(zhuǎn)變?yōu)槟P汀?/p>
模型在使用之前必須經(jīng)過訓(xùn)練,模型訓(xùn)練過程中可能出現(xiàn)過擬合[6]、欠擬合兩種情況,通過調(diào)整模型的特征維度個數(shù),最終達到模型適中的目標。所謂過擬合(over-fitting)其實就是所建的機器學(xué)習(xí)模型在訓(xùn)練樣本中表現(xiàn)得過于優(yōu)越,導(dǎo)致在驗證數(shù)據(jù)集以及測試數(shù)據(jù)集中表現(xiàn)不佳。而欠擬合(under-fitting),則是在訓(xùn)練集上的判斷準確率效果不佳。過擬合即特征維度過多,訓(xùn)練過程中需要減少特征維度;而欠擬合則是因為特征維度過少,需要增加特征維度。
過擬合、欠擬合、模型適中三種情況如圖3所示:
圖3 模型訓(xùn)練三種情況
單一模型的預(yù)測和分類結(jié)果往往不盡如人意,因此把每一個模型都叫作一個弱預(yù)測器或者弱分類器。當我們有了成千上萬個模型后,我們就可以通過把這些模型融合起來,獲得更好的預(yù)測或者分類效果,例如分類模型;針對每一個待分類樣本,把每一個模型得到的結(jié)果都看成對這個樣本分類結(jié)果的一次投票,最后根據(jù)得票高低確定最終分類結(jié)果,投票結(jié)果經(jīng)常勝出的模型會被賦予更大的權(quán)重。
比如有兩個模型:客戶信用度評估模型1、客戶信用度評估模型2,在模型融合時占有的權(quán)重,依據(jù)它們將客戶特征維度進行的每一次分類結(jié)果所得的投票數(shù)。成千上萬個模型融合時,各自所占的權(quán)重也是依據(jù)每一次分類所得的投票數(shù)。
表1 模型融合
因為融合的方案較為固定,所以我們只需要維護特征庫和模型庫,而所有新的數(shù)據(jù)以及新的專家知識和專家系統(tǒng),基本上都可以映射為對特征庫和模型庫的更新,包括對特征權(quán)重的修正。盡管專家知識和專家系統(tǒng)對于特征的選擇和賦權(quán),以及模型的建立都有作用,但實際上,即便沒有任何專家知識和專家系統(tǒng),僅僅通過一般化的特征學(xué)習(xí)和常用的機器學(xué)習(xí)模型,也能得到很不錯的結(jié)果。這就使大規(guī)模數(shù)據(jù)下的機器學(xué)習(xí),可以看作具有一般意義的解決方案。
目前,大數(shù)據(jù)技術(shù)已經(jīng)在多個領(lǐng)域得到廣泛應(yīng)用,大數(shù)據(jù)技術(shù)的發(fā)展依賴于機器學(xué)習(xí)的進步。本文闡述了機器學(xué)習(xí)算法在一般領(lǐng)域應(yīng)用的三個步驟,也為商業(yè)解決方案提供了參考依據(jù)。
未來機器學(xué)習(xí)的研究離不開軟件和硬件的共同發(fā)展,提升機器學(xué)習(xí)算法并行性、降低算法復(fù)雜度是軟件亟待解決的問題,而CPU+GPU混合計算則是硬件研究的方向。云計算、大數(shù)據(jù)、人工智能等關(guān)聯(lián)學(xué)科的融合發(fā)展,更能為機器學(xué)習(xí)的研究增加助力。