李春生,曹 琦,于 澍
(東北石油大學 計算機與信息技術學院,黑龍江 大慶 163318)
機器學習作為人工智能的重要研究內(nèi)容,經(jīng)過半個世紀的發(fā)展,現(xiàn)今已和模式識別、數(shù)據(jù)挖掘、統(tǒng)計學習、計算機視覺、自然語言處理等多個領域相互影響、交織發(fā)展[1]。
集成學習目前是機器學習領域中的一種研究方向。使用弱學習器通過多模型融合的思想可以極大提高準確率。當前集成學習(Bagging)主要使用弱學習器,且為同類模型,例如隨機森林使用多棵深度較淺的決策樹,在構(gòu)建Bagging集成的基礎上將決策樹作為基學習器[2],最終進行投票獲得最終結(jié)果。文中嘗試使用多類強學習器進行模型融合,并與單一強學習器進行指標對比。
決策樹是一個有監(jiān)督的機器學習算法,常用于分類預測等諸多領域,由于其高效性、誤差小的優(yōu)點,在分類問題中得到了廣泛的應用。在決策樹中,內(nèi)部分支節(jié)點表示一個條件屬性,而葉子節(jié)點表示一種決策屬性或分類結(jié)果[3-5]。決策樹是一個預測模型,其葉節(jié)點代表最終樣本分類,各屬性劃分代表分類規(guī)則。
由于文中解決二分類問題,選用當前較為流行的C4.5算法作為其中一種基類模型,C4.5算法是由J.Ross Quinlan開發(fā)并且用于決策樹的算法[6]。C4.5算法流程與ID3類似,相比ID3,將信息增益改為信息增益比,選擇信息增益比大的特征當作決策樹的節(jié)點并不停遞歸構(gòu)建決策樹,同時設置閾值避免過擬合。主要公式如下:
數(shù)據(jù)集S的信息熵:
特征F對于數(shù)據(jù)集S的條件信息熵:
特征F的信息增益:
Gain(S,F)=H(S)-H(S/F)
特征F對數(shù)據(jù)集S的分裂信息:
特征F對數(shù)據(jù)集S的信息增益比[7]:
邏輯回歸(logistic regression)是一種可以用來分類的常用統(tǒng)計分析方法,并且可以得到概率型的預測結(jié)果,屬于一種概率型非線性回歸[8-10]。邏輯回歸是經(jīng)典的分類模型,它將模型拆分為線性部分和激活函數(shù),主要公式如下:
假設x為輸入變量,W為權重矩陣,B為偏置,A為線性部分輸出,則線性部分函數(shù)為:
A=Wx+B
激活函數(shù)使用sigmoid函數(shù),將線性部分輸出A當作sigmoid函數(shù)輸入值,y為預測結(jié)果:
通過使用梯度下降或者mini-Batch梯度下降等算法完成對模型損失函數(shù)的迭代,最終給出權重W和偏置B。
文獻[11-15]指出支持向量機(support vector machines,SVM)是一種二分類模型,它的基本模型是定義在特征空間上的間隔最大的線性分類器,間隔最大使它有別于感知機。文中選用線性可分支持向量機,通過核函數(shù)與軟間隔最大化,學習得到分類決策函數(shù):
其中K(x,xi)為正定核函數(shù),使用序列最小最優(yōu)化(sequential minimal optimization,SMO)算法實現(xiàn)支持向量機的優(yōu)化過程。SMO算法要解決的是凸二次規(guī)劃的對偶問題:
SMO基本思路為選擇兩個變量,固定其他變量,針對這兩個變量構(gòu)建一個二次規(guī)劃問題,這時子問題可以極大提高算法的運算速度。SMO算法將原問題不斷分解為子問題并對子問題進行求解,進而達到求解原問題的目的。
多模型融合算法思想與Bagging集成學習算法思想類似,對比Bagging集成學習將弱學習器當作基學習器,使用平均投票得出最終結(jié)果的方式。文中提出的多模型融合算法使用強學習器決策樹、邏輯回歸、SVM作為基學習器,并將基學習器輸出當作下一階段的輸入,加入權重矩陣并使用最大似然估計迭代優(yōu)化參數(shù),計算出基學習器模型的輸出權重參數(shù),從而完成多模型融合過程。
多模型融合算法共分為兩部分:基學習器訓練、基學習器權重訓練。
第一部分:
輸入:訓練數(shù)據(jù)集T={(x1,y1),(x2,y2),…,(xN,yN)};各基學習器損失函數(shù){L(y,f(x))};基學習器集{b(χ;γ)};
輸出:各基學習器模型{f(x)}。
(1)初始化各f(x)。
(2)針對各個基學習器極小化損失函數(shù):
min(Loss(y,f(x)))
(3)更新基學習器模型參數(shù)。
(4)得到{f(x)}。
第二部分:
輸入:訓練數(shù)據(jù)集合T={(x1,y1),(x2,y2),…,(xN,yN)};第一部分已經(jīng)訓練完成的基學習器模型,MSE損失函數(shù);
輸出:各基類學習器權重參數(shù)。
(1)初始化權重矩陣W,初始化多模型融合函數(shù):
fall(x)=w1×fLR(x)+w2×fTree(x)+w3×fsvm(x)
(2)目標函數(shù):
(3)最終輸出各基學習器參數(shù)與對應權重。
文中使用泰坦尼克號之災數(shù)據(jù)集驗證算法效果。泰坦尼克號之災是Kaggle上經(jīng)典的二分類問題,造成海難失事的原因之一是乘客和機組人員沒有足夠的救生艇。盡管幸存下沉有一些運氣因素,但有些人比其他人更容易生存,比如女人,孩子和上流社會,通過分析數(shù)據(jù),使用機器學習模型,判斷乘客能否存活。通過最終結(jié)果表明,該數(shù)據(jù)集可以有效檢驗各模型性能對比情況。
泰坦尼克號之災數(shù)據(jù)集共有訓練數(shù)據(jù)891條,有12列屬性,其中Cabin屬性由于缺失值占比過多,將屬性值轉(zhuǎn)化為有值(yes),無值(no),同時使用眾數(shù)補償Age中Null值。屬性信息如表1所示,訓練數(shù)據(jù)如圖1所示。
表1 屬性列表
圖1 訓練數(shù)據(jù)
針對所有保留屬性創(chuàng)建與label變量的映射圖,直觀觀察變化關系,剔除無明顯相關關系的屬性,使用保留屬性建立特征集合,對離散特征進行因子化,對連續(xù)特征進行歸一化操作,最終生成特征變量,部分有效屬性與label對應關系圖如圖2所示。在圖中可以明顯觀察出Age、Sex等變量與label相關性強,而變量Name、Ticket由于是隨機化數(shù)據(jù)從而導致與label無明顯關系。
圖2 部分變量與Label對應關系
評價模型指標有多類,由于文中為二分類問題,所以選用精確率、召回率、準確率、ROC評價模型性能。
精確率(Precision)指的是模型輸出結(jié)果中判斷為正樣本的數(shù)據(jù)中真實為正樣本的比例。
召回率(Recall)指的是有多少正樣本被準確標出。
設模型輸出的正樣本集合為A,真正的正樣本集合為B,則有:
準確率(Accuracy)衡量的是分類正確的比例。假設是y^是模型輸出的預測label,y為樣本中正確的label,則準確率為:
ROC曲線是以假正率為橫坐標,真正率為縱坐標的曲線圖。設模型預測的正樣本集合為A,真正的正樣本集合為B,所有樣本集合為C,則A與B的交集個數(shù)除以B的個數(shù)為真正率(true-positive rate),A與B交集的個數(shù)除以C減B的個數(shù)為假正率(false-positive rate)。AUC(area under curve)分數(shù)是曲線下的面積,越大意味著分類器效果越好。
在表2實驗數(shù)據(jù)指標中列舉出各個模型在測試集中的評價指標,并增加神經(jīng)網(wǎng)絡與多模型融合進行橫向?qū)Ρ?,通過對比得出,多模型融合算法在精確率、召回率、準確率、AUC各個指標上均有明顯提升。相對于神經(jīng)網(wǎng)絡這類深度學習模型,多模型融合算法更加適用于小規(guī)模數(shù)據(jù)集。
表2 實驗數(shù)據(jù)指標
在小規(guī)模數(shù)據(jù)集合中,多模型融合算法可以融合各個模型優(yōu)勢,對基學習器預測正確結(jié)果給予更大權值,對預測錯誤結(jié)果減小權值,通過數(shù)據(jù)累加,最終增大模型預測準確率,同時提升模型各項指標。相對于深度學習模型需要大量數(shù)據(jù)進行訓練,多模型融合算法更加適用于小數(shù)據(jù)集。文中在特征選擇中并不完善,后續(xù)可以通過特征組合等方式進行提升。