蔡振鬧,呂信恩,陳慧靈
(1.西北工業大學 計算機學院,西安710072;2.溫州大學 心理健康教育中心,浙江溫州325035;3.溫州大學 數理與電子信息工程學院,浙江 溫州325035)
20世紀中葉以來,世界各國都在進行刑罰制度的革新,探索更人性、更科學、更有效的刑罰方式來改善罪犯的心理與行為。社區矯正制度就是在這樣的革新背景下產生的一種全新的刑罰方式。據統計,當前,中國社區矯正對象約有70萬人。為了了解社區矯正對象的心理與行為特征,評估社區矯正對象的心理健康水平,一般采用癥狀自評量表(SCL-90)進行心理測量。在這些量表中,體現軀體化(Somatization)障礙的因素有12項因素。軀體化因子主要反映主觀的軀體不適感,包括心血管、胃腸道、呼吸等系統的主述不適,以及頭疼、背痛、肌肉酸痛和焦慮的其他軀體表現。據調研發現,目前人工智能技術在該方面的應用還鮮有報道,劉怡桐[1]以中醫人格特征為研究的切入點,研究大學生心理健康的現狀和影響因素。將神經網絡運用于心理學研究人格特征與心理健康之間的關聯性, 實驗結果證實了大學生人格特征與心理健康存在顯著的相關關系。時松和等[2]運用關聯規則模型和神經網絡模型研究南水北調中老年移民群體的心理干預效果及其心理健康、社會心理應激、社會支持的關系,分析結果顯示, 中老年移民的社會支持、心理社會應激以及心理健康有較強的關聯性。
本文首次將提出的改進支持向量機方法應用于軀體化障礙的嚴重程度預測。為了提高區分社區矯正人員軀體化障礙的嚴重程度的評估準確率,本文提出了一種基于反向細菌優化算法的支持向量機方法(Improved bacterial foraging optimization based support vector machine,IBFO-SVM)。作為一種主要的機器學習模式,支持向量機(SVM)[3,4]基于VC維理論和結構風險最小化原理的基礎上發展而來,由于其獨特的優勢,SVM已經廣泛地應用于一些分類任務[5-8]。尤其是在計算機輔助醫療診斷上,SVM已經表現良好的診斷效果[7-13]。然而,SVM的性能主要受其模型中的參數所影響,研究表明可通過建立適當的模型參數設置[14]大大提高其分類的準確性。因此,關鍵參數應在其應用于實際問題之前設定為合適的值,例如懲罰因子和核函數的核寬。傳統方法上,這些參數通過網格搜索方法[15]和梯度下降方法[16-18]來處理。然而,這些方法容易陷入局部最優解。近來,一些基于生物啟發的元啟發式搜索算法(如遺傳算法(GA)[19]和粒子群優化算法(PSO)[20]),相比上述傳統的方法更容易找到全局最優解。
細菌優化算法(BFO)是Passino[21]于2002年基于大腸桿菌在人體腸道內吞噬食物的行為提出的一種新型仿生類算法,它模仿了細菌覓食的趨向、聚群、復制和驅散等四種智能行為。該算法因具有群體智能算法并行搜索、易跳出局部極小值等優點,成為生物啟發式計算研究領域的又一熱點,并在很多領域獲得了廣泛應用。然而在優化的過程中,細菌優化算法極其容易陷入局部最優,很難找到全局最優解。針對這個問題,本文將反向學習機制引入細菌優化算法,提出一種改進的反向細菌優化算法(IBFO),以改善種群多樣性,同時提高該算法的收斂速度。反向學習的原理是為每個初始候選解生成相對應的反向解, 并從候選解和相對應的反向解中選擇適應度較優的解作為初始種群中的成員,將有助于提高優化過程中的收斂速率。通過反向學習策略,我們將在初始細菌種群中獲取反向細菌種群,增加了種群的多樣性和使初始種群的個體盡可能均勻分布,并有助于提高優化過程的收斂速度。然后將IBFO算法用于解決SVM的參數優化問題,獲得最優的模型(IBFO-SVM)。進而將該模型用于預測社區矯正人員的軀體化嚴重程度。實驗中,將IBFO-SVM與基于原始細菌優化的SVM模型(BFO-SVM)、基于遺傳算法的SVM模型(GA-SVM)以及基于粒子群優化算法的SVM模型(PSO-SVM)在心理評測數據上通過10折交叉驗證方法進行了比較。實驗結果表明,提出的IBFO-SVM預測模型在分類準確率、馬修斯相關系數(MCC)、靈敏度和特異性方面比其他方法具有更好的性能。
核心模型流程圖如圖1所示。
輸入數據收集完成后,對其進行10折交叉劃分,進而在訓練數據集上采用基于反向學習的細菌優化算法對SVM的最優懲罰參數C和核寬γ進行動態指定,一旦完成訓練,最優參數將被送入SVM模型中執行預測任務。
圖1 基于反向細菌優化的支持向量機預測模型Fig.1 SVM prediction model based on oppositional BFO strategy
在IBFO-SVM預測模型中,IBFO優化SVM參數的步驟如下:
步驟1 參數初始化,包括:搜索空間維度為p、細菌種群規模大小為S、趨化循環次數為Nc、趨向性操作中在某一方向上的最大游泳次數為Ns、復制循環次數為Nre、驅散次數為Ned、驅散概率為Ped、趨向步長為c、初始化細菌種群的位置為P、C的搜索空間[Cmin,Cmax]和γ的搜索空間[γmin,γmax]。
(1)
式中:ub為初始解的上限;lb為初始解的下限;rand(S,1)′為S*1矩陣的逆矩陣。
步驟2 根據反向學習策略,計算細菌初始種群對應的反向解,并從初始種群和對應的反向解中選擇適應度較優的S個解作為初始種群。
步驟3 驅散循環loop:l=l+1
步驟4 復制循環loop:k=k+1
步驟5 趨化循環loop:j=j+1
(a)i=1,2,…S,細菌i進化趨化移動。
(b)計算適應度J(i,j,k,l),該適應度基于細菌i當前位置的C和γ值,計算支持向量機的準確度ACC,并將該值作為細菌i的適應度J(i,j,k,l)的值,其中,ACC為基于K折交叉驗證獲取的平均準確度,根據公式(2)計算,其中acck表示每折計算的準確度。
(2)
(c)讓Jlast=J(i,j,k,l)保存當前的適應度,為了與以后迭代過程中得到的適應度進行比較;pbest保存當前細菌i的位置,pbest是一個維度為1*2的向量,分別對應著C和γ值,以內部K折交叉驗證策略計算支持向量機的準確度ACC。
(d)翻轉:按照式(3)進行翻轉,并計算新位置上的適應度函數值。
P(i,j+1,k,l)=P(i,j,k,l)+c(i)*ψ(i,j)
(3)
ψ(i,j)=Δ(i)/(ΔT(i)*Δ(i))1/2
(4)
(e)計算新位置上的適應度函數值J(i,j+1,k,l)。
(f)游動:如果細菌在新位置上的適應度函數值有所改善,則計算趨向步長,該細菌進行游動,直到達到預定的最大趨向步數為止。
(g)如果i≠S,細菌(i+1)進化趨化移動。
步驟6 如果j 步驟7 復制:根據這次復制循環得到的適應度函數值的總和,對所有的細菌進行排序,擁有最高的Jhealth值的Sr個細菌死亡,留下的Sr個最好值的細菌分裂開來,結果放置在死亡細菌原先的父母的位置。 步驟8 如果k 步驟9 驅散:以概率Ped進行循環i=1,2,…,S,驅散每一個細菌,保持持續不變的細菌種群數量。如果l 本研究所獲得的數據均來自溫州市司法局下轄的司法所,共抽取了419位社區矯正對象作為研究對象。這些研究對象主要是罪行輕微、主觀惡性不大的服刑人員,包括被判處管制的、被宣告緩刑的、被暫予監外執行的、被裁定假釋的人員等。本研究采用了癥狀自評量表(SCL-90),主要研究矯正對象在最近一周內的軀體化癥狀、抑郁、敵對、精神病性等10個方面的心理癥狀情況。其中,軀體化癥狀主要反映主觀的身體不適感, 共有12個特征屬性。每個特征的取值范圍為{1,2,3,4,5}, 分別表示沒有、很輕、中度、偏重、嚴重等5種不同的癥狀。表1是12個特征屬性的具體描述。 表1 特征屬性描述Table 1 Description of the data set 為了驗證所提出的IBFO-SVM算法,將該算法與其他3種機器學習模型BFO-SVM,GA-SVM和PSO-SVM進行了詳細對比。對于SVM,采用LIBSVM工具包;細菌優化算法、粒子群優化算法和遺傳算法等算法采用MATLAB語言編程實現。實驗環境采用MATLAB 2014b, 計算機配置如下:Windows 7操作系統,AMD Athlon 64 X2雙核處理器(2.6 GHz)和 8 GB內存。 10折交叉驗證用于劃分數據樣本,保證分類結果的無偏差性。文中涉及方法的具體參數設置如下: IBFO,BFO,PSO和GA迭代次數和種群個數都統一分別被設置成50和8。參數搜索范圍設置如下:C= {2-10, 2-8, …, 210} 并且γ= {2-10, 2-8, …, 210}。BFO中趨向步長設為5,游動步長設為4,復制次數為5,驅散次數為2,驅散概率設為0.25。PSO中的最大速度vmax設置為每維的60%,慣性權重設為1.4,兩個認知因子設為2。對于GA,利用輪盤賭選擇法選擇父代染色體,使用單點交叉法產生后代染色體,采用均勻變異法改變染色體的屬性值,交叉概率設為0.8,變異概率為0.04。 為了評價提出的IBFO-SVM模型,本文主要考察4個指標:分類準確率(ACC)、靈敏度 (Sensitivity)、特異性(Specificity) 和馬修斯相關系數(MCC)。性能指標計算公式如下: (5) (6) (7) MCC= ×100% (8) 式中:TP為真陽性的數量,即嚴重軀體化障礙個體被正確分類的個數;FN為誤報的數量,即嚴重軀體化障礙個體被分類成輕度軀體化障礙的個數;TN為真陰性的數量,即輕度軀體化障礙被正確分類的個數;FP為假陽性的數量,即輕度軀體化障礙被分類成嚴重軀體化障礙的次數。 之前的研究表明細菌優化算法中的趨向步長對細菌的搜索能力起到重要作用。因此本文首先對趨向步長對IBFO-SVM的性能影響進行了分析和研究。表2中顯示了在不同趨向步長取值下IBFO-SVM在心理矯正數據上獲得了分類結果。表中顯示的數據主要是均值和方差構成。從表中可以看出,IBFO-SVM模型在趨向步長取值0.1時取得了最好的結果,分別獲得了95.47%的分類正確率,馬修斯相關系數為0.8999,96.77%的靈敏性和92.86%的特異性。另外,在取值為0.1時,模型的方差也是最小,這表明了在趨向步長取值為0.1時,模型獲得性能最穩定。因此,在后續實驗中,本文將取趨向步長為0.1作為實驗參數。 實驗中,本文評估了IBFO-SVM模型的有效性,如表3所示,IBFO-SVM取得了平均95.47%的分類正確率,馬修斯相關系數為0.8999,96.77%的靈敏性和92.86%的特異性。此外,還可以觀察到SVM的兩個參數可由IBFO算法動態獲得,這主要歸因于這兩個參數可以由反向細菌優化算法根據訓練數據的分布情況自適應地決定。 為了驗證所提出方法的有效性,將提出的方法與其他3種高效的機器學習模型包括BFO-SVM、GA-SVM和PSO-SVM進行對比研究。4種方法的對比曲線圖如圖2所示。從圖中可以發現IBFO-SVM模型在4個評價指標上都優于原始BFO-SVM模型,而且方差也比原始BFO-SVM模型小,說明IBFO-SVM模型與原始BFO-SVM模型相比不但性能更好而且更加穩定。在ACC評價指標上,IBFO-SVM模型獲得的結果最好。其次是BFO-SVM和PSO-SVM模型,GA-SVM模型獲得的結果最差。在Sensitivity評價指標上,IBFO-SVM模型依然獲得了最好的結果,其次是BFO-SVM和PSO-SVM模型,GA-SVM模型獲得的結果最差。在Specificity評價指標上,PSO-SVM模型獲得的結果最好,而且方差也是最小的,其次是IBFO-SVM和GA-SVM模型,原始BFO-SVM模型獲得的結果最差。在MCC評價指標上,IBFO-SVM模型獲得的結果最好,而且方差也是最小的,其次是BFO-SVM和GA-SVM模型,原始PSO-SVM模型獲得的結果最差。 表2 不同趨向步長取值下IBFO-SVM的分類結果Table 2 Classification results of IBFO-SVM with different chemotaxis step size 表3 IBFO-SVM在4個指標上的分類性能Table 3 Classification performance of IBFO-SVM in terms of ACC, MCC, Sensitivity and Specificity 圖2 IBFO-SVM, BFO-SVM, PSO-SVM和GA-SVM在ACC, MCC,Sensitivity和Specificity方面的分類性能比較Fig.2 Classification performance obtained by IBFO-SVM, BFO-SVM, PSO-SVM and GA-SVM in terms of ACC, MCC, Sensitivity, and Specificity 為了描述所提出的IBFO算法的收斂性,本文在實驗中也記錄了各種模型獲得的準確率隨著種群迭代發生的變化趨勢,見圖3。從圖3中可以發現IBFO-SVM模型在訓練的過程中可以快速地收斂到最佳精度,說明IBFO算法具有較強的全局搜索能力,可以避免算法過早地陷入局部最優。其中主要的原因在于反向學習策略起到了調節種群多樣性的作用,進而加快整個種群收斂到最優解。原始BFO-SVM模型在訓練的過程中過早收斂導致無法獲得更高的精度。GA算法的搜索能力最弱,導致GA-SVM模型獲得最差的精度。 圖3 IBFO-SVM,BFO-SVM,PSO-SVM和GA-SVM獲得的適應度跟迭代次數之間的關系Fig.3 Relationship between the iteration and fitness of IBFO-SVM, BFO-SVM, PSO-SVM and GA-SVM 本文提出了一種基于反向細菌優化算法的支持向量機模型對社區矯正人員的心理狀況進行輔助診斷。本文的主要創新點在于提出基于反向學習的細菌優化算法,基于該方法SVM可以獲得更優的參數,進而獲得更高的預測性能。實驗結果表明,在心理評測數據集上,本文提出的IBFO-SVM模型與其他三種先進的SVM模型相比,在分類準確率、馬修斯相關系數、靈敏度和特異性方面均具有更好的性能。因此,本文提出的智能預警模型可以提前為社區矯正人員發生軀體化障礙的嚴重程度發出預警,進而為防止該類人員發生軀體化障礙提供輔助作用。 參考文獻: [1] 劉怡桐. 大學生五態人格和心理健康的相關性研究[D].北京:北京中醫藥大學,2011. Liu Yi-tong. Correlation study between five-pattern personality and mental health of college Students[D]. Beijing University of Chinese Medicine, 2011. [2] 時松和,馮邵珍,張智民,等.南水北調中老年移民心理干預效果分析[J].現代預防醫學,2016,43(6):1051-1056. Shi Song-he,Feng Shao-zhen,Zhang Zhi-min, et al. Analysis of the effect of psychological intervention among middle-aged and elderly immigrants in South-to-North Water Transfer Project[J]. Modern Preventive Medicine, 2016, 43(6):1051-1056. [3] Boser B E, Guyon I M, Vapnik V N. A training algorithm for optimal margin classifiers[C]∥Proceedings of the fifth annual workshop on Computational learning theory,ACM, 1992: 144-152. [4] Vapnik V N. The nature of statistical learning theory[M]. New York: Springer, 2000: 138-167. [5] Aslahi-Shahri B M, et al. A hybrid method consisting of GA and SVM for intrusion detection system[J]. Neural Computing and Applications,2016,27(6): 1669-1676. [6] Chen P, Yuan L, He Y, et al. An improved SVM classifier based on double chains quantum genetic algorithm and its application in analogue circuit diagnosis[J]. Neurocomputing, 2016, 211:202-211. [7] Shahdoosti H R, Hazavei S M. Combined ripplet and total variation image denoising methods using twin support vector machines[J].Multimedia Tools & Applications, 2017 (12) :1-19. [8] Chen H L, Yang B, Liu J, et al. A support vector machine classifier with rough set-based feature selection for breast cancer diagnosis[J]. Expert Systems with Applications, 2011, 38(7): 9014-9022. [9] übeyli E D.Comparison of different classification algorithms in clinical decision-making[J]. Expert Systems, 2010, 24(1):17-31 [10] Chen H L, Yang B, Wang G, et al. A three-stage expert system based on support vector machines for thyroid disease diagnosis[J]. Journal of Medical Systems, 2012, 36(3):1953-1963. [11] Chen H L, Bo Y, Gang W, et al. Support vector machine based diagnostic system for breast cancer using swarm intelligence[J]. Journal of Medical Systems, 2012, 36(4):2505-2519. [12] Li M, Chen W, Zhang T. Automatic epilepsy detection using wavelet-based nonlinear analysis and optimized SVM[J]. Biocybernetics & Biomedical Engineering, 2016, 36(4): 708-718. [13] Ye F. Evolving the SVM model based on a hybrid method using swarm optimization techniques in combination with a genetic algorithm for medical diagnosis[J]. Multimedia Tools & Applications, 2016:1-30. [14] Keerthi S, Lin C.Asymptotic behaviors of support vector machines with Gaussian kernel[J]. Neural Computation, 2003,15(7):1667-1689. [15] Chang C C, Lin C J. LIBSVM: a library for support vector machines[M].ACM, 2011. [16] Gold C, Sollich P.Model selection for support vector machine classification[J]. Neurocomputing, 2003,55(1/2): 221-249. [17] Keerthi S.Efficient tuning of SVM hyperparameters using radius/margin bound and iterative algorithms[J]. IEEE Transactions on Neural Networks, 2002,13(5):1225-1229. [18] Chapelle O.Choosing multiple parameters for support vector machines[J].Machine Learning, 2002,46(1): 131-159. [19] Huang C L,Wang C J.A GA-based feature selection and parameters optimizationfor support vector machines[J]. Expert Systems with Applications, 2006: 31(2): 231-240. [20] Chen H L, Yang B, Wang S J, et al. Towards an optimal support vector machine classifier using a parallel particle swarm optimization strategy[J]. Applied Mathematics & Computation, 2014, 239(8):180-197. [21] Passino K M.Biomimicry of bacterial foraging for distributed optimization and control[J]. IEEE Control Systems Magazine, 2002,22(3): 52-67.2 實驗設計
2.1 數據描述
2.2 實驗設置
2.3 性能評估
3 實驗結果與分析
4 結束語