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