楊 波,楊美芳
(江西財經(jīng)大學 信息管理學院 信息系,江西 南昌 330000)
隨著科技與信息的發(fā)展,經(jīng)濟全球化的不斷深入,企業(yè)間關聯(lián)越發(fā)緊密,客戶需求的復雜多變以及競爭的加劇,使企業(yè)面臨不確定因素增加,“互聯(lián)網(wǎng)+”時代的到來,技術需求的提高以及互聯(lián)網(wǎng)環(huán)境的多變,更加劇了這種不確定性,使企業(yè)動態(tài)風險進一步加大,若不能及時處理,可能導致企業(yè)日常經(jīng)營活動無法正常開展,甚至產(chǎn)生嚴重的后果[1]。動態(tài)風險識別模型的核心思想是指通過已知的風險要素特征準確識別可能存在的風險[2],并確定風險等級,減少超高風險帶來的經(jīng)濟損失,提高風險管理效率[3]?,F(xiàn)有對動態(tài)風險識別的算法大致可分為經(jīng)驗統(tǒng)計特征算法、模式識別算法、機器學習算法、遺傳進化算法和神經(jīng)網(wǎng)絡算法等[4]。傳統(tǒng)的動態(tài)風險識別算法效果并不理想[5],如經(jīng)典的模式識別算法需依賴于單個變量和預先設定閾值,而閾值的選取直接影響到算法的效率和效果,算法的可移植性較差[6]。神經(jīng)網(wǎng)絡算法雖然在風險識別方面具有一定的優(yōu)勢,但仍存在一些不足,如風險識別的動態(tài)性效果較差,對模型訓練參數(shù)的依賴性較強,且模型的擴展能力有限[7]。因此,需尋求動態(tài)性能更好、檢測率更高且移植性良好的動態(tài)風險識別算法。
支持向量機(support vector machine,SVM)是Corinna Cortes和Vapnik等于1995年首先提出的,是機器學習中最流行的非線性分類預測模型[8]。該模型是一種基于統(tǒng)計學習的結構風險最小化理論與VC維理論的普適模式識別模型[9]。它在解決高維、小樣本及非線性模式識別問題中具有其他模型無法比擬的優(yōu)勢,且對于領域文本的復雜多變性不敏感,可以很好地進行模型訓練與參數(shù)選取并具備良好的實踐與擴展能力[10-11]。目前,支持向量機模型已成功應用于模式識別、數(shù)據(jù)分類和機器翻譯等領域[12]。SVM的關鍵在于核函數(shù)技術的成功應用,進一步推動了支持向量機處理多維數(shù)據(jù)識別問題的研究[13-14]。支持向量機模型的選取是通過調(diào)節(jié)核函數(shù)的參數(shù)與懲罰因子來提高模型的識別性能,降低識別的錯誤率,因此SVM模型中參數(shù)的選取直接影響其識別性能[15]。目前,支持向量機參數(shù)選取缺乏理論與實踐的指引,大多數(shù)核函數(shù)的參數(shù)選取僅僅依賴于先驗知識[16]。
人工免疫優(yōu)化算法是一種有效的全局函數(shù)優(yōu)化算法[17]。人工免疫優(yōu)化算法模擬生物免疫系統(tǒng)自然選擇過程中發(fā)生的繁殖、交叉、變異和優(yōu)選現(xiàn)象,在每次迭代過程中都保留一組候選解,并按某種標準從解群中選取更優(yōu)的個體,利用免疫優(yōu)化算子對個體進行組合,產(chǎn)生新的子代候選解,重復此過程,直到滿足預先設定的收斂標準為止[18]。因此,該文首先將SVM的參數(shù)選取過程類比為函數(shù)最優(yōu)化求解過程,然后通過IOA算法來求解目標函數(shù)的最優(yōu)值,最后找到核函數(shù)參數(shù)和懲罰因子C的最優(yōu)值。在此基礎上,選取Heart-Disease數(shù)據(jù)集對SVM-IOA集成的動態(tài)風險識別模型進行仿真實驗。實驗結果表明,該模型能夠選取出較好的核函數(shù)參數(shù),同時在進行動態(tài)風險識別模擬實驗中表現(xiàn)出較好的識別效果。
支持向量機(support vector machine, SVM)主要是針對高維、小樣本與非線數(shù)據(jù)樣本情境,分析學習與訓練已知的樣本數(shù)據(jù)尋求問題的全局最優(yōu)解,而不只是樣本數(shù)據(jù)趨近于無窮大時的局部最優(yōu)解。SVM算法的基本思想是選擇一個非線性變換的核函數(shù)ψ(x),將N維輸入的樣本特征向量
k為訓練樣本的個數(shù),從原空間映射到高維特征空間F,并在該高維特征空間構造最優(yōu)線性回歸函數(shù):
F(x)=aψ(x)+b
(1)
其中,a為權值向量,b為偏差。一方面,SVM就是尋求一個平面aψ(x)+b=0,使得訓練數(shù)據(jù)點距離分類平面盡可能遠。根據(jù)結構風險最小化原則,參數(shù)a和b可通過最小化G函數(shù)確定。
(2)
其中,Gsv為控制經(jīng)驗誤差函數(shù),‖a‖2為控制模型分類能力,C為控制對錯分樣本懲罰的程度。另一方面,SVM通過核空間理論與方法,并運用非線性函數(shù)將原始特征空間映射到更高維的希爾伯特空間,從而將分類問題轉化到低維空間中線性可分問題。不同的核函數(shù)ψ(x)可以構造不同類型的非線性分類平面學習機,從而產(chǎn)生不同的支持向量識別模型。目前,支持向量機常用的核函數(shù)及其參數(shù)如表1所示。
表1 支持向量機常用的核函數(shù)及其參數(shù)
針對支持向量機核函數(shù)參數(shù)的選取,國內(nèi)外學者提出了大量方法。通常使用的方法是對核函數(shù)的參數(shù)進行隨機組合,然后進行全局搜索,最后確定識別率最高的參數(shù)組合[19]。這些方法雖然簡單,但是精確度不高,而且搜索過程非常耗時,效率低下[20]。也有學者提出基于梯度的核函數(shù)參數(shù)選取方法,雖然可以有效地進行參數(shù)選擇,但對核函數(shù)的求導較困難,通用性較差。而人工免疫算法是借鑒生物免疫系統(tǒng)中自然選擇與免疫應答過程的高度并行與自適應的全局優(yōu)化算法。因此,該文運用免疫優(yōu)化算法來解決支持向量機核函數(shù)參數(shù)選取的問題。
人工免疫算法是借鑒自然界中生物免疫系統(tǒng)的理論與方法,并結合工程或社會領域應用而人工模擬的一種計算模型[21]。它模仿生物的免疫識別與應答過程,具備較好的全局搜索能力和記憶功能[22]。免疫算法是在生物免疫系統(tǒng)的基礎上,保留遺傳算法優(yōu)良特性的前提下,通過利用待求解問題的特征抑制其優(yōu)化過程而形成的一種新型智能搜索算法[23],其基本要素和流程可描述如下:
IA(S,Rs,Ab,Ag,Aff,Sim,M,IM,Sp,Tc)
(3)
其中,S為搜索空間,Rs為抗體與抗原的表示空間,Ab為抗體空間集合,Ag為抗原空間集合,Aff為親和力函數(shù),Sim為相似度函數(shù),M為記憶庫更新機制,IM為免疫方法,Sp為選擇百分比,Tc為終止條件。
人工免疫算法解決問題各步驟的對應關系為(以解決動態(tài)風險識別問題為例):抗原對應待識別的動態(tài)風險;抗體對應動態(tài)風險識別器;抗原與抗體的親和力對應動態(tài)風險識別器性能的評估值;記憶細胞對應保留下的動態(tài)風險識別器;抗體促進對應動態(tài)風險識別器的促進,抗體的抑制對應動態(tài)風險識別器的刪除;優(yōu)秀抗體的生成對應較優(yōu)的動態(tài)風險識別器的產(chǎn)生。人工免疫算法分為以下幾個步驟:
(1)進行抗原識別,即理解待優(yōu)化的動態(tài)風險識別問題,對問題進行可行性分析,提取已知的動態(tài)風險識別案例庫,并建立合適的親和度函數(shù),同時設置動態(tài)風險識別問題的規(guī)則與約束。
(2)隨機生成初始抗體群(即初始的動態(tài)風險識別器)。具體地,通過編碼將動態(tài)風險識別問題的可行解表示成解空間中的識別器,在解空間內(nèi)隨機生成一個初始種群。
(3)計算所有種群的親和度。
(4)判斷是否滿足算法預先設定的終止條件:如果滿足條件,則終止算法尋優(yōu)過程,輸出計算結果;否則,繼續(xù)尋優(yōu)運算。
(5)計算抗體濃度和激活度。
(6)進行免疫應答過程的處理,包括免疫選擇、克隆、變異和克隆抑制。免疫選擇是指根據(jù)種群中抗體的親和度和濃度計算結果選擇優(yōu)質(zhì)抗體,使其活化??寺∈侵笇罨目贵w進行復制,增加樣本的多樣性。變異是指對克隆得到的抗體進行突變操作,使其發(fā)生親和度變化??寺∫种剖侵笇ψ儺惤Y果進行再選擇,抑制親和度低的抗體,保留親和度高的變異結果。
(7)種群刷新,以隨機生成的新抗體更新種群中激活度較低的抗體,形成新的抗體種群,轉步驟(3)。
為方便算法描述,該文定義Ag為輸入的抗原集,Ab為抗體集,M為記憶細胞集,Aff為抗原和抗體親和力函數(shù),S為抗體間相似度矩陣。人工免疫算法的一般流程如圖1所示。
圖1 人工免疫算法一般流程
人工免疫算法的一般流程中涉及到的關鍵機制主要包括親和力計算、抗體記憶庫更新、抗體分裂變異機制和抗體優(yōu)選機制。具體免疫機制核心思想如下:
(1)計算親和力。
假設抗原(Ag)和抗體(Ab)結構相似,均為長度為n的十進制位串組合。抗原抗體的親和度與它們之間的距離相關。因此,抗原Ag和抗體Ab的親和度采用歐幾里得距離計算。Ag和Ab親和度Aff(Ag/Ab)計算公式如下:
(4)
任一抗原Agi在機體抗原群體G中的抗原濃度(C)計算公式如下:
(5)
其中,0<α<1,d(g,Agi)為g與Agi的歐幾里得距離。
高校圖書館信息素養(yǎng)教育的改進措施主要分為兩大部分,第一是舉辦課外學習素養(yǎng)教育活動,第二是信息素養(yǎng)教育課程的優(yōu)化。
(2)抗體記憶庫更新。
更新抗體記憶庫選擇與抗原親和力更高的抗體加入到記憶細胞集中。由于抗體記憶庫數(shù)目有限,動態(tài)清除與抗原親和力低于σ的抗體,即抗體的自然死亡。抗體記憶庫更新機制可用如下公式描述:
Rupdate(t)=
(6)
其中,R(t-1)為t-1時刻組織內(nèi)本身還存在的抗體識別器,Rdead(t)為t時刻組織內(nèi)消失的識別器,Rchoice(t)為t時刻組織內(nèi)通過分裂變異優(yōu)選產(chǎn)生的識別器,Nnew(t)為免疫系統(tǒng)在t時刻新增的識別器。Rchoice(Agi)分裂變異優(yōu)選機制如下。
(3)抗體分裂變異機制。
抗體分裂機制:當抗體激活度達到了預定的閾值,當前抗體開始分裂增殖[24]。具體分裂機制如下:①若抗體激活度Ad大于等于激活閾值,則抗體分裂出兩個子代抗體;②對子代抗體進行變異操作。定義抗體的激活度公式為:
Abad=Aff(Agi,Abi)*eεC(Agi)
(7)
其中,Aff(Agi,Abi)為抗原和抗體的親和度,C(Agi)為抗原的濃度,ε為調(diào)節(jié)系數(shù)。從公式(7)可得知,抗體的激活度主要由抗體抗原間的親和度與抗體的濃度決定。若某類抗原的頻度和強度越大,抗體的活化度越大,抗體對此類抗原識別能力也就越好。
根據(jù)子代變異抗體的親和度大于父代抗體親和度的原則,以確保免疫識別的準確性[24]。如果變異后的兩個子代抗體親和度都低于父代抗體親和度,則刪除這兩個子代抗體,保留父代抗體;如果變異后的兩個子代抗體親和度都高于父代抗體親和度,則刪除父代抗體,保留子代抗體,并根據(jù)公式賦予子代抗體對應的抗原濃度;如果變異后的有一個子代抗體親和度高于父代抗體親和度,則保留父代抗體和該子代抗體,并設定該子代抗體對應的初始抗原濃度等于父代抗體對應的抗原濃度。
(8)
(9)
其中,Aff(Abchildren,Abparenti)為子代和父代抗體的相似度,該文使用歐幾里得距離計算抗原抗體的相似度。
所謂動態(tài)風險識別問題,是指在含有風險抗原實例的復雜系統(tǒng)中定位出具體風險抗原實例的過程。由于風險隨時間和外部環(huán)境而動態(tài)變化,已知的風險預控方案與未知的風險抗原并不能完全匹配,而需進行變異優(yōu)選以適應動態(tài)風險的變化。
該文將動態(tài)風險抗原作為支持向量機SVM的目標函數(shù),接著通過隨機函數(shù)生成與之對應的抗體作為目標函數(shù)的解,再計算抗原和抗體間的歐幾里得距離(即親和度),并將親和度無限逼近可行解與最優(yōu)解。最后根據(jù)抗體分裂變異機制對抗體進行分裂與高頻變異產(chǎn)生更多的子代抗體集進行優(yōu)化,直到滿足目標函數(shù)的終止條件。
融合支持向量機識別技術與免疫優(yōu)化技術(SVM-IOA)的動態(tài)風險識別方法中,抗體的定義如下:支持向量機中的參數(shù)作為抗體。以RBF核函數(shù)為例,核函數(shù)有一個參數(shù),則抗體中存放核函數(shù)參數(shù)σ和SVM模型中的懲罰參數(shù)C,若核函數(shù)中有兩個參數(shù),則抗體中存放核函數(shù)的兩個參數(shù)和SVM模型中的懲罰參數(shù)C。
基于SVM-IOA的動態(tài)風險識別算法的步驟如圖2所示。
圖2 基于SVM-IOA的動態(tài)風險識別算法流程
該算法的具體描述如下:
Step1:初始化實驗數(shù)據(jù),主要是動態(tài)風險特征數(shù)據(jù)的選取,并對其進行歸一化和降維處理,得到用于SVM-IOA訓練和測試的樣本數(shù)據(jù)。
Step2:將支持向量機目標函數(shù)設置為抗原,SVM及其核函數(shù)的參數(shù)作為抗體。
Step3:初始化SVM-IOA模型參數(shù),運用Step1中的訓練樣本數(shù)據(jù)訓練模型,通過多次迭代優(yōu)化的參數(shù),建立SVM-IOA測試模型。
Step4:運用Step3得到的測試模型對測試樣本集進行識別。
Step5:根據(jù)適應度函數(shù),計算模型的精度,若不符合精度要求,重新設定SVM-IOA模型參數(shù),并對參數(shù)進行免疫優(yōu)化操作,產(chǎn)生新的種群數(shù)據(jù),返回Step3,重新訓練,直至滿足終止條件;若符合精度要求,轉入Step6。
Step6:采用SVM-IOA算法,運用Step1中的訓練樣本數(shù)據(jù)訓練模型通過多次迭代優(yōu)化的參數(shù),建立SVM-IOA測試模型,并運用該模型對風險事件進行第一次識別,判斷出是否為風險事件。
Step7:根據(jù)第一次識別結果,重新劃分訓練集和測試集,再次運用SVM-IOA模型對風險事件進行識別,判斷該事件是高風險或低風險。
大多數(shù)文獻在選擇支持向量機核函數(shù)參數(shù)時基于經(jīng)驗,缺乏嚴謹?shù)睦碚撝С郑y以訓練得到最優(yōu)的參數(shù)值。該文選用徑向基(RBF)核函數(shù)的支持向量機模型,將RBF核函數(shù)的公式帶入F(x)超平面函數(shù)中。利用免疫優(yōu)化算法對懲罰參數(shù)和徑向基核函數(shù)的參數(shù)進行優(yōu)選。將如下公式作為適應度函數(shù),其中分類精度是指優(yōu)選過程中模型對測試集的分類正確率,它反映模型對動態(tài)風險問題的分類識別能力,即可用公式(10)計算。
(10)
其中,TP(true positive)表示SVM-IOA模型識別出風險抗原的個數(shù),F(xiàn)P(false positive)表示SVM-IOA模型未能識別出風險抗原的個數(shù)。
最大進化代數(shù)取值為200,一般取值范圍為[100,500],種群最大數(shù)量取值為100,一般取值范圍為[20,100],參數(shù)c的變化范圍默認為[0,100],參數(shù)g的變化范圍默認為(0,1 000),經(jīng)過免疫優(yōu)化算法迭代后,得到懲罰參數(shù)c,徑向基核函數(shù)的參數(shù)g。免疫優(yōu)化算法優(yōu)選后的參數(shù)結果如圖3所示。此時,SVM-IOA模型算法對訓練集和測試集的平均分類精度達到了95.5%,適應度變化如圖4所示。
圖3 參數(shù)優(yōu)化后分類精度結果
圖4 SVM-IOA算法適應度變化
該文運用Heart-Disease數(shù)據(jù)集作為實驗數(shù)據(jù),Heart-Disease數(shù)據(jù)集包含14個屬性,其中固定屬性13個,預測屬性1個,預測屬性分為兩種狀態(tài),分別為健康狀態(tài)和疾病狀態(tài)[24]。該文將實驗數(shù)據(jù)中的預測屬性健康數(shù)據(jù)稱為正常數(shù)據(jù),疾病數(shù)據(jù)稱為風險數(shù)據(jù)。根據(jù)集成算法和風險識別率公式,仿真分析SVM-IOA模型的準確性和執(zhí)行效率。
基于SVM-IOA的動態(tài)風險識別過程中,通常使用識別率作為衡量識別器設計效果的指標。風險抗原識別率IPR(identify positive rate)表示識別器能夠正確識別出風險抗原的比例,即可用公式(10)計算。
非風險抗原識別率INR(identify negative rate)表示識別器對于非風險抗原正確識別的比例,即可用如下公式計算:
(11)
其中,TN(true negative)表示識別器識別出非風險抗原的個數(shù),F(xiàn)N(false negative)表示識別器未能識別出非風險抗原的個數(shù)。
綜上所述,得出計算識別率的公式如下:
(12)
該文將SVM-IOA模型的仿真結果與傳統(tǒng)的“自體-非體”免疫算法(self-non-self algorithm,SNSA)、已知的樹突狀細胞算法(dendritic cell algorithm,DCA)和克隆選擇算法(clonal selection algorithm,CSA)進行實驗對比分析,對比結果如表2所示。
表2 各免疫算法識別率對比 %
從表中各免疫算法的識別率可得出,SVM-IOA和CSA的抗原識別準確率均高達90%以上,其中:SVM-IOA抗原識別準確率為96.21%,SVM-IOA的風險抗原與非風險抗原的識別率分別為95.82%和96.01%,均高于SNSA、CSA和DCA的識別準確率??梢奡VM-IOA的抗原識別效果很好。
針對當前動態(tài)風險識別模型中支持向量機核函數(shù)的參數(shù)選取對識別模型性能的影響問題,提出了一種基于支持向量機與免疫算法的組合來建立動態(tài)風險識別模型的方法,為復雜多變的動態(tài)風險識別問題的處理提供更加高效、可靠的決策支持。首先對原始數(shù)據(jù)進行特征選取及降維處理,然后通過人工免疫算法對支持向量機的懲罰參數(shù)和核函數(shù)的參數(shù)進行擇優(yōu),建立基于支持向量機與人工免疫集成的動態(tài)風險識別模型,最后運用Heart-Disease數(shù)據(jù)集進行實驗,實驗結果表明該模型具有很好的識別效果。
該文的理論貢獻主要體現(xiàn)在以下兩方面:(1)與現(xiàn)有動態(tài)風險識別理論相比,嘗試從支持向量機與免疫優(yōu)化算法集成視角進行動態(tài)風險識別模型研究是該文在研究視角上的創(chuàng)新。借鑒支持向量機方法在解決小樣本、非線性及高維模式識別中的優(yōu)勢,動態(tài)風險識別逐漸轉向機器學習視角,但傳統(tǒng)的支持向量機核函數(shù)的參數(shù)選取僅憑先驗知識,缺乏實踐指引,難以解決復雜多變的動態(tài)風險問題。該文采用人工免疫算法求解支持向量機核函數(shù)參數(shù)和懲罰因子C的最優(yōu)值,從而理論上為支持向量機解決動態(tài)風險識別問題選取較好的參數(shù)。(2)從機器學習視角研究動態(tài)風險識別推動了企業(yè)風險管理應用與實踐,目前很少有人主動采用這種方法。究其原因,主要在于方法的可操作性以及缺少具體的實驗指導。為了彌補這一缺陷,該文不僅介紹了支持向量機與人工免疫集成的動態(tài)風險識別模型,還借助仿真工具對該方法進行具體的模擬仿真實驗。
支持向量機與人工免疫集成的動態(tài)風險識別方法仍有待深入研究,主要表現(xiàn)在與互聯(lián)網(wǎng)、企業(yè)與工程等領域風險識別的緊密銜接。支持向量機與人工免疫集成DRI方法的應用所面臨的挑戰(zhàn)在于企業(yè)風險指標體系的構建、各類風險指標的量化,以及該方法在各個領域普適性問題。未來可以從以下兩方面進行深入探究:一是系統(tǒng)分析企業(yè)內(nèi)外部風險的形成和演化機理,構建出相關的風險指標體系,運用支持向量機與人工免疫集成方法對企業(yè)動態(tài)風險識別進行實證分析。二是探討不同領域風險識別過程,從而進一步深化和拓展支持向量機與人工免疫集成方法,并進一步增強方法的普適性。