焦志強, 易 侃, 張杰勇, 姚佩陽
(1. 空軍工程大學信息與導航學院, 陜西 西安 710077; 2. 中國人民解放軍95910部隊,甘肅 酒泉 735018; 3. 信息系統(tǒng)工程重點實驗室, 江蘇 南京 210007)
近年來,隨著指揮信息系統(tǒng)網絡化、智能化的理念不斷加深,基于面向服務的思想體系結構(service-oriented architecture, SOA)構建指揮信息系統(tǒng)勢在必行,并已經取得了長足的發(fā)展[1]。新一代指揮信息系統(tǒng)將以軍事作戰(zhàn)云為依托,將各個功能模塊以服務的形式部署到各個節(jié)點中,以實現功能模塊之間的解耦,從而為提高系統(tǒng)整體的敏捷性提供基礎。指揮信息系統(tǒng)作為現代戰(zhàn)場上的粘合劑和戰(zhàn)斗力的倍增器,不可避免地需要面對高對抗、強干擾的復雜作戰(zhàn)環(huán)境,由于系統(tǒng)運行狀態(tài)的正常與否將直接影響整體作戰(zhàn)效能,因此亟需對其狀態(tài)進行實時監(jiān)控以及時發(fā)現異常并執(zhí)行相適應的演化策略,從而維持指揮信息系統(tǒng)的正常運轉。
針對系統(tǒng)狀態(tài)的監(jiān)控問題,許多云服務提供商已經將資源運行狀態(tài)數據作為一種關鍵服務向用戶開放,并開發(fā)了相應的云環(huán)境下資源監(jiān)控工具。例如,Amazon的CloudWatch、Microsoft的Azure Monitor等。這些工具通過對CPU/RAM利用率、網絡流量、響應時間等指標的監(jiān)控和處理,分析用戶訂購服務的運行狀態(tài)并為用戶進行預警。在這個背景下,系統(tǒng)狀態(tài)的監(jiān)控問題在民用領域涌現出了大量研究[2-5]。
與此同時,針對指揮信息系統(tǒng)狀態(tài)監(jiān)控的研究還處于起步階段。文獻[6]考慮了監(jiān)控系統(tǒng)在監(jiān)控圖生成、集中監(jiān)控和擴展性等方面的不足,為了在已有系統(tǒng)上實施全方位監(jiān)控,提出了一種基于分層式插件化架構的一站式綜合監(jiān)控系統(tǒng),并對該系統(tǒng)的總體架構進行了論述,分析了其中的插件設計、通用結構樹和虛擬圖元等關鍵要素。文獻[7]從故障診斷的角度出發(fā),利用監(jiān)控代理對系統(tǒng)相關數據進行收集和分析,提出了故障診斷專家系統(tǒng)的總體結構,但并未對具體方法做深入的研究。文獻[8]則分析了指揮控制網絡存在的問題,提出了建立實時流量監(jiān)控系統(tǒng)的思路,并基于WinPcap體系結構設計了面向指控網絡的流量監(jiān)控系統(tǒng)架構。可以看到,已有研究偏重于對指揮信息系統(tǒng)狀態(tài)監(jiān)控總體結構的構建,而在監(jiān)控方法層面的研究還有待進一步深入。
指揮信息系統(tǒng)作為軍事信息系統(tǒng),其部署的空間更為分散,對狀態(tài)監(jiān)控的實時性要求也更為苛刻。同時,由于系統(tǒng)狀態(tài)數據的保密性問題,歷史監(jiān)控數據不能像民用系統(tǒng)一樣進行分享和傳播,因此在初期可能無法擁有足夠多的訓練樣本。此外,就狀態(tài)監(jiān)控問題本身而言,其正常狀態(tài)的樣本數量肯定大于異常狀態(tài)的樣本數量,這種樣本類別間的不平衡將有可能導致漏警率偏高的情況出現,這些都對指揮信息系統(tǒng)的狀態(tài)監(jiān)控造成了困難。從技術手段上看,系統(tǒng)狀態(tài)監(jiān)控本質上是一種分類問題,即通過各類指標數據將當前狀態(tài)分為正常或是異常。常見的方法有:基于貝葉斯后驗概率的統(tǒng)計分析方法[4-5];基于最近鄰的分類方法[9-10]、基于支持向量機(support vector machine, SVM)的分類方法[11-12]、基于深度學習的分類方法等[13-14]。考慮到SVM在解決分類問題中的小樣本、非線性和高維數據特征上具備良好的性能[15],本文基于SVM提出了一種面向不平衡數據的SVM增量學習方法(incremental learning method for unbalanced data based on SVM, ILMUDSVM),該方法利用過采樣的思想對樣本集合進行補充以平衡各類樣本間的數量關系;以KKT(Karush-Kuhn-Tucker)條件為基礎,放松了模型更新觸發(fā)的條件,盡可能減少了模型更新的次數;通過定義重要度對每次模型更新后的樣本集合進行優(yōu)化篩選保留;并在學習過程中引入遺忘率以降低模型更新的時間開銷,從而有針對性地解決了指揮信息系統(tǒng)的狀態(tài)監(jiān)控問題。
指揮信息系統(tǒng)的狀態(tài)監(jiān)控本質上是一個分類問題,即根據數據采集系統(tǒng)得到的各類參數對系統(tǒng)當前狀態(tài)做出判斷。假設當前系統(tǒng)的各項參數為z∈Rn×1,系統(tǒng)狀態(tài)可以表示為Sys=f(z),若Sys=-1時表示系統(tǒng)正常運行,若Sys=1則表示系統(tǒng)運行出現異常。因此,本文要解決的問題就是尋找一個映射函數f(·),使得系統(tǒng)狀態(tài)能夠被準確地判斷。考慮到指揮信息系統(tǒng)的狀態(tài)監(jiān)控問題具有初始樣本少、實時性要求高和數據不平衡等特點,本文以SVM為基礎設計了一種系統(tǒng)狀態(tài)監(jiān)控方法。下面首先對SVM過程進行簡單介紹。
SVM的核心思想就是在樣本空間中找到一個最優(yōu)的分類超平面,根據樣本點相對于分類超平面的位置將樣本集分為不同的類別。假設給定的樣本集為{(xi,yi)|xi∈Rn×1,yi∈{-1,+1},i=1,2,…,m}。其中,xi為樣本的屬性向量;n為屬性的個數;yi為樣本的標簽,若yi=yj,則說明樣本i和樣本j屬于同一個類別;m為樣本集中所有樣本的個數。在給定樣本集后,需要對SVM進行訓練以得到針對該樣本集的分類模型,從而對后續(xù)未知類別的樣本進行分類。
利用樣本集對SVM進行訓練就是尋找最優(yōu)分類超平面的過程,如圖1所示。可以看到,兩類樣本分別位于分類超平面的兩側。兩類樣本點中距離分類超平面最近的樣本點被稱為支持向量,支持向量到超平面的距離為d,該距離直接決定了兩個類別間的間隔邊緣。分類超平面的最優(yōu)性體現在間隔邊緣上,即認為間隔越大分類效果也就越好。圖1(a)和圖1(b)分別顯示了同一個樣本集下的兩個分類超平面,根據上述定義,可以發(fā)現圖1(b)中的分類超平面明顯優(yōu)于圖1(a)中的分類超平面。因此,SVM本質上就是尋找一個令間隔邊緣最大的分類超平面。

圖1 SVM原理示意圖Fig.1 SVM principle diagram
在給定樣本集后S,分類超平面可以用以下線性方程來描述:
ωTx+b=0
(1)
式中:ω∈Rn×1和b分別為最優(yōu)分類超平面的法向量和截距,可通過求解以下優(yōu)化問題得到。
優(yōu)化問題1:
(2)

ωTx+b=0,
(3)
需要注意的是,在計算b時可以選取任意在最大間隔邊界上的支持向量進行計算。
針對樣本數據的不平衡性,現有的工作一般通過減少或增加相應樣本的方式來處理,即欠采樣[16]和過采樣[17]。欠采樣方法會導致一些樣本信息的丟失,從而造成模型分類效果的下降。而經典的過采樣方法在過采樣時具有一定的盲目性[18],容易導致合成的新樣本質量較差。因此,需要有針對性地生成高質量的新樣本以進一步提升模型訓練效果。基于上述分析,本文首先利用樣本集進行SVM預訓練,然后利用支持向量在預分類面附近產生有潛力的新樣本,同時借鑒文獻[19]中分帶過采樣的思想,根據距離進行分帶,然后逐帶生成均勻分布在當前帶內的新樣本以保持各類樣本數量的平衡。
2.1.1 基于支持向量的新樣本生成
在進行預分類得到預分類超平面ω′Tx+b′=0和支持向量集合SV′={sv′+,sv′-}后,根據每個類中支持向量的數量來確定需要生成的新樣本數量。假設正類為樣本數量少的一類,其樣本數量為m+,負類樣本數量為m-(m++m-=m),則利用支持向量生成的新樣本數量為

(4)


(5)


圖2 基于支持向量的新樣本生成過程示意圖Fig.2 Schematic diagram of new sample generation process based on support vector
本文提出的基于支持向量的新樣本生成算法如算法1所示。

算法 1 基于支持向量的新樣本生成算法輸入 樣本集合{(xi,yi)},利用支持向量生成新樣本的比率α,參與新樣本生成的支持向量個數m+sv步驟 1 利用樣本集合{(xi,yi)}進行SVM預訓練,得到支持向量集合SV'={sv'+,sv'-};步驟 2 根據α和樣本集合中正類樣本和負類樣本的個數確定需要生成的新樣本個數msvnew;步驟 3 計算正類支持向量到其類中心的距離csn'+,對其進行降序排列,并選取前m+sv個作為生成新樣本的支持向量;步驟 4 計算每個支持向量應該生成的新樣本數m+svi,初始化集合Ssv;步驟 5 對于每個被選中的支持向量利用式(5)生成新樣本,并加入到Ssv。輸出 由支持向量產生的新樣本集合Ssv
在第2.1.1節(jié)的基礎上,為了使新產生的樣本更加均勻的散布在當前帶內,本文提出了一種基于分帶的過采樣方法。該方法利用分帶的思想對樣本空間進行劃分,并根據樣本所處的分布選擇相應的樣本以在樣本分布稀疏的區(qū)域生成新樣本。
2.1.2 樣本空間的分帶過程

(6)


圖3 樣本空間分帶示意圖Fig.3 Schematic diagram of sample space zoning
2.1.3 基于分帶的新樣本生成

(7)


圖4 帶內新樣本生成過程示意圖Fig.4 Schematic diagram of in-band new sample generation process
在圖4中可以看到,θmax表示相鄰向量間的最大角度,意味著在該帶內樣本4和樣本5間的角度間隔最大,為了使新樣本分布均勻,可以利用樣本4和樣本5生成一個介于上述樣本間的新樣本sn1。
在得到樣本對(si,sj)后,新樣本可以表示為
(8)
snk=ν(si-C)+(νsj-C)+C=νsi+νsj-(2ν-1)C
(9)

(10)

(11)

圖5 樣本向量長度計算過程示意圖Fig.5 Schematic diagram of sample vector length calculation process

圖6 樣本向量的反向過程示意圖Fig.6 Schematic diagram of reverse process of sample vector
綜上,基于分帶思想的過采樣算法如算法2所示。

算法 2 基于分帶思想的過采樣算法輸入 樣本集合{(xi,yi)},支持向量集合SV'={sv'+,sv'-},利用支持向量生成新樣本的比率α,分帶數q步驟 1 利用式(6)對非支持向量集合{(xi,yi)}/SV'中的樣本進行分帶;步驟 2 利用式(7)計算每個帶內需要產生的新樣本個數mfd;步驟 3 令新樣本集合Snsv=?,對于每個帶內的樣本進行如下步驟:步驟 3.1 令mfcd=0;步驟 3.2 計算帶內樣本集合Setd中最大相鄰夾角θmax,確定被選中的向量si和sj;步驟 3.3 利用式(11)計算得到新樣本sn;步驟 3.4 將新樣本sn加入到當前帶內樣本集合中,Setd←Setd∪sn,并在新樣本集合中保存該新樣本Snsv←Snsv∪sn;步驟 3.5 令mfcd=mfcd+1,若mfcd=mfd,則當前帶內新樣本生成結束;否則,轉步驟2)。輸出 由非支持向量產生的新樣本集合Snsv
考慮指揮信息系統(tǒng)的特殊性,其系統(tǒng)狀態(tài)監(jiān)測數據在初期可能不會非常全面,需要在其運行過程中不斷地積累,這就對SVM的增量過程提出了需求。對于增量學習過程的研究大多集中于KKT條件[20-21]。在此基礎上,許多工作得以進行展開[22-24],并出現了大量的增量SVM方法。這些方法大多是基于以下流程:首先判斷新樣本集中是否存在違反KKT條件的樣本,在此基礎上分析有可能成為新支持向量的樣本并組成待訓練樣本集St,然后利用St進行訓練,從而得到新的SVM模型。
2.2.1 模型更新的觸發(fā)機制
對于優(yōu)化問題1,樣本集中的每個樣本都應該滿足以下KKT條件:
(12)
當新樣本xnew到來時,可以假設其對應的拉格朗日系數anew=0,計算判定式y(tǒng)if(xi)-1,若其大于0,則認為該樣本滿足KKT條件,模型無需進行更新;否則,需要考慮對SVM進行重新訓練。這里,為了減少在線學習時模型的頻繁更新的情況,可以考慮將判定式放寬松為yif(xi)+μ-1。其中μ為模型更新觸發(fā)的松弛系數。從圖7中可以看到,新樣本A(μ∈[2,+∞)),B(μ∈[1,2))和D(μ∈[0,1))均違反了KKT條件,這說明此時的分類超平面理論上不是最優(yōu)的,需要進行模型的更新。但如果只從分類結果上看,樣本D的分類結果還是正確的,因而這里可以考慮不對模型進行更新。當然,由于樣本D的特殊性,其距離當前分類超平面很近,后續(xù)成為支持向量的可能性非常大,樣本D應當被加入到保留集中,待下次模型更新時再做考慮。需要注意的是,若出現了類似樣本A和B情況的樣本,則當前模型必須進行更新。綜上,μ的值應當介于0到1之間,其值越大則觸發(fā)機制越為寬容,從而減小模型更新的頻率。

圖7 新樣本違背KKT條件的3種情況Fig.7 Three cases where the new sample violates the KKT condition
2.2.2 保留集的選取
對于樣本i,其重要度反應了其后續(xù)可能成為支持向量的可能性。這里給出一個假設,即距離分類面越近,同時距離類中心越遠的樣本更有成為支持向量的潛力。基于這個假設,可以將樣本i的重要度定義為
(13)

在得到排序的樣本集后,保留集SR由重要度高的前γ%樣本組成,而對于重要度低的樣本,則可以通過設定以遺忘率p∈[0,0.5]對重要度較低的樣本進行遺忘以減少后續(xù)保留集更新的計算量。
這里需要注意的是,該遺忘策略的執(zhí)行是有前提條件的,即當前樣本數量足夠多并且已經能夠基本體現出總體樣本的分布情況。在這個前提下,后續(xù)新樣本的加入對于分類面的影響將會比較小,分類超平面也不會出現太大的偏移和旋轉,被遺忘的樣本成為支持向量的可能性也就將維持在一個很低的水平。

圖8 正負樣本的重要度排序示意圖Fig.8 Schematic diagram of importance ranking of positive and negative samples
2.2.3 增量過程中不平衡數據的處理
在SVM的增量過程中,可能成為新支持向量的樣本集St本身已經在原有樣本集上進行了篩選,如果采用欠采樣的方式繼續(xù)對該集合中的樣本進行舍去,將很有可能損失一些有價值的訓練樣本,從而導致SVM模型的性能下降。基于上述分析,這里仍然使用過采樣的方式補充相應樣本。借鑒第2.1.3節(jié)中新樣本的生成,這里對于St中的樣本采用式(5)和式(11)產生新的樣本并加入到St中,以在增量過程中適應系統(tǒng)監(jiān)控數據樣本不平衡的特點。
綜上所述,本文提出的基于SVM增量學習的C4ISR(command, control, communication, and computer, intelligence, surveillance and reconnaissance)系統(tǒng)狀態(tài)監(jiān)測算法總體流程如算法3所示。

算法3 基于SVM增量學習的C4ISR系統(tǒng)狀態(tài)監(jiān)測算法輸入 初始樣本集合S0,增量樣本集合Si(i=1,2,…,T)離線階段:步驟 1 設定參數:利用支持向量生成新樣本的比率α,分帶數q,保留比例γ,遺忘率p,模型更新觸發(fā)的松弛系數μ;步驟 2 利用算法1生成由支持向量產生的新樣本集合Ssv;步驟 3 利用算法2生成由支持向量產生的新樣本集合Snsv;步驟 4 對Sz=S0∪Ssv∪Snsv進行SVM訓練,得到并輸出初始分類模型M0;步驟 5 利用式(13)計算Sz中的樣本重要度,并根據保留比例γ生成保留集SR,令i=1;在線階段:步驟 6 若i≤T,接受新樣本集Si,否則轉步驟12;步驟 7 利用判定式y(tǒng)if(xi)-1篩選出Si中需要參與訓練的樣本,形成集合S'i,并令Sz←SR∪S'i;步驟 8 利用判定式y(tǒng)if(xi)+μ-1判斷新加入樣本是否觸發(fā)模型更新條件,若存在滿足更新條件的樣本則執(zhí)行步驟9,否則,執(zhí)行步驟11;步驟 9 將Sz作為輸入,利用算法1和算法2生成新樣本集合S'sv;步驟 10 對Sz=Sz∪S'sv進行SVM訓練,得到并輸出初始分類模型Mi;步驟 11 利用式(15)計算Sz中的樣本重要度,并根據保留比例γ生成保留集SR,根據遺忘率p對Sz中的樣本進行遺忘,轉步驟6;步驟 12 算法結束輸出 實時輸出SVM分類模型
其中,步驟1~步驟5屬于離線階段,利用已有樣本進行訓練以得到一個初始的分類模型。步驟6~步驟11屬于在線階段,根據新樣本集對分類模型不斷更新以改善分類效果。由于SVM在小樣本情況下也能夠表現出良好的性能,因此算法3能在初始樣本集中樣本數量較少的情況下獲得不錯的分類效果。此外,該算法在離線和在線兩個階段都存在著樣本的過采樣操作,能夠在線處理系統(tǒng)監(jiān)控過程中樣本集的不平衡問題。
本文利用真實系統(tǒng)中的數據對算法進行測試以驗證本文所提算法的有效性和優(yōu)越性。Bookstore系統(tǒng)是具有B/S架構的分布式系統(tǒng),主要功能包括:用戶注冊和登錄,商品搜索和顯示,廣告推薦以及線上支付等功能。Bookstore結構邏輯較為復雜,且運行環(huán)境動態(tài),需要為數量龐大的用戶群提供服務,因此其容易出現異常,方便收集到相應的異常狀態(tài)信息,適合作為監(jiān)控的對象。
在本實驗中,主要對Bookstore系統(tǒng)的5項參數進行監(jiān)控,即響應時間、錯誤率、中央處理器利用率、內存利用率以及存儲負載,并通過這些參數對系統(tǒng)的狀態(tài)進行判斷。在此基礎上,樣本集合可以表示為
{(xi,yi)|xi∈Rn×1,yi∈{-1,+1},i=1,2,…,m},
xi={ResponseTime,ErrorRate,CPU,RAM,Load}
式中:ResponseTime為系統(tǒng)響應時間;ErrorRate為錯誤率;CPU為中央處理器的利用率;RAM為內存利用率;Load為系統(tǒng)負載。
通過運行和收集Bookstore系統(tǒng)運行過程中的相關參數,本文得到了500個帶標簽的樣本,其中系統(tǒng)狀態(tài)正常的樣本320個,系統(tǒng)異常的樣本180個。為了充分體現算法的持續(xù)學習能力,這里選取200個樣本作為初始學習樣本集合,100個作為測試樣本,其他200個樣本則平均分為10組,用于驗證算法的學習過程。需要注意的是,為了反映算法應對不平衡數據的能力,初始學習樣本中,正常狀態(tài)樣本數量設定為150,異常狀態(tài)樣本數量設定為50。為了更好地對分類算法的性能進行評估,采用G-means[25]和F-measure[26]兩種指標對本文所提算法進行評價。當TP=0時,召回率和精確率都將歸零從而造成F-measure無法計算。為了處理這種情況,當分類器將測試集中的所有正類樣本都預測為負類時,認為本次分類失敗,分類器的F-measure記為零,并對失敗的次數進行統(tǒng)計為后續(xù)計算分類的成功率提供依據。
由于訓練集、測試集以及學習集中的樣本是隨機選取的,本文通過蒙特卡羅模擬的方式進行1 000次隨機實驗以測試算法的性能。同時,為了體現本文所提算法在增量學習和處理不平衡數據上的優(yōu)越性,實驗將本文所提出的算法與SVM、SVM+INV(incremental variation)、SVM+UB(unbalanced)算法進行了比較。其中,SVM即為不帶學習策略的經典SVM算法;SVM+INV為帶有學習機制的SVM算法;SVM+UB為帶有不平衡數據的處理過程的SVM算法。SVM和SVM+UB算法由于沒有學習機制,在每次新增樣本集到來時直接與已有樣本集合并進行重新訓練,實驗結果如下所示。
圖9顯示了SVM、SVM+INV、SVM+UB和本文算法的G-means指標、F-measure指標和分類準確率。可以看到,SVM和SVM+INV算法由于不具備不平衡數據的處理機制,在G-means、F-measure和分類準確率3個指標上的表現較差;SVM+UB和本文算法則通過對不平衡數據的處理機制,在各個指標上均獲得了更好的效果。此外,可以看到具備學習機制的算法(SVM+INV和本文算法)的G-means、F-measure和分類準確率3個指標相比于每次都使用全部樣本進行訓練的算法(SVM和SVM+UB)將略有下降,這是由學習機制中保留率和遺忘率的存在使得每次參與訓練的樣本個數減少所造成的,但這同時也降低了單次訓練的復雜程度。在表1中可以發(fā)現,具有學習機制的算法在訓練樣本個數上要明顯少于對應的非學習算法。表2顯示了各算法的平均訓練時間,具備不平衡數據處理機制的算法運行時間要高于不具備不平衡數據的處理機制的算法。需要注意的是,從理論上看,算法的運行時間應當與參與訓練的樣本個數成正比關系。由于具有學習機制的算法需要每次對保留集進行選取,這部分時間也將被計算在總訓練時間內,因此在表1中SVM+INV的訓練樣本個數雖然小于SVM算法,而在表2中其訓練時間卻高于SVM算法。但隨著樣本這數量的上升樣本總數量的上升,在SVM訓練過程中節(jié)約下來的時間將會彌補這一額外的時間開銷,以SVM+UB與本文算法的時間開銷為例,在初始階段本文算法的時間開銷略高于SVM+UB,但隨著學習過程的進行,到第10次學習階段時本文算法的時間開銷明顯低于了SVM+UB算法。

圖9 各算法的3種指標比較Fig.9 Comparison of three indicators of each algorithm

表1 各算法訓練樣本數量比較Table 1 Comparison of training sample number of each algorithm

表2 各算法訓練時間比較Table 2 Comparison result of training time of each algorithm ms
為了進一步體現本文算法與現有增量學習算法在不同數據集上的分類效果,這里在UCI-machine learning repository機器學習數據庫[27-30]中選取了3類6種不同的數據集進行實驗,各數據集的相關參數如表3所示。本組實驗對比了經典增量SVM(simple incremental SVM, Simple-ISVM)、基于KKT條件的SVM(KKT-ISVM)、基于組合保留集的SVM(combined reserved set incremental SVM,CRS-ISVM)和本文算法在上述6個數據集中的分類效果。為了避免訓練集和測試集劃分不同所產生的差異,這里同樣采用了1 000次蒙特卡羅模擬并對各指標進行了平均計算。考慮到部分數據集不平衡比較高可能導致分類器無法區(qū)分正類的情況,該次實驗對TP=0的情況進行了統(tǒng)計,并計算了每種算法的分類成功率。實驗結果如圖10所示。

表3 不同數據集參數Table 3 Parameters of different data set


圖10 不同數據集下各算法的對比實驗結果Fig.10 Comparative experimental results of each algorithm under different data sets
從圖10可以發(fā)現,本文算法相較于Simple-ISVM、KKT-ISVM和CRS-ISVM算法在6個數據集上均體現出了優(yōu)勢。但數據集的不平衡比較低時,如yeast1和ecoli1,算法間的差距較小,且成功率均接近于1;而當數據集的不平衡比較高時,本文算法的優(yōu)越性逐漸凸顯,在G-means和F-measure指標上明顯由于其他算法。同時,其成功率也能始終保持在較高的水平,從而減少“漏警”的情況出現。
表4和表5分別為各算法在不同數據集上的訓練樣本數量和時間開銷的平均值。由于對不平衡數據的處理機制采用的過采樣方式增加了每次訓練的樣本數量,本文算法的時間開銷要高于其他算法。當數據集的不平衡比較高時(poker-8-9vs6和poker-8-9vs5樣本集),上述情況要尤為明顯。但本文算法的時間開銷還處于毫秒級,考慮到實驗平臺的計算性能限制,本文算法的時間開銷是在可接受的時間范圍內的。

表4 各算法訓練樣本平均數量比較Table 4 Comparison result of average training sample size of each algorithm

表5 各算法訓練平均時間比較Table 5 Comparison result of average training time of each algorithm ms
圖11和圖12分別為各算法在學習過程中訓練樣本數量和時間開銷的增長率。可以看出,本文算法由于采用了保留策略和遺忘策略,在訓練樣本增長率上相比于KKT-SVM和CRS-SVM算法具有一定優(yōu)勢。而在訓練時間增長率上,本文算法的表現將會受數據集不平衡比的影響。當不平衡比較小時(yeast1,yeast3和ecoli1),本文算法的訓練時間增長率與Sample-SVM算法基本持平,明顯優(yōu)于KKT-SVM和CRS-SVM算法;而當不平衡比較大時(ecoli4,poker-8-9vs6和poker-8-9vs5),本文算法的訓練時間增長率與CRS-SVM算法基本持平。總體來看,本文所提出的學習策略能夠有效減少增量學習過程中的樣本訓練數量,降低增量學習過程的時間開銷。

圖11 不同數據集下各算法增量學習過程中訓練樣本數量增長率Fig.11 Growth rate of training samples number in incremental learning process of each algorithm under different data sets

圖12 不同數據集下各算法增量學習過程中訓練時間增長率Fig.12 Growth rate of training time in incremental learning process of each algorithm under different data sets
針對指揮信息系統(tǒng)的狀態(tài)監(jiān)控問題的特點,本文設計了一種面向不平衡數據的SVM增量學習方法。該方法通過對歷史監(jiān)控樣本的過采樣處理,消除正/異常狀態(tài)樣本數量不平衡造成的影響;通過修正模型更新的觸發(fā)條件并引入樣本的保留和遺忘機制,減少增量學習過程中樣本的訓練數量以降低時間開銷。實驗結果證明了本文算法的有效性,顯示了其在真實系統(tǒng)狀態(tài)樣本集中的分類效果,并在不同不平衡數據集中對比現有算法,充分表現出了在增量學習過程中應對不平衡數據的能力。值得注意的是,隨著系統(tǒng)運行時間的增加,系統(tǒng)狀態(tài)樣本數量也將不斷上升。對于樣本數量較多的分類問題,深度學習方法將表現出更加優(yōu)異的性能。因此,在后續(xù)工作中可以對深度學習在指揮信息系統(tǒng)狀態(tài)監(jiān)控問題中的應用展開進一步的研究。