趙 婕,白振豪,趙錦榮
(太原學院智能與自動化系,山西 太原 030032)
《機器學習》是智能科學與技術專業(yè)的核心課程,要求學生掌握模擬人類的學習機制,從原始數(shù)據(jù)中獲取隱藏的有效信息的方法。隨著大數(shù)據(jù)技術的發(fā)展,機器學習朝著智能化數(shù)據(jù)分析與處理的方向發(fā)展,結(jié)合新知識和社會實際需求變化,學生需要深入了解機器學習的發(fā)展動態(tài)[1-2]。
傳統(tǒng)機器學習算法可以分為三大類:監(jiān)督學習、無監(jiān)督學習和增強學習[3]。其中,監(jiān)督學習需要對訓練集目標進行數(shù)據(jù)標注,標記輸入數(shù)據(jù)的輸出值,其學習任務是實現(xiàn)具體數(shù)據(jù)的分類或回歸。無監(jiān)督學習無需對訓練集目標進行數(shù)據(jù)標注,其輸入數(shù)據(jù)不需要預先標記輸出值,實現(xiàn)的學習任務是聚類或預測。增強學習采用反饋式交互學習方式,與外部環(huán)境進行不斷地交互試錯來獲取最佳學習策略,其學習任務是得到具有最大累積回報的決策。從數(shù)據(jù)處理過程來看,監(jiān)督學習和非監(jiān)督學習主要側(cè)重于數(shù)據(jù)分析,增強學習更多地應用于解決決策問題。傳統(tǒng)機器學習算法的分類情況如表1所示。
表1 傳統(tǒng)機器學習算法分類
傳統(tǒng)機器學習算法進行數(shù)據(jù)處理時,會將所有的數(shù)據(jù)進行完全加載使用。但是,隨著大數(shù)據(jù)時代的來臨,數(shù)據(jù)集的規(guī)模不斷擴大,傳統(tǒng)的機器學習數(shù)據(jù)處理方法已經(jīng)不能滿足大數(shù)據(jù)的特性,而大數(shù)據(jù)的特性成為改進機器學習算法的關鍵因素。
大數(shù)據(jù)具有五大特點,通常稱為大數(shù)據(jù)5 V特性,其具體描述如下:
1)大量化(Volume):數(shù)據(jù)分析量巨大,計量單位從TB到PB,甚至達到EB規(guī)模;
2)多樣性(Variety):大數(shù)據(jù)類型多樣化,除結(jié)構化數(shù)據(jù)外,還包含非結(jié)構化數(shù)據(jù)和半結(jié)構化數(shù)據(jù);
3)價值化(Value):海量數(shù)據(jù)的分析和挖掘具有巨大的商業(yè)價值,而相應的數(shù)據(jù)價值密度變低,因為價值密度與數(shù)據(jù)量的大小構成反比例關系。
4)時效性(Velocity):根據(jù)大數(shù)據(jù)的生成速度,需要在一定的時間限度內(nèi)及時完成數(shù)據(jù)處理操作,具有較高的時效性要求。
5)真實性(Veracity):大數(shù)據(jù)的內(nèi)容來源于社會生產(chǎn)和日常生活等現(xiàn)實世界,數(shù)據(jù)可能存在不確定性和不完備性,在大數(shù)據(jù)處理過程中需要確保數(shù)據(jù)的準確性和可信度。
大數(shù)據(jù)的5 V特性給機器學習帶來了挑戰(zhàn),針對上述大數(shù)據(jù)的特點,對傳統(tǒng)機器學習算法的改進成為該領域的研究熱點,廣大研究學者致力于開發(fā)滿足大數(shù)據(jù)特性的可擴展的并行智能學習方法[4]。目前,較為典型的基于大數(shù)據(jù)技術的機器學習方法如表2所示。
表2 基于大數(shù)據(jù)技術的機器學習方法
傳統(tǒng)的機器學習方法不能直接從數(shù)據(jù)中自動挖掘出有判別力的信息,表示學習利用算法學習數(shù)據(jù)的有效表示,能夠合理高效地將高維數(shù)據(jù)特征表示出來。當數(shù)據(jù)來自不同的特征空間,具有不同的分布時,遷移學習能夠利用預先學到的知識較快地解決新環(huán)境中的問題。在數(shù)據(jù)處理過程中經(jīng)常會遇到規(guī)模龐大、未標注的數(shù)據(jù)集,由于數(shù)據(jù)量巨大,采用手工標注方式較難完成數(shù)據(jù)的準確標注,這種情況下,主動學習能夠利用少量的標注樣本獲取高精度的訓練模型。對于非線性數(shù)據(jù)處理,核函數(shù)學習能夠提供強大的計算能力。如果為了達到較高的數(shù)據(jù)時效性要求,可以采用在線學習和極限學習機進行實時數(shù)據(jù)處理。
學習系統(tǒng)能否快速地執(zhí)行算法,依賴于數(shù)據(jù)處理的速度。依據(jù)數(shù)據(jù)處理任務所面臨的不同的大數(shù)據(jù)特性,采用不同的機器學習算法,并且將其與大數(shù)據(jù)處理方法相結(jié)合。為了提高大數(shù)據(jù)處理的有效性,在機器學習中可以融入智能信息處理方法[5-6]。在機器學習算法中,適用于大數(shù)據(jù)的智能信息處理方法主要有:1)統(tǒng)計學習法;2)凸優(yōu)化法;3)隨機近似法;4)異常序列檢測法。如圖1所示,前三種信息處理方法應用于大數(shù)據(jù)分析,第四種用于決策機制。
圖1 基于大數(shù)據(jù)的智能信息處理方法
統(tǒng)計學習法是利用統(tǒng)計學方法進行數(shù)據(jù)分析,構建概率統(tǒng)計模型對數(shù)據(jù)進行本質(zhì)推斷或預測其未來發(fā)展趨勢。傳統(tǒng)的統(tǒng)計學習方法主要處理結(jié)構化數(shù)據(jù)。大數(shù)據(jù)時代背景下的統(tǒng)計學習法,不僅要分析處理樣本容量巨大的數(shù)據(jù),還要在較短時間內(nèi)對不同類型的融合數(shù)據(jù)進行準實時地推斷與預測。大數(shù)據(jù)拓展了統(tǒng)計學的研究內(nèi)涵,面對大容量、異常或缺失值、實時約束和云存儲等問題,使得統(tǒng)計學習的研究范式從參數(shù)估計的不確定性轉(zhuǎn)為模型選擇的不確定性,聚焦于數(shù)據(jù)的自適應性和稀疏技術[7]。
凸優(yōu)化法是一種使用較為廣泛的信息處理方法。在對大數(shù)據(jù)進行分析和處理時,由于數(shù)據(jù)量巨大,無法根據(jù)大數(shù)據(jù)的上下文信息進行局部優(yōu)化求解。因此,基于大數(shù)據(jù)的凸優(yōu)化法需要對傳統(tǒng)的凸優(yōu)化算法進行改進,其目的是解決大數(shù)據(jù)凸優(yōu)化求解過程中的計算和存儲等瓶頸問題。假設大數(shù)據(jù)優(yōu)化問題的目標數(shù)學公式為:
(1)
其中f和g是凸函數(shù)。為了獲得最優(yōu)解x*,可以采用一階方法通過目標的一階預測信息求出數(shù)值解,還可以通過使用近端映射原理處理含有非光滑項的函數(shù)。常采用的一階方法有Nesterov加速梯度法、加速近端梯度法等。
交替方向乘子法(Alternating Direction Method of Multipliers,簡稱ADMM)可以解決等式約束的優(yōu)化問題,其目標公式為:
s.t.Ax+Bz=c.
(2)
其中Ax+Bz=c為等式約束。ADMM利用增廣拉格朗日和對偶分解技術,將一個大問題分成兩個子問題,縮小了問題規(guī)模,起到簡化計算的作用。
大數(shù)據(jù)隨機近似法利用采樣、略圖、摘要等技術,引入近似的允許誤差,可以降低大數(shù)據(jù)的處理規(guī)模,提高大數(shù)據(jù)處理效率。
隨機梯度下降法(Stochastic Gradient Descent,簡稱SGD)每次從訓練集中隨機抽出一組樣本,訓練后按梯度進行更新一次,使用目標函數(shù)的近似梯度來確定搜索方向。SGD在訓練集足夠大的情況下,通過隨機均勻地選擇樣本而不是循環(huán)遍歷數(shù)據(jù)的方式,可以獲得更好的收斂速度。
假設L是每個樣本的損失函數(shù),f(x;Φ)表示一個關于x和參數(shù)Φ的函數(shù),并且y表示x所對應的目標值,SGD的步驟如下所示:
隨機梯度下降法(SGD)輸入:學習率η和初始參數(shù)Φ輸出:f(x;Φ)的全局最小近似值repeat1:從訓練集中選擇m個樣本{x(1),…,x(n)},其中x(i)所對應的目標為y(i);2:梯度計算:g←▽Φ∑i L(f (x(i); Φ), y(i))/m;3:參數(shù)更新:Φ←Φ- ηg。until 達到收斂條件
隨著數(shù)據(jù)規(guī)模的不斷增大,在大數(shù)據(jù)應用環(huán)境中離群點學習算法的使用需求也隨之增大,異常序列檢測法用于大數(shù)據(jù)的決策機制,具有重要的實際應用價值。在工業(yè)生產(chǎn)、社會生活中,基于數(shù)據(jù)驅(qū)動的異常序列檢測法可以自動準確地檢測出系統(tǒng)的異常值,盡早發(fā)現(xiàn)系統(tǒng)的異常情況。例如,通過互聯(lián)網(wǎng)服務器的流量監(jiān)測,發(fā)現(xiàn)黑客攻擊后的訪問流量的顯著變化;通過監(jiān)測銀行賬戶的高頻異常轉(zhuǎn)賬行為,及時發(fā)出金融風險預警。
孤立森林(Isolation Forest,簡稱IF)定義異常樣本為分布稀疏且距離高密度群體較遠的數(shù)據(jù)點,具有線性時間復雜度,即其運行時間隨輸入數(shù)據(jù)量的增大呈線性增加的趨勢,符合大數(shù)據(jù)的應用條件。IF采用遞歸隨機分割數(shù)據(jù)集的策略,直到所有的樣本點都孤立為止,使得異常點具有較短的路徑。IF分為兩個階段,在第一階段訓練出t棵孤立樹來組成孤立森林,具體步驟如下:
Step 1:從訓練集中隨機選擇m個樣本點作為樣本子集,放入一棵孤立樹的根節(jié)點;
Step 2:隨機指定一個維度,在當前節(jié)點數(shù)據(jù)中隨機選擇一個分割點p,該分割點產(chǎn)生于當前節(jié)點數(shù)據(jù)中指定維度的最大值和最小值之間;
Step 3:以分割點p生成一個超平面,將當前節(jié)點數(shù)據(jù)空間劃分為2個子空間,小于p的數(shù)據(jù)放入左子節(jié)點Tl,而大于等于p的數(shù)據(jù)放入右子節(jié)點Tr;
Step 4:在Tl和Tr中遞歸執(zhí)行Step2和Step3,不斷構造新葉子節(jié)點,直到葉子節(jié)點中只有一個數(shù)據(jù)而無法再繼續(xù)分割,或者子節(jié)點已達到限定高度。
Step 5:循環(huán)執(zhí)行Step1至Step4,直至生成t個孤立樹為止。
在第二階段,利用生成的隨機森林評估測試數(shù)據(jù)。對于每一個數(shù)據(jù)點xi,令其遍歷每一棵孤立樹,計算xi在森林中的平均高度h(xi),對所有點的平均高度做歸一化處理。異常分數(shù)s的計算公式如下:
(3)
其中,h(x)為每棵樹的高度;c(n)為給定樣本數(shù)n時,路徑長度的平均值,用來對樣本x的路徑長度h(x)進行標準化處理。
在大數(shù)據(jù)時代,對數(shù)據(jù)的分析和處理技術提出了更高的要求,基于大數(shù)據(jù)技術的機器學習方法為當今的人工智能產(chǎn)業(yè)發(fā)展提供了有效的推動力量。通過研究面向大數(shù)據(jù)技術的機器學習數(shù)據(jù)分析與處理方法,拓寬學生的知識面和專業(yè)視野,為下一步實現(xiàn)符合社會實際需求的《機器學習》課程建設目標奠定了基礎。