袁 嵩,陳啟卷
(1.武漢大學(xué) 動(dòng)力與機(jī)械學(xué)院,湖北 武漢430072;2.武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢430065)
樹突狀細(xì)胞(dendritic cell,DC)[1-2]作為先天性免疫系統(tǒng)中專職的抗原提呈細(xì)胞,能夠融合處理多種環(huán)境信號(hào),并將信號(hào)與抗原相關(guān)聯(lián),分析得到抗原的異常指標(biāo)。樹突狀細(xì)胞算法(dendritic cell algorithm,DCA)[3]作為人工免疫學(xué)中危險(xiǎn)理論的最新研究成果,已用于解決各類問題,特別是應(yīng)用于異常檢測領(lǐng)域[4]。理想上說異常檢測應(yīng)該實(shí)時(shí)地進(jìn)行以便在問題出現(xiàn)時(shí)能盡早地發(fā)現(xiàn)并響應(yīng)。因此,由異常檢測系統(tǒng)執(zhí)行的分析程序就必須實(shí)時(shí)或者盡可能地接近實(shí)時(shí)。然而目前DCA的分析程序基本上都是脫機(jī)進(jìn)行的,要提高異常檢測系統(tǒng)的性能,就要針對DCA的實(shí)時(shí)分析進(jìn)行研究。Gu在文獻(xiàn)[5]中將分割(segmentation)應(yīng)用到DCA中,讓分析在檢測過程中周期性地執(zhí)行,突破了傳統(tǒng)的離線分析,但仍存在不同程度的延遲。檢測速度和檢測精度作為實(shí)時(shí)異常檢測系統(tǒng)的兩個(gè)重要性能指標(biāo)必須同時(shí)考慮。本文設(shè)計(jì)了一個(gè)和檢測過程并行的分析機(jī)制,在檢測過程中不斷地將達(dá)到輸出條件的抗原及時(shí)輸出,在保證檢測精度的同時(shí)實(shí)現(xiàn)了最大可能的實(shí)時(shí)。
DCA是從生物免疫系統(tǒng)中抗原提呈的角度出發(fā),對輸入抗原抽象出輸入信號(hào)進(jìn)行計(jì)算得到輸出信號(hào)決定DC的狀態(tài),再根據(jù)DC的狀態(tài)評(píng)價(jià)抗原的異常程度,最后與預(yù)先設(shè)定的異常閾值比較輸出結(jié)果。輸入信號(hào)包括:病原體相關(guān)分子模式(pathogen associated molecular patterns,PAMP)表示絕對的異常;危險(xiǎn)信號(hào)(danger signals,DS)表示異常的可能性非常大;安全信號(hào)(safe signals,SS)表示異常的可能性非常?。恢卵准?xì)胞因子(inflammatory cytokines,IC)用于放大前3種信號(hào)的影響。DC在免疫過程中有3種狀態(tài)即未成熟、半成熟和成熟狀態(tài)。未成熟DC處理輸入信號(hào)得到3種輸出信號(hào):協(xié)同刺激分子csm(costimulatory molecules)用于決定DC是否進(jìn)行狀態(tài)轉(zhuǎn)換;半成熟樹突狀細(xì)胞因子semi(semi-mature DC cytokines)表示抗原所處組織環(huán)境的安全程度;成熟樹突狀細(xì)胞因子mat(mature DC cytokines)表示抗原所處組織環(huán)境的危險(xiǎn)程度。未成熟DC每處理一組輸入信號(hào)都將得到的3個(gè)輸出信號(hào)分別進(jìn)行累加,當(dāng)DC內(nèi)∑csm達(dá)到遷移閾值時(shí)則比較∑semi和∑mat:如果∑semi>∑mat,DC轉(zhuǎn)化為半成熟狀態(tài),表示細(xì)胞環(huán)境安全,意味著抗原是在正常狀態(tài)下采集的;否則DC轉(zhuǎn)化為成熟狀態(tài),表示細(xì)胞環(huán)境危險(xiǎn),意味著抗原是在異常狀態(tài)下采集的。細(xì)胞環(huán)境用于對DC內(nèi)采集的所有抗原進(jìn)行標(biāo)記。組織不斷更新信號(hào)、抗原和DC細(xì)胞,系統(tǒng)記錄DC所采樣的抗原和DC的狀態(tài)產(chǎn)生了一個(gè)信息序列。標(biāo)準(zhǔn)DCA的離線分析就是根據(jù)這個(gè)信息序列對抗原進(jìn)行綜合評(píng)價(jià),計(jì)算每個(gè)抗原的MCAV(mature context antigen value,上下文環(huán)境成熟抗原值),通過該值反映抗原的異常程度來檢測是否存在異常。更多算法細(xì)節(jié)參見文獻(xiàn)[6]。
信號(hào)和抗原隨著時(shí)間的推移被DC融合處理得到一個(gè)信息序列。如上所述,傳統(tǒng)DCA的分析階段是在最后進(jìn)行的,是當(dāng)整個(gè)信息序列產(chǎn)生之后再對其進(jìn)行分析,這樣無法實(shí)現(xiàn)實(shí)時(shí)檢測。因此必須設(shè)計(jì)一個(gè)實(shí)時(shí)分析機(jī)制執(zhí)行于檢測過程中以取代傳統(tǒng)的離線分析。Gu在文獻(xiàn)[5]提出的分割是根據(jù)一定的輸出數(shù)據(jù)量或一定的時(shí)間間隔將這個(gè)信息序列劃分成相對較小的片段,當(dāng)采樣的抗原數(shù)量達(dá)到了片段的大小或達(dá)到了一定的時(shí)間間隔,分析就在這個(gè)片段內(nèi)執(zhí)行,從而達(dá)到了接近實(shí)時(shí)的目的。但問題是片段中的信息量是否為分析提供了足夠的依據(jù)。片段太小,依據(jù)不足,影響檢測精確度;片段太大,系統(tǒng)敏感度降低,失去了實(shí)時(shí)檢測的目的。并且無論怎么分割,總存在已達(dá)到輸出條件的抗原被滯留而未達(dá)到輸出條件的抗原被盲目判斷的可能。
我們提出了一個(gè)更容易理解也易于實(shí)現(xiàn)的實(shí)時(shí)分析算法,在信息序列產(chǎn)生的過程中,只要得到了某抗原足夠的檢測依據(jù),就立刻進(jìn)行分析并輸出檢測結(jié)果,大致思路如下:初始化一個(gè)大小為m的抗原信號(hào)池存放抗原和信號(hào),每一個(gè)DC分配一個(gè)隨機(jī)的遷移閾值后從抗原信號(hào)池中隨機(jī)采樣抗原和信號(hào),即對輸入信號(hào)進(jìn)行融合處理。信號(hào)的融合是非常復(fù)雜的,至今仍有許多未知領(lǐng)域[7]。為了簡化計(jì)算我們忽略了IC的影響,采用的信號(hào)轉(zhuǎn)化處理公式如下所示
式中:Oj——輸出信號(hào)(O0-O2依次表示csm、semi、mat),Si——輸入信號(hào)(S0-S2依次表示 PAMP、DS、SS),Wij——從Si到Oj的權(quán)重,權(quán)值矩陣見表1。
表1 DCA權(quán)值矩陣
表1中的權(quán)值數(shù)據(jù)是由免疫學(xué)家通過對生物免疫的實(shí)驗(yàn)得出,其中權(quán)值可以根據(jù)具體的應(yīng)用場景進(jìn)行調(diào)整,但是輸入輸出信號(hào)之間的相互影響關(guān)系應(yīng)該滿足:PAMP影響csm、mat;DS影響csm、mat;SS影響csm、semi和mat。
DC對采樣的抗原提取3個(gè)輸入信號(hào)并通過權(quán)值公式和權(quán)值矩陣計(jì)算得到3個(gè)輸出信號(hào)并分別進(jìn)行累加。當(dāng)∑csm達(dá)到遷移閾值則根據(jù)∑semi和∑mat的濃度轉(zhuǎn)換為半成熟或成熟狀態(tài),然后對DC中所采樣的抗原進(jìn)行標(biāo)記,半成熟DC標(biāo)記采樣的所有抗原為正常,成熟DC標(biāo)記采樣的所有抗原為異常,這就好比是DC為抗原進(jìn)行投票,一個(gè)DC就是一個(gè)評(píng)委,我們?yōu)槊總€(gè)抗原記下2個(gè)數(shù)據(jù),一個(gè)是投票總數(shù),一個(gè)是異常票數(shù),當(dāng)投票總數(shù)達(dá)到一個(gè)閾值N,計(jì)算該抗原的MCAV,即異常票數(shù)與投票總數(shù)的比值,再與異常閾值進(jìn)行比較得到最終評(píng)價(jià)及時(shí)輸出,然后更新抗原信號(hào)池,從池中移除被評(píng)價(jià)的抗原,加入新的抗原,直到所有抗原被判別完,算法結(jié)束。算法流程如圖1所示。
算法的具體描述如下:
步驟1 初始化一個(gè)長度為m的抗原信號(hào)池,將數(shù)據(jù)集前m項(xiàng)放入池中;
步驟2 初始化DC細(xì)胞,設(shè)置一定范圍內(nèi)的隨機(jī)遷移閾值和生命期限;
步驟3 DC細(xì)胞在生命期限內(nèi)從抗原信號(hào)池中隨機(jī)采樣,累計(jì)3個(gè)輸出值:csm、semi、mat,超過生命期限的DC細(xì)胞重新初始化,轉(zhuǎn)步驟2;
步驟4 判斷DC細(xì)胞的累計(jì)csm是否達(dá)到遷移閾值,沒有則轉(zhuǎn)步驟3繼續(xù)采樣;
步驟5 對DC細(xì)胞中所采樣的抗原進(jìn)行分析,記錄每種抗原的判別次數(shù)和異常次數(shù);
步驟6 判斷是否存在已達(dá)到預(yù)先設(shè)定判別次數(shù)N的抗原,是則計(jì)算出抗原的MCAV,評(píng)價(jià)抗原的異常程度實(shí)時(shí)輸出,并從抗原信號(hào)池中移除,否則轉(zhuǎn)步驟2;
圖1 實(shí)時(shí)DCA算法流程
步驟7 判斷是否存在新抗原,是則將新抗原加入采樣池中填補(bǔ)移除的空缺,轉(zhuǎn)步驟2;
步驟8 判斷池中是否還有抗原未被評(píng)估,是則轉(zhuǎn)步驟2,否則算法終止。
本文選用了文獻(xiàn)[6]中提到的標(biāo)準(zhǔn) UCI Wisconsin Breast Cancer數(shù)據(jù)集,包括700條數(shù)據(jù),其中240條標(biāo)記為Class 1(正常),另外460條標(biāo)記為Class 2(異常),數(shù)據(jù)的部分屬性被抽象作為輸入信號(hào)。根據(jù)不同的數(shù)據(jù)順序做了3種實(shí)驗(yàn)。
實(shí)驗(yàn)1:前240條Class 1數(shù)據(jù),后460條Class 2數(shù)據(jù),讓算法經(jīng)歷一次環(huán)境狀態(tài)轉(zhuǎn)換;
實(shí)驗(yàn)2:前230條Class 2數(shù)據(jù),中間240條Class 1數(shù)據(jù),后230條Class 2數(shù)據(jù),讓算法經(jīng)歷兩次環(huán)境狀態(tài)轉(zhuǎn)換;
實(shí)驗(yàn)3:115條Class 2數(shù)據(jù)+120條Class 1數(shù)據(jù)+115條Class 2數(shù)據(jù)+120條Class 1數(shù)據(jù)+230條Class 2數(shù)據(jù),讓算法經(jīng)歷四次環(huán)境狀態(tài)轉(zhuǎn)換。
3種實(shí)驗(yàn)除數(shù)據(jù)順序外,其它參數(shù)設(shè)置不變,抗原信號(hào)池大小m設(shè)為20,遷移閾值的隨機(jī)范圍設(shè)為30-50,評(píng)估閾值N設(shè)為10,異常閾值設(shè)為0.65。由于抗原采樣和DC細(xì)胞遷移閾值的隨機(jī)性,每種實(shí)驗(yàn)的每次結(jié)果不完全一樣,圖2~圖4為3種實(shí)驗(yàn)的某次效果圖,橫坐標(biāo)是抗原序號(hào),縱坐標(biāo)是每個(gè)抗原的 MCAV值,小于異常閾值0.65的被分類為Class 1,否則分類為Class 2。表2是每種實(shí)驗(yàn)運(yùn)行20次的平均精確度、誤報(bào)率和漏報(bào)率。
表2 3種實(shí)驗(yàn)運(yùn)行20次的平均精確率、誤報(bào)率和漏報(bào)率
實(shí)驗(yàn)觀察表明,除了個(gè)別噪聲數(shù)據(jù)外,絕大部分錯(cuò)誤均發(fā)生在兩類環(huán)境轉(zhuǎn)換的過渡階段,這是由于DC在采樣池中采樣了多個(gè)抗原和多套信號(hào),在轉(zhuǎn)換邊界兩類數(shù)據(jù)的相互干擾所導(dǎo)致的。和文獻(xiàn)[6,8]中提供的實(shí)驗(yàn)數(shù)據(jù)相比,這個(gè)實(shí)驗(yàn)結(jié)果是比較理想的。該算法的特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:
(1)DCA是一個(gè)高度隨機(jī)的算法[9],DC在抗原信號(hào)池中的采樣是隨機(jī)的,DC的遷移閾值在一定范圍內(nèi)也是隨機(jī)的,一個(gè)DC采樣多個(gè)抗原,采樣的抗原種類和數(shù)量都是多樣的,這與生物系統(tǒng)的表現(xiàn)一致。一個(gè)抗原被多個(gè)DC采樣,當(dāng)達(dá)到足夠的評(píng)估次數(shù)確定抗原最終的分類后及時(shí)輸出以達(dá)到最大可能的實(shí)時(shí)。并且通過多數(shù)正確判斷減少了誤判的影響,保證了算法的精確度。
(2)長度為m的抗原信號(hào)池起到了時(shí)間窗[10]的作用,它讓時(shí)間上相關(guān)的抗原信號(hào)在池中產(chǎn)生了上下文環(huán)境,消除了時(shí)間間隔較大,相隔較遠(yuǎn)的不相關(guān)數(shù)據(jù)的相互干擾,進(jìn)一步保證了算法的精確度。
(3)DC遷移閾值的設(shè)定影響到檢測精度和響應(yīng)速度。遷移閾值過小,DC所采樣的抗原較少,細(xì)胞環(huán)境就由這些少量的抗原決定,DC對抗原的評(píng)價(jià)就過于武斷,檢測精度難以保證;遷移閾值過大,DC所采樣的抗原較多,系統(tǒng)響應(yīng)速度會(huì)下降。700條數(shù)據(jù)通過權(quán)值公式和權(quán)值矩陣計(jì)算得到的csm值平均為8.9,為了同時(shí)保證檢測精度和響應(yīng)速度,讓一個(gè)DC平均采樣5個(gè)抗原為宜,遷移閾值的隨機(jī)范圍設(shè)為30~50以達(dá)到最佳效果。從以上實(shí)驗(yàn)效果圖可以看出兩類數(shù)據(jù)的轉(zhuǎn)換是比較干凈利落的。
(4)抗原信號(hào)是按時(shí)間順序進(jìn)入抗原信號(hào)池的,但由于DC采樣的隨機(jī)性,得到最終評(píng)判移出抗原信號(hào)池的順序并非按照嚴(yán)格的隊(duì)列先入先出,但越早進(jìn)入抗原信號(hào)池的數(shù)據(jù),池內(nèi)時(shí)間越長,被DC采樣的機(jī)會(huì)越多,越先達(dá)到評(píng)估閾值出池的概率越大,從而到達(dá)實(shí)時(shí)分析的目的。下面截取的是某次實(shí)驗(yàn)出池的抗原ID序列:……102 101 105 103 99 108 98 106 100 115 104 107 110 116 121 122 111 112 117 113 109 119 114 124 120 123 128 125 139 118 130 126 131 136 129 137 127 133 135 142 134 138 132 140……
一個(gè)有效的異常檢測系統(tǒng)應(yīng)該能夠在一定的時(shí)間界限內(nèi)對出現(xiàn)的異常做出反應(yīng)。本文提出的這個(gè)實(shí)時(shí)分析算法,有效地改善了DCA在異常檢測領(lǐng)域的應(yīng)用性能,除了以實(shí)時(shí)或接近實(shí)時(shí)的方式實(shí)現(xiàn)了在線分析,同時(shí)也達(dá)到了可觀的檢測精度,進(jìn)一步的實(shí)驗(yàn)表明,相關(guān)參數(shù)(例如DCA權(quán)值矩陣)的改變可以得到更好的結(jié)果。針對該算法所體現(xiàn)的檢測性能,我們下一步的工作將從以下兩個(gè)方面入手:
(1)以上實(shí)驗(yàn)表明在過渡區(qū)間中識(shí)別時(shí)空上聚集的抗原會(huì)有小程度的混亂,可以推論,DCA的檢測精度會(huì)隨著上下文環(huán)境快速連續(xù)地轉(zhuǎn)換而降低,初步的實(shí)驗(yàn)證明了這一點(diǎn),我們讓算法經(jīng)歷39次環(huán)境狀態(tài)轉(zhuǎn)換,精確度下降到80%左右,因此基于DCA的新的算法將被設(shè)計(jì)用來針對無序數(shù)據(jù)集的異常檢測。
(2)可以考慮犧牲誤報(bào)率來獲取最低的漏報(bào)率,大量的應(yīng)用表明及時(shí)檢測到真正的異常遠(yuǎn)比 “冤枉”正常重要,何況誤報(bào)可以通過其它途徑解決,例如管理員二次確認(rèn)以及適應(yīng)性免疫系統(tǒng)等。
[1]Greensmith J,Aickelin U,Cayzer S.Introducing dendritic cells as a novel immune-inspired algorithm for anomaly detection[C]//Proc of the 4th International Conference on Artificial Immune Systems.Banff,Alberta,Canada:Springer,2005:153-167.
[2]Greensmith J,Twycross J,Aickelin U.Dendritic cells for anomaly detection[C]//Proc of the IEEE Congress on Evolutionary Computation.Vancouver,Canada:IEEE,2006:664-671.
[3]Greensmith J,Aickelin U,Twycross J.Articulation and clarification of the dendritic cell algorithm[C]//Proc of the 5th International Conference on Artificial Immune Systems.Oeiras,Portugal:Springer,2006:404-417.
[4]Greensmith J,Aickelin U,Tedesco G.Information fusion for anomaly detection with the dendritic cell algorithm[J].Informarion Fusion,2010,11(1):21-34.
[5]Gu F,Greensmith J,Aickelin U.Integrating real-time analysis with the dendritic cell algorithm through segmentation[C]//Proc of the 11th Annual Conference on Genetic and Evolutionary Computation.Montreal,Québec,Canada:ACM,2009:1203-1210.
[6]Greensmith J.The dendritic cell algorithm[D].Nottingham,UK:University of Nottingham,2007.
[7]NI Jiancheng,LI Zhishu,SUN Jirong,et al.Research on differentiation model and application of dendritic cells in artificial immune system[J].Acta Electronica Sinica,2008,36(11):2210-2215(in Chinese).[倪建成,李志蜀,孫繼榮,等.樹突狀細(xì)胞分化模型在人工免疫系統(tǒng)中的應(yīng)用研究[J].電子學(xué)報(bào),2008,36(11):2210-2215.]
[8]YANG Chenxu,WU Gengfeng,HU Min.Improved dendritic cells algorithm[J].Computer Engineering,2009,35(23):194-200(in Chinese).[楊晨旭,吳耿鋒,胡珉.一種改進(jìn)的樹突狀細(xì)胞算法[J].計(jì)算機(jī)工程,2009,35(23):194-200.]
[9]CHEN Yuebing,F(xiàn)ENG Chao,ZHANG Quan,et al.Principles and application of dendritic cell algorithm[J].Computer Engineering,2010,36(8):173-176(in Chinese).[陳岳兵,馮超,張權(quán),等.樹突狀細(xì)胞算法原理及其應(yīng)用[J].計(jì)算機(jī)工程,2010,36(8):173-176.]
[10]Gu F,Greensmith J,Aickelin U.Further exploration of the dendritic cell algorithm:antigen multiplier and moving windows[C]//Proc of the 7th International Conference on Artificial Immune Systems.Phuket,Thailand:Springer,2008:142-153.