符新偉 王舒可
(云南財經大學國際工商學院,云南 昆明 650000)
近年來,機器學習[1]成為熱門話題,大量學者對其展開了研究[2],使得機器學習不斷發展和優化。在機器學習領域中,備受關注的話題是機器學習的分類識別功能,由于機器學習的分類識別高效性和預測準確性,使其被廣泛地應用于各個領域,例如科學研究[3-4]、醫療保健[5-6]、生態氣候[7-8]以及能源系統[9-10]等。除此之外,機器學習在圖像識別[11]的領域中也表現出了良好的性能。當下,由于現實需求,機器學習被廣泛應用于手寫數字識別技術中[12],例如運用卷積神經網絡來構建識別系統[13],基于改進的樸素貝葉斯方法構建的手寫數字識別系統[5],以及使用K近鄰算法對手寫數據進行識別[14]等。這些融合應用,不僅能滿足手寫數字識別技術需求,也有利于機器學習的進一步發展。但隨著信息技術的不斷進步,手寫識別技術所需要識別的數據量和特征數都大幅增加,以往的數據處理方法很難有效處理這些海量數據以滿足實際需求。在機器學習方法中,支持向量機(SVM)[15]、邏輯回歸(LR)[16]和決策樹(DT)[17]是非常經典的分類識別模型,被廣泛應用于數據分類識別技術中。雖然這些模型在處理小樣本問題中具有不俗表現,但在處理多樣本和多特征數據時其分類預測性能往往不能滿足實際需求。因此,許多學者運用集成概念來對這些模型進行改進,以此來提高模型處理多樣本和多特征指標數據的性能。例如使用Bagging集合學習改進SVM分類器[18],使用AdaBoost分類器對決策樹模型進行集成[19]以及將隨機森林方法與SVM進行結合[20]等。在集成方法中,Stacking采用自動化的大型集成策略,這樣能夠有效地對抗過擬合。因此,綜合以上研究,本文將支持向量機模型、邏輯回歸模型以及決策樹模型與Stacking方法相結合,構建SRD-Stacking模型,以此來提升模型對多樣本和多特征指標數據的分類預測性能。
雖然SVM、LR和DT模型在處理小樣本識別問題中具有不俗表現,但當面臨處理多樣本、多特征數據識別時,訓練模型所需的計算量將會呈指數增長,并且最終的準確率不高。因此,針對上述問題,本文引入集成的思想和方法,采用Stacking方法來對SVM、LR和DT模型進行集成,進而提升模型的分類預測性能。此外,為了了解集成模型處理高維數據的分類性能,本文還將非線性支持向量機(RBF-SVM)作為集成模型的初級學習器。
支持向量機模型(SVM)的目的就是尋求一條使間隔最大化的分離超平面,從而實現對正負例樣本點的區分。需要注意的是,當樣本點不存在誤分時,則此時SVM間隔示意圖被稱為硬間隔示意圖。根據SVM分類原理,其二次規劃問題可寫為如下式(1)。

其中w為分離超平面的法向量,εi為松弛變量,xi表示樣本點,yi為類別標簽;C為大于0的常數,表示對誤分類點的懲罰程度,C的值越大,代表對分類錯誤的懲罰力度越大。
式(1)模型主要是針對線性可分或近似線性可分樣本點而言,并不能對非線性樣本點進行區分。然而在現實生活中,大部分數據為線性不可分狀態。因此,這就需要引入核函數,將低維線性不可分樣本點映射到高維,使其在高維實現線性可分。此外,為了能夠更為方便地進行模型求解和引入核函數,還需要將SVM的原問題轉化為對偶問題,因此非線性SVM的對偶問題如式(2)所示。

支持向量機的軟間隔示例圖如圖1所示,與之相對應的是硬間隔最大化,二者的區別是硬間隔最大化不存在誤分類點。圖中“+” 表示正例點、“○”表示負例點;L2和L3分別為支持向量所構建成的邊界;d表示支持向量之間的間隔,也是分離正負例點的置信空間,間隔越大意味著分類結果更可信。因此,支持向量機的目的就是尋求一條使間隔d最大的,最優分離超平面L1,將兩類帶不同標簽的樣本點進行區分。

圖1 SVM軟間隔示例圖
結合原問題的對偶問題來看,當a≤C且εi=0時,意味著不存在誤分類點,支持向量恰好位于間隔邊界上;當a=C且0≤εi≤C時,說明存在誤分類點,且誤分類點位于間隔邊界與分離超平面之間;當a=C且εi=1時則支持向量位于分離超平面上;當a=C且εi≥1意味著支持向量處于分離超平面誤分一側。
在機器學習中,邏輯回歸模型(LR)由于簡單且便于理解,被廣泛應用于數據分類。該模型屬于廣義線性模型,是在線性回歸的基礎上加上了Sigmoid函數。其分類原理是通過將數據映射到Sigmoid函數中,從而實現對數據的分類預測,其函數形式如下式(4)。

其中h(xi)表示Sigmoid函數,xi表示第i個測試集數據,W為回歸系數構成的列向量。在該模型中,根據h(xi)的最終值來對數據類別進行區分。
決策樹模型(DT)是一種基于樹形結構的機器學習模型,主要用于對數據進行分類預測。其分類原理是根據數據集特征值來劃分葉子節點,每個葉子節點代表一個分類。在該模型中,關鍵在于選擇最優劃分屬性,而該屬性的衡量指標在大部分的學者研究中采用“基尼指數”來進行衡量,其表達式如下式(5)。

其中Gini(D,a) 表示基尼指數,其值越小代表數據集純度越高,a表示屬性,n表示在該屬性下可能會產生的分支節點個數。
SVM、LR和DT模型在解決小樣本的分類問題上表現出了良好性能,但當樣本量增加到一定程度之后,這些模型的分類精度就存在很大的改進空間。針對這一問題,本文采用Stacking方法對不同的基礎模型進行集成,進而提升模型處理大數據的分類預測性能。Stacking集成策略如圖2所示。

圖2 Stacking集成策略圖
Stacking是一種將多個基礎分類學習器進行結合的有效策略。在該集成策略中,基礎分類學習器被稱為初級學習器,而將初級學習器進行結合的方法稱為元學習器。在本文中其集成策略是先通過折交叉驗證法對不同個體的初級學習器進行訓練,再將不同個體的初級學習器對原始數據集的訓練結果作為次級訓練集的樣本特征,其訓練目標值仍為原始樣本的目標值,最后,元學習器對次級數據集的分類預測結果則為模型的最終分類識別結果。
本文使用UCI ML Repository[21-22]手寫數據集來驗證集成模型的分類性能。在該數據集中一共有1 797個數據樣本,每個樣本數據包括8×8像素的圖像和一個0~9整數的標簽。
首先將數據集以7 : 3的比例劃分為訓練集和測試集,再由線性SVM模型、非線性SVM模型、邏輯回歸模型以及決策樹模型對數據集進行分類預測,以此來驗證各類模型分類預測的能力。依據這些模型的測試結果,進而對模型效果進行評價分析。
模型測試結果如表1所示。表中F1-scor評價指標根據樣本數據的類別分別計算,準確率則為模型總體的準確率得分。表1結果顯示,就準確率而言,SRD-Stacking模型的準確率最高,達到了97.59%,其次為LR模型,準確率為96.48%,而TD模型分類準確率最低,為84.26%。因此用模型整體的準確率指標來衡量,SRD-Stacking集成模型表現出了更為優越的分類性能。此外,從F1-scor角度進行分析,SRD-Stacking集成模型對第“0”類圖片的識別結果略低于LR模型和L-SVM模型,對第“7”類圖片的識別結果略低于LR模型,對第“2”類圖片的識別結果與L-SVM模型相當,而對其余類別圖片的識別效果基本都優于其他模型,其中第“1”類和第“4”類的F1-scor值甚至為1。綜上,通過對SRD-Stacking集成模型、L-SVM模型、RBFSVM模型、LR模型和DT模型的分類預測準確率和F1-scor進行對比分析,可以得出SRD-Stacking集成模型對手寫數據識別具有更好的效果和性能。

表1 各種模型測試結果
本文簡單介紹了機器學習在圖片識別技術中的應用成果,以及相關模型目前的研究現狀,進而提出了SRDStacking集成模型的構建思路,并對構建該模型所要用到的基本模型和方法進行了詳細闡述。基于此,利用構建的SRD-Stacking模型對手寫數據集進行分類預測,并將其測試結果與四個基礎分類預測模型的測試結果進行對比分析,驗證了SRD-Stacking模型對多樣本和多特征指標數據集的分類預測性能。本文旨在豐富圖像識別領域的數據處理模型,也為SVM、LR和DT模型的改進提供借鑒思路。由于本文使用的都是確定性數據集,并未涉及主觀信息,而在實際應用中個人的主觀意見往往不可忽略,因此在接下來的研究中,將會把機器學習與模糊領域相結合,進一步對SRD-Stacking模型進行拓展和改進。