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