劉牧雷,徐菲菲
(上海電力學(xué)院 計算機科學(xué)與技術(shù)學(xué)院,上海 200090)
當前,LSTM 作為深度學(xué)習的一種處理序列數(shù)據(jù)最為流行的解決方案,擁有著較傳統(tǒng)方案更加實用性強且準確率高的特點[1-2]。但是,基于深度學(xué)習的代價敏感決策仍未得到主流的研究關(guān)注。當前的研究重點多集中于如何更高效的獲得精確的整體準確率。在有關(guān)于深度學(xué)習的代價敏感分類或決策問題上,當前的算法常見解決方案多集中于通過對數(shù)據(jù)的預(yù)處理和運行參數(shù)調(diào)整的方式來使分類器獲得對某一類代價敏感類別更高的關(guān)注從而實現(xiàn)減少整體的代價[3]。但是這種方法的缺點如前文所述。為了訓(xùn)練對高代價分類敏感的模型,篩選出的數(shù)據(jù)集將會面臨嚴重的數(shù)據(jù)不平衡問題。而無論是填充或者再平衡的方式,都會使原數(shù)據(jù)集的結(jié)構(gòu)改變[4]。其次,無論是對數(shù)據(jù)集的預(yù)處理還是對運行參數(shù)或者模型結(jié)構(gòu)的調(diào)整,都與具體問題相關(guān)性較大[5-7]。對于不同的具體問題,數(shù)據(jù)清洗和參數(shù)調(diào)整或模型調(diào)整的優(yōu)劣與模型設(shè)計者的經(jīng)驗與對問題的了解有著較大的關(guān)系。并且,對于不同的問題,相同的解決方案并不能保證穩(wěn)定的表現(xiàn)。在不同的數(shù)據(jù)集之間,相同的數(shù)據(jù)清洗和參數(shù)調(diào)整所帶來的模型上的改變影響是不同的。
基于此,本文提出的將三支決策運用于深度學(xué)習模型能夠一定程度上解決上述問題。1) 三支決策算法的理論基礎(chǔ)為粗糙集理論,以分類置信度為基礎(chǔ)判斷決策或分類代價。從算法邏輯的角度,三支決策算法要求更高的全局分類的準確性而不是對單獨高代價類的分類,此特點使得三支決策算法與更高的更廣泛的分類算法優(yōu)點相結(jié)合,在前置分類器不用做出改動或者調(diào)整的情況下降低決策的風險。2) 三支決策算法傾向于判斷單獨決策。因此,新改進的算法將避免在正常預(yù)處理的前提下,將避免因平衡特殊分類類別而造成的數(shù)據(jù)重新擴展或裁剪,從而進一步影響數(shù)據(jù)平衡問題。綜上,結(jié)合三支決策的LSTM 模型可以在原先的深度模型的基礎(chǔ)上,進一步增強模型在代價敏感問題上的表現(xiàn)。
三支決策[8]是Y.Y.Yao 由概率粗糙集理論提出的一種新決策思想。相較于傳統(tǒng)的“是,否”二支決策而言,三支決策提出了一種不同但是更合理的決策思想,即當對象當前提供的信息不足以支撐決策時,采用延遲決策,等待更多信息來完成最終決策。所以,三支決策可以規(guī)避分類信息不足時盲目決策造成的風險。
三支決策在進行分類決策前,需對樣本進行域的劃分。劃分的原理基于粗糙集理論。按照粗糙集的定義,根據(jù)元素x是否屬于概念A(yù),x與A將分為3 種關(guān)系:x∈A,x∈ ?A,x∈BND(A)。由此,考慮一般分類問題,將元素x是否符合概念A(yù)作為分類標準,將可能會得到x∈BND(A) , 即元素x屬于概念A(yù)的邊界域。由此,可得知決策粗糙集在 代價敏感分類問題上的整體思路。
在決策粗糙集公式化描述中,X是全集U的子集,狀態(tài)集合可以表示為 ?={X,?X},X和 ?X分別表示屬于X和不屬于X。為了方便,子集和子集的狀態(tài)都使用X來表示。狀態(tài)X對應(yīng)的動作集合為 ∧={P,B,N} , 其中P、B、N分別表示3種判定動作,即x∈POS(X)、x∈BND(X)、x∈NEG(X)。三支決策的損失函數(shù)由各個動作帶來的損失決定。如表1 所示,其中λPP、λBP、λNP表 示當x屬于X時采取動作P、B、N產(chǎn)生的損失,λPN、λBN、λNN表示當對象屬于 ?X時采取動作P、B、N時產(chǎn)生的損失。
表1 三支決策的損失函數(shù)Table 1 Loss function of 3WD
根據(jù)最小風險決策規(guī)則:
(P)當Pr(X|[x])≥ α 時,x∈POS(X);
(B)當 β <Pr(X|[x])< α 時,x∈BND(X);
(N)當Pr(X|[x])≤ β 時,x∈NEG(X);
其中
且
LSTM 是由Hoehreiterhe 與Schmiduhber 于1997 年提出后經(jīng)過大量的改進,目前被廣泛應(yīng)用[9],成為目前處理序列與時序問題上的熱門方案。LSTM 是由一般的RNN 改進而來。LSTM 與一般的RNN 的主要區(qū)別是在LSTM 中的神經(jīng)元不再是由單純的神經(jīng)元組成而是由4 個功能不同的門來共同作用。其中包括了輸入門、輸出門、狀態(tài)門,以及遺忘門。具體的結(jié)構(gòu)如圖1 所示。
圖1 LSTM 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 LSTM network structure
LSTM 的獨特結(jié)構(gòu)是為了使其能夠解決長期依賴問題而專門設(shè)計的。不同于RNN 網(wǎng)絡(luò),LSTM 的重復(fù)結(jié)構(gòu)是由更加復(fù)雜的3 個門相互連接而成。包括遺忘門、輸入門與輸出門。
式(4)~(9)描述了細胞內(nèi)各個門的處理流程。
式(4)描述了遺忘門決定了當細胞更新時細胞狀態(tài)會丟棄什么信息。該門會讀取ht-1和xt,輸出在 [0,1] 之間的數(shù)值與原先細胞狀態(tài)Ct-1相結(jié)合。其中,1 表示完全保留,0 表示完全遺忘。其中,ht-1表示上一個細胞的輸出,xt表示當前細胞的輸入, σ 表示sigmod 函數(shù)。
式(5) 描述輸入門決定了讓多少新的信息加入到細胞狀態(tài)中。第一步,細胞輸入xt與細胞的上個輸出ht-1會通過sigmod 元來決定更新的內(nèi)容。
式(6)描述了更新內(nèi)容。與式(5)同時,同樣的輸入會通過一個tanh 元,生成備用的更新內(nèi)容。
式(7) 描述了更新內(nèi)容Ct。將式(5) 與式(6)兩部分結(jié)果相乘,將細胞狀態(tài)由Ct-1更新至Ct。
最終輸出數(shù)據(jù)由式(8)的輸出與當前細胞狀態(tài)的一部分共同決定輸出的最終值,如式(9)描述。
以上為LSTM 模型的基本工作流。
一般的,對于分類算法的研究的核心與重點為如何取得更高的分類準確率,但事實上,只要有誤差存在,分類過程總會產(chǎn)生代價。而代價敏感分類就是關(guān)注如何使分類過程中產(chǎn)生的代價最小。根據(jù)問題的難易程度,代價敏感問題常被分為二分類與多分類問題。對于二分類問題,目前大部分的代價敏感分類多是從非代價敏感分類算法加以轉(zhuǎn)化得到的。
結(jié)合上述,可將代價敏感分類等價于一個優(yōu)化問題: 將實例使用分類算法A劃分至類別I時,使損失函數(shù)L(x,i) 達到最小[10]:
式中:x表示一個實例;L(x,i) 表示x的類別為i時錯誤分類的代價;P(j|x) 表示算法將x劃分至類別j的概率;c(i,j) 表示將i分類劃分至j所產(chǎn)生的代價。
對于每個類別i,L(x,i) 表示x所有可能的劃分結(jié)果的代價的概率和。故由式(10)知,當分類代價最小時,其分類結(jié)果P(j|x) 不一定取到最大值。即為了得到更小的分類代價,可能會放棄最大的分類結(jié)果。
在如何使算法獲得傾向性的問題上,有兩種經(jīng)典算法:1)通過預(yù)處理,使算法對某些結(jié)果具有敏感性,此方法稱為rescaling[11];2)希望通過以代價為基準修改不同分類在算法中的成員可能性,從而產(chǎn)生不同的傾向性。此方法稱為reweighted[12]。
基于三支決策的L S T M 算法在原有的LSTM 基礎(chǔ)上,增加了三支決策步驟,對前端分類器給出的預(yù)測結(jié)果做出接受、拒絕、延遲3 種不同的方案,算法流程如圖2 所示。
圖2 基于LSTM 的三支決策算法流程Fig.2 Flow of 3WD based on LSTM
算法包括兩部分:1) 前置分類器,用于初步分類;2) 三支決策,考慮決策風險,通過算法的判斷降低決策風險。
前置分類器的作用主要體現(xiàn)在前置分類器的分類精度最終決定了整體上的分類效果。此后的三支決策對前置分類器的分類結(jié)果做出評判,決定接受、拒絕、或者延遲推斷。對于LSTM 分類器,主要用來解決分類和時序問題預(yù)測。輸出包括預(yù)測結(jié)果C和預(yù)測的分類概率p。分類概率p用于下一步中三支決策算法來判斷是否采納分類結(jié)果。
三支決策對前置分類器給出的結(jié)果進行分析。根據(jù)式(1)~(3),可以得出相應(yīng)的判斷代價 ?。
將根據(jù)前置分類器的分類結(jié)果X,與由對應(yīng)的損失函數(shù) λ 計算出的代價,由判斷規(guī)則(Pli)、(Bli)、(Nli)判斷,給出相應(yīng)的決策建議。
結(jié)合上述分析,本文提出基于LSTM 與三支決策的代價敏感分類算法,算法描述如下:
BEGIN:
實驗在自建實驗平臺中運行。實驗平臺包括4 臺服務(wù)器,每臺服務(wù)器均使用相同的配置。每臺服務(wù)器有6 個CPU,主頻2.5 GHz,運行內(nèi)存16 GB。
測試數(shù)據(jù)集來自UCI 開放數(shù)據(jù)集中的Beijing PM2.5 Data Set 與International airline passengers。數(shù)據(jù)集均為分類任務(wù)。
PM2.5 數(shù)據(jù)集來自于UCI 數(shù)據(jù)庫,該數(shù)據(jù)集記錄了從2010 年1 月1 日至2014 年12 月31 日北京市的空氣質(zhì)量指數(shù)和氣象數(shù)據(jù)。數(shù)據(jù)集為時間序列數(shù)據(jù),特征為連續(xù)特征,任務(wù)可作為分類或回歸任務(wù)。數(shù)據(jù)一共43 824 條記錄,特征共13 個,部分數(shù)據(jù)缺失。
數(shù)據(jù)集中包括了時間,當日的溫度、濕度、氣壓、風向、累計風速、累計降雨/降雪量、PM2.5 指數(shù)共13 個數(shù)據(jù)。其中的PM2.5 指數(shù)為當日PM2.5 值,為連續(xù)實數(shù)。當預(yù)測PM2.5 值時,問題為回歸問題。若以判斷PM2.5 區(qū)間作為空氣質(zhì)量判斷時,問題為分類問題。本例中,將原數(shù)據(jù)集中的PM2.5 均分為4 個區(qū)間,從小到大分別標記為[優(yōu),良,一般,差]4 類。根據(jù)前tn-i的氣象數(shù)據(jù),預(yù)測tn的空氣質(zhì)量。
圖3 表示了原數(shù)據(jù)集中,PM2.5 與氣象數(shù)據(jù)的關(guān)系。圖4 表示了兩段分類結(jié)果的分布信息。
圖3 原始數(shù)據(jù)集中的特征分布Fig.3 Frequency of features in this dataset
圖4 原數(shù)據(jù)集中分類結(jié)果與時間的變化關(guān)系Fig.4 Relations between classify result and time change
從圖4 可以看出,空氣質(zhì)量與時間有明顯的關(guān)系,并且呈現(xiàn)出一定的周期規(guī)律。
國際旅行旅客數(shù)據(jù)集包括了1949—1960 年12 年之間每個月的國際航線航班旅客人數(shù)。共144 個數(shù)據(jù),單位為1 千人。圖5 為原數(shù)據(jù)集中數(shù)據(jù)的分布。
圖5 1949—1960 年國際航班旅客人數(shù)Fig.5 Number of international airline traveler between 1949—1960
根據(jù)前述對數(shù)據(jù)集的分析,將數(shù)據(jù)通過前置分類器進行回歸分析,得到分類結(jié)果。此LSTM分類器在數(shù)據(jù)集上的分類準確率為0.997。由于為多分類問題,參考指標由準確率?召回率改為混淆矩陣。此分類器在測試數(shù)據(jù)上的結(jié)果混淆矩陣見圖6。圖7 為分類器訓(xùn)練的最終損失函數(shù)。
設(shè)代價函數(shù)為:
式中: λix為判斷是否正確;wix為權(quán)重;即判斷代價;b為偏移值。 λix的計算方式由表1 所述代價函數(shù)計算可得。
圖6 分類結(jié)果的混淆矩陣Fig.6 Confusion matrix of classification result
圖7 LSTM 訓(xùn)練損失Fig.7 Loss of LSTM training
將預(yù)測結(jié)果代入式(11)后, 得到原分類器的決策代價。
將得到的損失偏差與代入三支決策的決策規(guī)則 (Pli、Bli、Nli) 中,對明顯偏離預(yù)測中心的值進行標記,得到新的分類代價。
表2 可知,使用三支決策算法進行判斷的分類任務(wù)在代價優(yōu)化上有顯著作用。
表2 使用三支決策的分類代價與未使用三支決策的分 類代價對比Table 2 Compara of cost of classification between 3WD and non-3WD
根據(jù)前述數(shù)據(jù)集的基本信息,將數(shù)據(jù)集進行前期分類。圖8 為LSTM 作為前置分類器的預(yù)測數(shù)據(jù)。取預(yù)測步長為3,預(yù)測網(wǎng)絡(luò)兩層,每層含128 個LSTM 單元。
圖8 經(jīng)過前置分類器的預(yù)測數(shù)據(jù)Fig.8 Predict data after preprocessing
顯然,隨著時間推移,距預(yù)測點較遠的點預(yù)測誤差越大。在整個數(shù)據(jù)集上,前置分類器的測試數(shù)據(jù)均方誤差為28.03。
對于回歸問題,由于沒有直接的方式判斷分類的正誤,本文使用均方誤差來描述對應(yīng)的置信度。由此,相應(yīng)的代價函數(shù)可表示為
但是與前述判斷規(guī)則(Pli、Bli、Nli)不同,此時的分類不再是由有限的狀態(tài)集合 {X,?X} 描述,而是由偏差和 方差組成的連續(xù)集合。所以,此時的(代) 價 λi,j不再是確定的函數(shù)而是與由均方差 MSEθ? 描述的模型和距離預(yù)測點t的兩者組成的概率分布。
式中:f為訓(xùn)練模型的偏差分布;為模型的均方差;tn為當前點距預(yù)測點的距離。
本例中,為方便計算,假設(shè)分布f為均勻分布。此時,代價函數(shù)簡化為只與時間tn相關(guān)的函數(shù)。由此,代入假設(shè)條件,可以得到如圖9 的代價曲線。
將代入三支決策算法結(jié)果如圖9。由結(jié)果可知,對于問題中給定時刻t, 在t+12 時,代價第一次大于閾值 α ,故在 [t,t+12] 時刻的數(shù)據(jù)是可信的。同理,在 [t+26] 時,預(yù)測代價第一次大于閾值 β ,所以從t+26 時刻起,預(yù)測數(shù)據(jù)不再可信。圖10 表示t與代價之間的關(guān)系。
圖9 隨 tn 而代價越來越大的判斷曲線 λtFig.9 As tn increases, the prediction results become more and more inaccurate
圖10 代價判斷決定的三支決策結(jié)果Fig.10 Discarding costly predictions given by 3WD
本文通過兩個實驗的驗證,提出了基于LSTM 的三支決策分類算法。實驗1 在LSTM 分類的基礎(chǔ)上,增加三支決策分類后明顯地降低了決策風險;實驗2 在原先分類器中引入三支決策后,也有了代價上的優(yōu)化。實驗表明:1)三支決策的決策準確率受前端分類器準確率的較大影響;2)三支決策算法可以結(jié)合深度學(xué)習模型解決代價敏感分類問題,而非僅限于非貝葉斯模型的分類器;3)三支決策在解決代價敏感分類問題的同時,可以通過擴展代價定義的方式,為回歸模型建立可信度判據(jù)。結(jié)合三支決策理論,在時間序列分析問題中,三支決策模型可以為預(yù)測結(jié)果增加可信度的判據(jù),使得預(yù)測結(jié)果更加具有分析和處理的價值。
但是當前的工作只是初步的驗證有關(guān)于深度學(xué)習與三支決策相結(jié)合形成新的代價敏感分類的初步研究。本文的研究尚處于初步的階段。未來,對于模型的改進仍有許多研究空間。例如,對于三支決策算法,可以結(jié)合新的邊界理論,形成自動化的邊界確定;在整體模型中,可以借助boost 或?qū)<曳诸惼鞯饶P停岢龈晟频睦碚?;以及結(jié)合Alex-net 等其他更高效的分類器來進一步提高前置分類器的性能等。這些改進都將能夠進一步提高三支決策在在代價敏感分類領(lǐng)域的應(yīng)用頻率。