付 悅,夏小娜,2,3
(1.曲阜師范大學(xué) 統(tǒng)計學(xué)院,山東 曲阜 273165;2.曲阜師范大學(xué) 信息科學(xué)與工程學(xué)院,山東 日照 276826;3.曲阜師范大學(xué) 中國教育大數(shù)據(jù)研究院,山東 曲阜 273165)
近年來,使用機器學(xué)習(xí)進行數(shù)據(jù)挖掘的研究越來越豐富[1-2]。在使用機器學(xué)習(xí)進行數(shù)據(jù)挖掘的各種算法中,數(shù)據(jù)分類算法的研究具有重要意義。分類算法能夠提取并刻畫數(shù)據(jù)中的各個類別,基于這些不同的類別分析研究數(shù)據(jù)可以更加全面地理解數(shù)據(jù)與解決問題。
在基于機器學(xué)習(xí)的分類算法興起之前,研究人員多使用傳統(tǒng)的分類方法如邏輯回歸或者判別分析對數(shù)據(jù)進行分類[3-4],這些分類方法有很大的局限性,比如邏輯回歸多適用于二分類的情況,而判別分析多應(yīng)用于數(shù)據(jù)的線性分類,正是由于傳統(tǒng)分類方法的一些局限性,很多專家和學(xué)者在數(shù)據(jù)分類方面的研究不斷向機器學(xué)習(xí)的分類算法靠近[5]。
基于機器學(xué)習(xí)的分類算法有很多,比較常用的有決策樹、隨機森林和支持向量機。在數(shù)據(jù)的分類問題上,目前對于分類器的研究多集中在模型的構(gòu)建以及優(yōu)化方面,很少有研究將傳統(tǒng)分類方法與機器學(xué)習(xí)分類方法進行對比。本研究以判別分析、決策樹、隨機森林和支持向量機為例,以北京市2018年1月到11月每小時的空氣質(zhì)量狀況為樣本,對以上幾種算法進行實證分析并比較它們在處理空氣質(zhì)量狀況問題中的應(yīng)用效果及存在的差別。
傳統(tǒng)的分類方法有很多,比如邏輯回歸、判別分析等,基于本次研究是對空氣質(zhì)量狀況進行分類,使用判別分析的分類方法進行實驗最為合適,因此主要介紹和使用判別分析方法。使用判別分析分類的關(guān)鍵在于利用當(dāng)前樣本信息,選擇合適方法建立相關(guān)判別規(guī)則,新樣本便可以根據(jù)判別規(guī)則判斷其所屬類別[6]。
根據(jù)判別規(guī)則的不同,判別分析主要分為距離判別、貝葉斯判別、Fisher判別和逐步判別,相關(guān)概念和思想可查閱相關(guān)文獻[7]。根據(jù)本研究所使用的數(shù)據(jù)集特點和對已有文獻的分析論證,F(xiàn)isher判別對空氣質(zhì)量狀況的分類更加有效可行。
Fisher判別的基本思想是借助投影使數(shù)據(jù)降維。該方法首先選擇一個適當(dāng)?shù)耐队拜S,使所有的樣本點都投影到該軸上,使用Fisher判別投影的關(guān)鍵是使每一類的類內(nèi)離差盡可能小,而不同類之間的類間離差盡可能大[8]。
Fisher判別構(gòu)造的線性判別函數(shù)表示為:
C(Y)=C1Y1+C2Y2+…+CPYP
(1)
其中,Y為判別類別,C為判別函數(shù)的系數(shù)。判別函數(shù)系數(shù)的估計表示為:
C=(∑1+∑2)-1(μ1+μ2)
(2)
其中,μ,Σ是變量X的均值與方差。
1.2.1 支持向量機
支持向量機(SVM)是機器學(xué)習(xí)中常用的分類算法之一,該模型的關(guān)鍵是盡量擴大不同類別之間的分類間隔,分類間隔越大得到的分類模型會越準確,詳細解釋可見參考文獻[9]。
以一個二分類問題為例,使用支持向量機構(gòu)建分類器就是在該數(shù)據(jù)空間中使用一個合適的超平面將原始數(shù)據(jù)分為兩類。對于該超平面的尋找方法是通過尋找最大化邊緣超平面進行。尋找最大化邊緣超平面意味著將不同類別的數(shù)據(jù)以充分大的間隔進行分類即在使用支持向量機分類時,不僅考慮將正負樣本分開,對于處在類別邊緣的樣本也要盡最大可能地正確分類,這便是使用支持向量機分類的關(guān)鍵所在[10]。
核函數(shù)是使用支持向量機建模的重點所在,它可以對一些復(fù)雜非線性數(shù)據(jù)建模,核函數(shù)的關(guān)鍵原理是空間映射,維度的變化使復(fù)雜數(shù)據(jù)的分類變得簡單。常用的核函數(shù)有高斯核函數(shù)、多項式核函數(shù)與字符串核函數(shù),關(guān)于核函數(shù)的具體思想可查閱文獻[11]。由于高斯核函數(shù)較為簡單,適用范圍較廣,因此文中對空氣質(zhì)量狀況的分類主要使用高斯核函數(shù)。
高斯核函數(shù)如式(3):
K(x,z)=exp(-‖x-z‖2/2σ2)
(3)
其中,樣本x,z∈χ(χ為歐氏空間的子集或者集合),σ2為數(shù)據(jù)方差。
1.2.2 決策樹
決策樹算法的關(guān)鍵是遍歷所有節(jié)點,并在每一個節(jié)點處分類,直至遍歷結(jié)束輸出最終的數(shù)據(jù)分類結(jié)果[12]。決策樹的分類過程主要包括決策樹的構(gòu)建和優(yōu)化。
首先需要從原始數(shù)據(jù)的所有特征中選取一個作為初始分類節(jié)點,然后遍歷數(shù)據(jù)所有特征,直至數(shù)據(jù)不可再分;其次進行模型優(yōu)化即剪枝操作。這樣生成的初始決策樹可能會存在節(jié)點過多的現(xiàn)象即出現(xiàn)過擬合,容易使決策樹過于膨脹,為此需要對決策樹進行剪枝,以此縮小樹的規(guī)模與結(jié)構(gòu)[13]。
決策樹分類的準確性與每個節(jié)點特征的劃分規(guī)則相關(guān),規(guī)則通常為信息增益準則、信息增益比準則與Gini指數(shù)準則這三種,分別對應(yīng)三種決策樹算法[14]。在三種決策樹算法中,使用Gini指數(shù)作為劃分準則的CART算法是前兩種算法的改進,這里主要介紹CART算法[15]。
由于CART算法使用Gini指數(shù)作為劃分準則,首先需要定義樣本X的Gini值,計算公式表示為:
(4)
其中,c為特征總數(shù),ck即屬于第k類的樣本本身。
設(shè)M為樣本特征,m是它可能的取值,X1和X2是樣本集X分割的兩部分,具體表示為:
(5)
此時,X的Gini指數(shù)可表示為:
(6)
1.2.3 隨機森林
隨機森林是決策樹的拓展算法,它的主要思想是集成學(xué)習(xí),基本單位是決策樹。與決策樹算法不同的是,隨機森林是由數(shù)個決策樹構(gòu)成,處在森林中的每個決策樹會生成一個分類結(jié)果,隨機森林利用集成學(xué)習(xí)方法分析所有決策樹的分類結(jié)果,投票數(shù)最多的分類作為最終結(jié)果,即Bagging算法[16]。
(1)Bagging算法。
Bagging算法需要在原始數(shù)據(jù)集中進行多次隨機采樣,將每次采樣結(jié)果作為一個訓(xùn)練樣本分類器直至所有樣本訓(xùn)練結(jié)束,在多次訓(xùn)練中選擇出現(xiàn)次數(shù)最多的分類作為最終分類器,再將測試樣本輸入最終分類器中預(yù)測分類結(jié)果,隨機森林是Bagging算法的典型應(yīng)用[17]。
(2)隨機森林構(gòu)建流程
首先從原始數(shù)據(jù)集中進行n次隨機采樣,根據(jù)采樣得到n個樣本集,利用n個樣本集訓(xùn)練決策樹模型,每個決策樹分類器生成的分類結(jié)果是不同的,所有的決策樹組成隨機森林。在隨機森林中,選擇出現(xiàn)次數(shù)最多的決策樹模型作為最終的分類模型。具體構(gòu)建流程可見參考文獻[18]。
基于北京市2018年1月至11月每小時的空氣質(zhì)量監(jiān)測數(shù)據(jù)進行實證研究,分別使用傳統(tǒng)分類方法與三種機器學(xué)習(xí)分類方法對北京市空氣質(zhì)量進行分類,根據(jù)結(jié)果分析比較幾種方法的有效性與準確性。
空氣質(zhì)量指數(shù)(air quality index,AQI)可用來衡量當(dāng)前地區(qū)的空氣質(zhì)量狀況。AQI的高低反映了空氣污染程度,空氣質(zhì)量狀況通常可分為優(yōu)、良、輕度污染、中度污染和重度污染五級[19]。AQI主要受空氣中污染物的影響,這些污染物主要包括PM2.5、PM10、CO、NO2、SO2與CO。根據(jù)空氣污染物濃度的高低,對當(dāng)前空氣質(zhì)量進行分類,借助分類結(jié)果研究主要污染物對空氣質(zhì)量的影響。
在構(gòu)造分類器之前,將北京市2018年1-11月每小時的空氣質(zhì)量數(shù)據(jù)以4∶1的比例分為訓(xùn)練集與測試集,訓(xùn)練集用來對數(shù)據(jù)進行學(xué)習(xí)建模,測試集用來檢驗所建模型的優(yōu)良性。
由于北京市空氣質(zhì)量數(shù)據(jù)為線性分類數(shù)據(jù),同時該數(shù)據(jù)為多分類情況,因此,在傳統(tǒng)的數(shù)據(jù)分類方法中,選擇線性判別方法。
使用訓(xùn)練集構(gòu)造線性判別分類器后,帶入測試數(shù)據(jù)進行判斷,測試結(jié)果如表1所示。
表1 判別分析方法對空氣質(zhì)量狀況的預(yù)測分類結(jié)果
表1為線性判別分析方法對北京市空氣質(zhì)量狀況的分類結(jié)果。結(jié)果顯示,空氣質(zhì)量狀況為“優(yōu)”時有87.53%的數(shù)據(jù)分類正確,數(shù)據(jù)判錯類別“良”;空氣質(zhì)量狀況為“良”時有77.83%的數(shù)據(jù)分類正確,判錯類別大多為“優(yōu)”;空氣質(zhì)量狀況為“輕度污染”時有69.32%的數(shù)據(jù)分類正確,判錯類別大多為“良”;空氣質(zhì)量狀況為“中度污染”時有73.7%的數(shù)據(jù)分類正確,判錯類別大多為“輕度污染”;空氣質(zhì)量狀況為“重度污染”時僅有50%的數(shù)據(jù)分類正確。線性判別分類器的成功率在78.25%左右,結(jié)果并非很理想。同時,成功分類比例顯示每一類的判錯概率或高或低,而處于兩個類別之間的數(shù)據(jù)使用線性判別方法并不容易判斷,這會導(dǎo)致分類不準確,錯誤率升高;對于數(shù)據(jù)量較小的類別如“重度污染”,使用該方法出錯率很高。
一般的支持向量機只能將數(shù)據(jù)分成兩類,由于空氣質(zhì)量分為五級,需要使用多分類的分類器。在用R語言構(gòu)造分類器之前,需要為分類設(shè)定合適的gamma和cost參數(shù),它們分別表示支持向量的個數(shù)和懲罰系數(shù)。其中,gamma函數(shù)在0.001到100之間,cost在10到100之間。通過多次測試,最終得到最優(yōu)參數(shù)為gamma=0.1,cost=100,以此為基礎(chǔ)所構(gòu)建支持向量機分類器并完成測試數(shù)據(jù)的分類,結(jié)果如表2所示。
表2顯示,空氣質(zhì)量狀況為“優(yōu)”時有96.50%的數(shù)據(jù)分類正確,數(shù)據(jù)判錯類別大多為“良”;空氣質(zhì)量狀況為“良”時有90.63%的數(shù)據(jù)分類正確,判錯類別為“優(yōu)”和“輕度污染”;空氣質(zhì)量狀況為“輕度污染”時有83.7%的數(shù)據(jù)分類正確,判錯類別大多為“良”;空氣質(zhì)量狀況為“中度污染”時有96.5%的數(shù)據(jù)分類正確,判錯類別大多為“輕度污染”;空氣質(zhì)量狀況為“重度污染”時有90.47%的數(shù)據(jù)分類正確,有兩個判為“中度污染”。支持向量機分類器的成功率在91.51%左右,結(jié)果較好。同時,成功分類比例顯示每一類的判錯概率或高或低,但大多在90%以上,沒有過低情況,這使得整體精度達到91.51%。
表2 支持向量機對空氣質(zhì)量狀況的預(yù)測分類結(jié)果
最初構(gòu)建的決策樹可能存在過擬合現(xiàn)象從而使決策樹較大,需要對決策樹進行剪枝。表3反映了交叉驗證誤差xerror與復(fù)雜度參數(shù)cp的關(guān)系,通過分析它們之間的關(guān)系確定最終決策樹的大小。表3顯示損失函數(shù)最小的節(jié)點為第10節(jié)點,此時最小交叉驗證誤差為0.129,由于標準誤差為0.006 09,因此最優(yōu)樹為0.129±0.006 09,以此為基準進行剪枝。
表3 交叉驗證誤差與復(fù)雜度關(guān)系表
圖1為對決策樹進行剪枝操作后的結(jié)果。該圖顯示,對空氣質(zhì)量狀況進行分類時決策樹所構(gòu)造的根節(jié)點為“良”,意為空氣質(zhì)量為“良”時所占比重相對較大,在根節(jié)點之下,根據(jù)不同的空氣污染物再次對數(shù)據(jù)分類,直至所有分類結(jié)束,共構(gòu)建了五類空氣質(zhì)量的葉節(jié)點。
圖1 決策樹分類器示意圖
使用圖1得到的決策樹數(shù)據(jù)分類器,帶入測試數(shù)據(jù)得到表4。
表4 決策樹對空氣質(zhì)量狀況的預(yù)測分類結(jié)果
表4為決策樹分類器對測試數(shù)據(jù)的分類結(jié)果??諝赓|(zhì)量狀況為“優(yōu)”時全部數(shù)據(jù)分類正確;空氣質(zhì)量狀況為“良”時有95%的數(shù)據(jù)分類正確,判錯類別為“優(yōu)”;空氣質(zhì)量狀況為“輕度污染”時有86.6%的數(shù)據(jù)分類正確,判錯類別大多為“良”;空氣質(zhì)量狀況為“中度污染”時有82.1%的數(shù)據(jù)分類正確,判錯類別大多為“輕度污染”;空氣質(zhì)量狀況為“重度污染”時沒有數(shù)據(jù)分類正確。決策樹分類器的成功率在92.7%左右,結(jié)果比較好。但當(dāng)空氣質(zhì)量狀況為“重度污染”時數(shù)據(jù)全部分類錯誤,通過對數(shù)據(jù)分析可以得到在北京市的空氣質(zhì)量狀況為“重度污染”時的數(shù)量非常少,僅占0.009 7%,同時由于“重度污染”的AQI與“中度污染”的AQI臨界值比較接近,導(dǎo)致“重度污染”的類別區(qū)分度很小,使空氣質(zhì)量狀況為“重度污染”的類別全部分類錯誤。
使用隨機森林分類器對數(shù)據(jù)集分類,首先默認生成500棵決策樹即500個分類器,接下來借助分類器指標MeanDecreaseGini[20]分析分類變量的重要性。
圖2是使用訓(xùn)練數(shù)據(jù)構(gòu)建分類器得到的MeanDecreaseGini圖,PM2.5與PM10在六個變量中居于首要地位,而SO2的重要性相對來說是最低的,通過分析有關(guān)AQI影響因素的文獻及數(shù)據(jù)資料得知[21],最影響北京市空氣質(zhì)量狀況的空氣污染物確實是PM2.5與PM10。
圖2 MeanDecreaseGini
使用測試數(shù)據(jù)對隨機森林分類器進行檢驗,得到表5??諝赓|(zhì)量狀況為“優(yōu)”時有98.92%的數(shù)據(jù)分類正確,判錯類別為“良”;空氣質(zhì)量狀況為“良”時有96.31%的數(shù)據(jù)分類正確,判錯類別為“優(yōu)”和“輕度污染”;空氣質(zhì)量狀況為“輕度污染”時有92.04%的數(shù)據(jù)分類正確,判錯類別大多為“良”;空氣質(zhì)量狀況為“中度污染”時有90.84%的數(shù)據(jù)分類正確,判錯類別大多為“輕度污染”;空氣質(zhì)量狀況為“重度污染”時有95.28%的數(shù)據(jù)分類正確,判錯為一個“中度污染”。隨機森林分類器的成功率在94.98%左右,結(jié)果良好。表5的數(shù)據(jù)顯示,對于每一個類別的空氣質(zhì)量狀況,判斷正確的概率比較均勻,均在90%以上,這使得整體判對概率達到94.98%,精確度比較高,分類比較準確。
表5 隨機森林對空氣質(zhì)量狀況的預(yù)測分類結(jié)果
本研究將傳統(tǒng)的統(tǒng)計學(xué)分類方法和機器學(xué)習(xí)的三種分類方法運用于北京市2018年度空氣質(zhì)量狀況的數(shù)據(jù)分析中,通過結(jié)果論證,其分類特點如表6所示:
表6 四種分類器優(yōu)缺點對比分析
(1)傳統(tǒng)的統(tǒng)計學(xué)分類方法雖然不需要調(diào)整參數(shù)的優(yōu)化權(quán)重問題,但是預(yù)測精度是最低的,而且對于每一類的預(yù)測精度都低。與三種機器學(xué)習(xí)的分類方法比較均處于劣勢位置。
(2)使用支持向量機對數(shù)據(jù)分類的結(jié)果較傳統(tǒng)統(tǒng)計學(xué)分類方法略好。支持向量是支持向量機分類器分類的關(guān)鍵,對于處于兩類別之間的數(shù)據(jù)的分類相對較好。但支持向量機的算法運行較為緩慢,多分類時會造成較大的誤差以及分類的低效率。
(3)使用決策樹分類器的結(jié)果優(yōu)于支持向量機。能夠比較清晰地看到每個分類節(jié)點,利于分析空氣中不同污染物對于空氣質(zhì)量的影響。缺點在于使用該方法構(gòu)建分類器時一種類別的數(shù)據(jù)比重較小且在各節(jié)點處的分類不明顯,會導(dǎo)致刪除此類數(shù)據(jù)的分類,適合處理不同類別的數(shù)據(jù)分布理想的樣本。
(4)使用隨機森林分類器對數(shù)據(jù)分類的結(jié)果是機器學(xué)習(xí)分類方法中最優(yōu)的,緣于隨機森林的評定結(jié)果建立在對所有決策樹結(jié)果的綜合分析基礎(chǔ)上,而且分類錯誤的情況比較少,準確率也最高。
因此,機器學(xué)習(xí)的分類算法明顯優(yōu)于傳統(tǒng)統(tǒng)計學(xué)分類方法,同時,具有全部決策樹綜合分析能力的隨機森林分類器最穩(wěn)定最有效。
通過對傳統(tǒng)統(tǒng)計學(xué)分類方法和機器學(xué)習(xí)的三種分類算法進行比較,得到以下結(jié)論:
傳統(tǒng)分類器有它獨特的優(yōu)點,但是缺點也比較明顯,比如線性判別只能用于處理線性問題,而且在不同類別之間的數(shù)據(jù)邊界不清晰時分類結(jié)果并沒有那么準確。當(dāng)數(shù)據(jù)類別之間的區(qū)分度不清晰時,機器學(xué)習(xí)算法更加具有優(yōu)勢。
機器學(xué)習(xí)的三種分類算法各有優(yōu)劣,適用情景有所差別。針對本研究的北京市空氣質(zhì)量狀況數(shù)據(jù)集,隨機森林分類器的分類效率與分類精度明顯優(yōu)于決策樹分類器和支持向量機分類器,分類結(jié)果更有統(tǒng)計學(xué)意義和參考價值。
分類節(jié)點比較多時可以優(yōu)先考慮決策樹分類器,并且通過剪枝操作以減少分類模型的過擬合情況。但是在分類節(jié)點比較少或者每個節(jié)點均比較重要時慎用此類方法。
當(dāng)數(shù)據(jù)集呈現(xiàn)二分類的情形時,支持向量機最為適用。但是在數(shù)據(jù)集的多分類情況下,應(yīng)當(dāng)減少支持向量機的使用。
本研究的方法優(yōu)化和實證分析過程可為不定周期、存在多類別的數(shù)據(jù)集分析和統(tǒng)計提供支持,具有應(yīng)用實踐意義,并提供有效且通用的建模方法和技術(shù)指導(dǎo)。