楊華民, 于 志, 底曉強(qiáng), 梁鐘予, 張興旭
(長春理工大學(xué) a. 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院; b. 吉林省網(wǎng)絡(luò)與信息安全重點(diǎn)實(shí)驗(yàn)室; c. 信息化中心, 長春 130012)
近年來, 大學(xué)生的心理健康得到了社會(huì)各界的普遍關(guān)注。然而, 大部分學(xué)生對心理障礙的認(rèn)識較為模糊, 主動(dòng)就診率較低且存在部分學(xué)生隨意填寫心理調(diào)查問卷, 導(dǎo)致心理調(diào)查問卷不能如實(shí)反映學(xué)生的心理健康狀態(tài)[1]。因此如何高效準(zhǔn)確地發(fā)現(xiàn)存在心理健康問題的學(xué)生并進(jìn)行及時(shí)干預(yù)與疏導(dǎo)是非常必要的。隨著高校信息化的發(fā)展, 學(xué)生在校內(nèi)的行為逐漸被數(shù)據(jù)化, 保存在數(shù)據(jù)庫中, 這為排查有心理健康問題的學(xué)生提供了數(shù)據(jù)基礎(chǔ)?;谛@大數(shù)據(jù)的學(xué)生心理健康預(yù)測可避免傳統(tǒng)方法的抽樣誤差、 環(huán)境約束導(dǎo)致的數(shù)據(jù)采集偏差等問題, 還可大幅提高效率, 降低成本, 并從多維度、 多視角展現(xiàn)學(xué)生的行為屬性與個(gè)性特征, 實(shí)現(xiàn)評價(jià)的公正性、 效率性以及真實(shí)性。
筆者利用某校學(xué)生日常行為數(shù)據(jù)以及學(xué)生開學(xué)一個(gè)月后測評的《大學(xué)生人格問卷UPI》(以下簡稱問卷)結(jié)果數(shù)據(jù), 分析學(xué)生日常行為與心理健康狀態(tài)的關(guān)系, 其中學(xué)生日常行為數(shù)據(jù)包括學(xué)生消費(fèi)和上網(wǎng)數(shù)據(jù), 提取時(shí)間范圍為學(xué)生開學(xué)至學(xué)生進(jìn)行心理測評期間, 學(xué)生心理測評問卷結(jié)果數(shù)據(jù)包括心理狀態(tài)正常和異常兩種結(jié)果。
目前有關(guān)心理健康的研究主要關(guān)注兩個(gè)方面, 一個(gè)是心理問題的文本分析與治療, 另一個(gè)是關(guān)注心理健康的影響因素分析及預(yù)測。針對第1方面的研究, Chen等[2]收集了精神分裂癥群體、 抑郁癥群體以及心理健康群體等299人的語音數(shù)據(jù), 并基于該數(shù)據(jù)集提出了一種基于嵌入式混合特征堆疊稀疏自編碼器集成的心理健康語音識別算法, 實(shí)驗(yàn)結(jié)果表明該算法可根據(jù)患者語音準(zhǔn)確地對不同心理狀態(tài)的群體進(jìn)行分類; Ahmed等[3]基于心理患者的文本描述提出了一種基于可解釋注意力網(wǎng)絡(luò)的深度自適應(yīng)聚類模型, 實(shí)驗(yàn)結(jié)果表明該方法有助于標(biāo)記文本并提高對精神障礙癥狀的識別率; Li[4]基于人工智能在線技術(shù)設(shè)計(jì)了心理健康教育系統(tǒng), 可方便快捷地根據(jù)心理患者的文本描述信息查詢?nèi)粘P睦韱栴}, 并且提供智能在線心理咨詢, 以幫助患者克服心理問題。
針對第2方面的研究, Chen等[5]基于認(rèn)知計(jì)算, 結(jié)合來自中國和美國不同地區(qū)學(xué)生的癥狀自評估量表(SCL_90), 社會(huì)評級規(guī)模和健康認(rèn)知問卷(HCQ-127)測試數(shù)據(jù)分析心理健康的影響因素, 研究表明發(fā)達(dá)地區(qū)的學(xué)生更容易產(chǎn)生心理問題。Zhou[6]采用1 264名中國貴州大學(xué)新生的癥狀自評估量表(SCL_90)數(shù)據(jù), 使用決策樹C4.5算法對大學(xué)新生心理健康狀況進(jìn)行分類, 分類結(jié)果表明, 軀體化和敵意是影響學(xué)生心理健康的重要因素。Liu等[7]基于學(xué)生心理、 個(gè)人基本信息和社會(huì)經(jīng)濟(jì)等數(shù)據(jù)應(yīng)用BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)預(yù)測學(xué)生的心理問題, 實(shí)驗(yàn)結(jié)果表明該方法的預(yù)測精度較高, 可有效預(yù)測學(xué)生的心理問題。
然而, 這些研究都未考慮行為與心理健康的關(guān)系。但校園大數(shù)據(jù)為心理學(xué)研究提供了新的契機(jī), 隨著高校信息化的建設(shè)發(fā)展, 學(xué)生的日常行為數(shù)據(jù)都以記錄的形式逐條保存在學(xué)校信息化部門的數(shù)據(jù)庫中, 基于這些日常行為數(shù)據(jù), 并利用相關(guān)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法, 可以實(shí)現(xiàn)心理學(xué)的預(yù)測和干預(yù)。筆者基于學(xué)生行為和學(xué)生心理測評結(jié)果數(shù)據(jù), 首先使用自定義公式法進(jìn)行相關(guān)學(xué)生行為特征提取, 然后應(yīng)用Jenks Natural Breaks算法對所提取的特征數(shù)據(jù)進(jìn)行標(biāo)簽化, 并應(yīng)用Apriori算法分析學(xué)生行為特征與學(xué)生心理健康狀態(tài)的關(guān)系, 最后基于特征分析結(jié)果利用所提出的PDNN(Particle Difference Neural Network)神經(jīng)網(wǎng)絡(luò)模型預(yù)測學(xué)生的心理健康狀態(tài)。
筆者使用學(xué)生一卡通中的消費(fèi)數(shù)據(jù)、 網(wǎng)管系統(tǒng)中的上網(wǎng)數(shù)據(jù)等學(xué)生日常行為數(shù)據(jù)進(jìn)行研究。其中消費(fèi)數(shù)據(jù)包括學(xué)號、 商家賬戶、 消費(fèi)時(shí)間、 消費(fèi)地點(diǎn)、 賬戶余額以及消費(fèi)金額等信息; 上網(wǎng)數(shù)據(jù)包括學(xué)號、 登錄和登出時(shí)間、 總流量以及上網(wǎng)時(shí)長等信息。所用的學(xué)生行為數(shù)據(jù)集的基本統(tǒng)計(jì)信息如表1所示。
表1 學(xué)生行為數(shù)據(jù)集的基本統(tǒng)計(jì)信息
1.1.1 學(xué)生消費(fèi)特征提取
消費(fèi)行為是學(xué)生日常行為的重要組成部分, 學(xué)生的心理健康狀態(tài)可能會(huì)影響其在校的消費(fèi)行為[8], 因此筆者對學(xué)生的消費(fèi)數(shù)據(jù)進(jìn)行特征提取以探究其與學(xué)生心理健康狀態(tài)的關(guān)系。
1) 飲食規(guī)律性。在探究飲食規(guī)律性時(shí), 將每日3餐按30 min的間隔劃分時(shí)間區(qū)間, 統(tǒng)計(jì)學(xué)生在每個(gè)時(shí)間區(qū)間內(nèi)的消費(fèi)次數(shù), 利用信息熵的計(jì)算公式, 得到學(xué)生的飲食規(guī)律性。每日3餐開放和關(guān)閉時(shí)間經(jīng)詢問食堂窗口相關(guān)人員, 劃分結(jié)果如表2所示。
表2 3餐的時(shí)間區(qū)間劃分
學(xué)生飲食規(guī)律性計(jì)算公式為
(1)
其中D為學(xué)生在食堂進(jìn)餐使用校園卡付款的天數(shù),Td為統(tǒng)計(jì)的總天數(shù),pi為學(xué)生在各個(gè)時(shí)間區(qū)間的消費(fèi)頻率,n為所劃分的時(shí)間區(qū)間數(shù)量。
2) 勤奮性。筆者將學(xué)生每天第1次校園卡消費(fèi)記錄作為他們的第1項(xiàng)日?;顒?dòng)。由于食堂的用餐消費(fèi)占所有消費(fèi)記錄的絕大部分, 因此計(jì)算了每個(gè)學(xué)生每天第1次用餐刷卡的時(shí)間, 然后將其作為衡量學(xué)生勤奮水平的標(biāo)準(zhǔn)。從而改變原始日期時(shí)間格式將其轉(zhuǎn)換為Unix時(shí)間戳。因此, 學(xué)生勤奮性SDG的計(jì)算方法為
(2)
其中T為學(xué)生刷卡消費(fèi)的總天數(shù),tj為學(xué)生在第j天第1次用餐刷卡的時(shí)間。
3) 共餐人數(shù)。假設(shè)如果兩名同學(xué)在同一班級, 吃飯時(shí)在同一樓層食堂窗口刷卡消費(fèi)且刷卡間隔時(shí)間小于120 s, 則視為在一起吃飯。筆者統(tǒng)計(jì)了每個(gè)學(xué)院在各校區(qū)每個(gè)食堂窗口的學(xué)生共餐人數(shù)情況, 為防止部分同學(xué)通過手機(jī)支付、 定外賣或去外面吃飯對實(shí)驗(yàn)結(jié)果造成的影響, 將一個(gè)月內(nèi)在食堂刷卡消費(fèi)次數(shù)低于30條記錄的同學(xué)移除, 之后將每個(gè)食堂窗口得到的統(tǒng)計(jì)結(jié)果根據(jù)學(xué)生學(xué)號對應(yīng)相加, 進(jìn)而得到最終的結(jié)果。其中在一個(gè)食堂窗口所有學(xué)生與其同班同學(xué)一起進(jìn)餐的人數(shù)統(tǒng)計(jì)流程如下。
算法1 學(xué)生共餐人數(shù)計(jì)算流程。
輸入: 學(xué)生消費(fèi)數(shù)據(jù)集C, 食堂窗口編號N和與N對應(yīng)的該層的食堂窗口編號列表Nlist。
輸出: 所有學(xué)生與其同班同學(xué)在該食堂窗口一起進(jìn)餐的人數(shù)列表。
1) 根據(jù)學(xué)生消費(fèi)數(shù)據(jù)集C獲取班級列表major_class;
2) 循環(huán)遍歷班級列表獲取一個(gè)班級的同學(xué)stu_major, 并根據(jù)消費(fèi)日期得到該班同學(xué)的消費(fèi)月份month;
3) 循環(huán)遍歷month列表, 獲取該班學(xué)生在某個(gè)月份的消費(fèi)記錄stu_month;
4) 循環(huán)遍歷stu_month獲取一個(gè)學(xué)生在當(dāng)前月份的消費(fèi)記錄stu_one;
5) 判斷stu_one長度是否大于等于30, 如果大于等于30, 循環(huán)遍歷stu_one, 得到食堂窗口編號等于N的消費(fèi)數(shù)據(jù), 轉(zhuǎn)換其消費(fèi)時(shí)間為Unix時(shí)間戳, 存入timestmp_1列表;
6) 獲取除了該生以外的該班其他學(xué)生在與食堂窗口N所對應(yīng)的該層食堂窗口Nlist的消費(fèi)數(shù)據(jù)集, 將所獲取到的消費(fèi)數(shù)據(jù)集中的時(shí)間轉(zhuǎn)化為戳列表timestmp_2;
7) 循環(huán)遍歷timestmp_1列表和timestmp_2列表, 如果timestmp_1中的時(shí)間戳與timestmp_2中的時(shí)間戳相差小于等于120, 則計(jì)數(shù)器count加1;
8) 將count存入學(xué)生與其同班同學(xué)在食堂窗口N一起進(jìn)餐的人數(shù)列表consume_num, 并將count置0, 轉(zhuǎn)至步驟3), 直至所有循環(huán)執(zhí)行完成。
1.1.2 學(xué)生上網(wǎng)特征提取
研究表明, 學(xué)生的心理健康狀態(tài)與網(wǎng)絡(luò)成癮水平具有一定的相關(guān)性[9], 因此提取學(xué)生上網(wǎng)的相關(guān)特征以探究學(xué)生心理健康狀態(tài)與其上網(wǎng)習(xí)慣的關(guān)系。
1) 工作日及周末平均上網(wǎng)時(shí)長??紤]到學(xué)生在工作日和周末的上網(wǎng)習(xí)慣不同, 因此將工作日和周末區(qū)分開提取學(xué)生的上網(wǎng)特征。學(xué)生每次的上網(wǎng)時(shí)長可由學(xué)生上網(wǎng)記錄數(shù)據(jù)集獲得, 學(xué)生工作日或周末平均上網(wǎng)時(shí)長
(3)
其中T為學(xué)生在工作日或者周末上網(wǎng)次數(shù),Ii為學(xué)生每次上網(wǎng)花費(fèi)時(shí)間,Td為統(tǒng)計(jì)天數(shù)。
2) 工作日及周末平均上網(wǎng)最晚下線時(shí)間。學(xué)生工作日或周末平均上網(wǎng)最晚下線時(shí)間指學(xué)生在工作日或周末最后一次登出校園網(wǎng)系統(tǒng)的時(shí)間平均值, 如果該日學(xué)生零點(diǎn)之前還未下線則將第2天最早下線時(shí)間作為當(dāng)天最晚下線時(shí)間。將學(xué)生登出校園網(wǎng)的時(shí)間轉(zhuǎn)換為Unix時(shí)間戳的形式, 學(xué)生工作日或周末平均上網(wǎng)最晚下線時(shí)間
(4)
其中M為統(tǒng)計(jì)天數(shù),Li為學(xué)生在工作日或周末每天最后一次登出校園網(wǎng)系統(tǒng)的Unix時(shí)間戳。
3) 工作日及周末日均使用流量數(shù)。學(xué)生工作日或周末日均使用的流量數(shù)的計(jì)算公式為
(5)
其流量單位為MByte。其中n為使用流量的總次數(shù),Fi為每次使用流量所消耗的流量數(shù),d為使用校園網(wǎng)流量的天數(shù)。
為探究心理健康與心理異常學(xué)生群體在相關(guān)行為上的差異, 首先應(yīng)用Jenks Natural Breaks算法對上述提取的特征數(shù)據(jù)進(jìn)行標(biāo)簽化。Jenks Natural Breaks 算法又稱為自然間斷點(diǎn)分級法, 核心思想與聚類一樣: 使每組內(nèi)部的相似性最大, 而外部組與組之間的相異性最大[10], 然后應(yīng)用Apriori算法分別挖掘心理健康和心理異常學(xué)生群體的行為特征標(biāo)簽化數(shù)據(jù)集, 并設(shè)置最小支持度閾值為0.5, 最小置信度閾值為0.5, 所得強(qiáng)關(guān)聯(lián)規(guī)則如表3所示。
表3 Apriori算法產(chǎn)生的強(qiáng)關(guān)聯(lián)規(guī)則
由表3可知, 心理異常學(xué)生群體通常呈現(xiàn)飲食較不規(guī)律、 較不勤奮、 共餐人數(shù)較少、 上網(wǎng)時(shí)長較長且使用流量數(shù)較多、 工作日上網(wǎng)下線時(shí)間較晚的特點(diǎn); 而心理正常學(xué)生群體通常呈現(xiàn)飲食較為規(guī)律、 較為勤奮的特點(diǎn)。
BP神經(jīng)網(wǎng)絡(luò)的性能很大程度上取決于BP神經(jīng)網(wǎng)絡(luò)的層間權(quán)重, 如果初始化層間權(quán)重出現(xiàn)偏差, 網(wǎng)絡(luò)則會(huì)出現(xiàn)易陷入局部極小值以及收斂速度慢等問題。因此, 為解決神經(jīng)網(wǎng)絡(luò)層間權(quán)重選取不精準(zhǔn)的問題, 筆者基于改進(jìn)的粒子群優(yōu)化算法, 構(gòu)建了PDNN(Particle Difference Neural Network)神經(jīng)網(wǎng)絡(luò)模型, 以此動(dòng)態(tài)選取BP神經(jīng)網(wǎng)絡(luò)的層間權(quán)重, 進(jìn)而根據(jù)學(xué)生行為實(shí)現(xiàn)對學(xué)生心理健康狀態(tài)的預(yù)測。以兩層隱藏層, 每層結(jié)點(diǎn)數(shù)都為5的BPNN(Back Propagation Neural Network)模型為例, 給出PDNN模型的總體結(jié)構(gòu)如圖1所示。其中w1、w2和w3為輸入層與隱藏層1、 隱藏層1與隱藏層2、 隱藏層2與輸出層之間的權(quán)值矩陣, 該權(quán)值矩陣應(yīng)用改進(jìn)的粒子群優(yōu)化算法動(dòng)態(tài)獲取。對應(yīng)于圖1中PDNN模型的每個(gè)粒子構(gòu)造如圖2所示。
圖1 PDNN模型結(jié)構(gòu) 圖2 粒子基本結(jié)構(gòu) Fig.1 PDNN model structure Fig.2 Basic structure of particles
粒子群優(yōu)化(PSO: Particle Swarm Optimization)算法源于人類對鳥類捕食行為的研究[11], 該算法基于從環(huán)境中獲得的適應(yīng)度信息, 通過粒子群迭代尋找問題的最優(yōu)解, 粒子在迭代過程中利用局部最優(yōu)解與全局最優(yōu)解調(diào)整迭代速度與粒子位置, 以更新粒子群[12]。目前粒子群優(yōu)化算法已被廣泛應(yīng)用于求解如路徑規(guī)劃、 優(yōu)化調(diào)度、 參數(shù)辨識、 圖像分割等實(shí)際優(yōu)化問題[13]。
假設(shè)一組粒子在d維搜索空間中以一定的速度飛行, 則粒子i的當(dāng)前位置為Xi=(xi1,xi2,…,xid), 當(dāng)前速度為Vi=(vi1,vi2,…,vid)。粒子i所經(jīng)歷過的最優(yōu)位置為Pi_best=(Pi_best1,Pi_best2,…,Pi_bestd), 整個(gè)粒子群搜索到的最優(yōu)位置為Gbest=(Gbest1,Gbest2,…,Gbestd)。因此粒子i的速度與位置更新公式為
(6)
(7)
其中w為慣性權(quán)重,Vi為當(dāng)前粒子速度,c1為認(rèn)知系數(shù),c2為社會(huì)系數(shù),r1和r2均為[0,1]之間的隨機(jī)數(shù),t為當(dāng)前迭代次數(shù)。
2.2.1 慣性權(quán)重的改進(jìn)
在粒子進(jìn)行搜索過程中, 較大的慣性權(quán)重有利于對整個(gè)搜索空間進(jìn)行探索, 并增加群體多樣性, 而較小的慣性權(quán)重則會(huì)提升種群的局部開發(fā)能力。因此, 慣性權(quán)重是平衡粒子群局部搜索和全局搜索的關(guān)鍵因素, 慣性權(quán)重的選取對算法的優(yōu)化效果具有一定的影響[14]。筆者結(jié)合慣性權(quán)重線性遞減和慣性權(quán)重非線性遞減方法[15], 提出了動(dòng)態(tài)慣性權(quán)重, 其公式為
(8)
其中wmax為慣性權(quán)重的最大值,wmin為慣性權(quán)重的最小值,t為當(dāng)前迭代次數(shù),T為最大迭代次數(shù), rand為產(chǎn)生隨機(jī)數(shù)函數(shù)。
圖3給出了線性慣性權(quán)重、 非線性慣性權(quán)重以及動(dòng)態(tài)慣性權(quán)重隨迭代次數(shù)的變化圖像, 其中線性慣性權(quán)重和非線性慣性權(quán)重的公式為
(9)
(10)
圖3 不同的慣性權(quán)重對比Fig.3 Comparison of different inertia weights
如圖3所示, 對線性慣性權(quán)重, 當(dāng)開始迭代時(shí), 線性慣性權(quán)重值較大, 粒子的速度也較大, 此時(shí)粒子具有較好的全局搜索能力。隨著迭代次數(shù)的增加, 線性慣性權(quán)重的值越來越小, 粒子的速度也越來越小, 此時(shí)粒子具有較好的局部搜索能力, 但由于斜率恒定, 所以速度的改變總是相同的。如果迭代初期沒有產(chǎn)生較好的初始值, 則隨著迭代次數(shù)的增加以及速度的迅速衰減最后很可能導(dǎo)致粒子陷入局部最優(yōu)解。對非線性慣性權(quán)重, 雖然其斜率相比于線性慣性權(quán)重下降較慢且斜率不斷改變。但隨著迭代次數(shù)的增加, 其慣性權(quán)重始終維持在一個(gè)較高水平, 不利于粒子的局部搜索。雖然在迭代后期慣性權(quán)重有所降低, 但仍難以找到全局最優(yōu)解。對動(dòng)態(tài)慣性權(quán)重, 在迭代初期, 慣性權(quán)重取得較大的值并隨著迭代次數(shù)的增加逐漸下降, 有利于粒子對整個(gè)搜索空間進(jìn)行探索。在迭代后期, 慣性權(quán)重快速減小, 有利于增強(qiáng)粒子的局部搜索能力。此外, 動(dòng)態(tài)慣性權(quán)重隨著迭代次數(shù)的增加不斷發(fā)生改變, 可有效避免線性慣性權(quán)重或非線性慣性權(quán)重隨著迭代次數(shù)增加容易陷入局部最優(yōu)解或難以找到全局最優(yōu)解的情況。綜上所述, 筆者提出的動(dòng)態(tài)慣性權(quán)重可以平衡粒子的全局搜索與局部搜索, 并且其權(quán)重隨著迭代次數(shù)的增加而交替改變, 滿足粒子在搜索過程中的復(fù)雜性以及快速收斂性。
2.2.2 劣勢粒子的識別
劣勢粒子是造成整個(gè)粒子群無法獲取全局最優(yōu)解的主要原因, 識別劣勢粒子并對劣勢粒子進(jìn)行處理使其跳出局部最優(yōu)解, 可以有效優(yōu)化種群的尋優(yōu)。結(jié)合全局最優(yōu)粒子位置和個(gè)體歷史最優(yōu)粒子位置, 引入pinf參數(shù)對劣勢粒子進(jìn)行識別,pinf的定義為
(11)
其中ba(i)為粒子a在第i次迭代下的歷史最優(yōu)位置,g(i)為粒子群在第i次迭代下的全局最優(yōu)位置,f為適應(yīng)度函數(shù)。如果pinf<10-4, 則表示該粒子陷入了局部最優(yōu)解, 識別其為劣勢粒子; 如果pinf>104, 則表示全局最優(yōu)解暫無更新, 若pinf=NAN, 則表示整個(gè)種群陷入了局部最優(yōu)解, 對以上兩種情況, 則識別整個(gè)種群的粒子為劣勢粒子, 對整個(gè)種群的粒子進(jìn)行變異處理。
2.2.3 劣勢粒子的變異
受差分進(jìn)化算法[16]的思想啟發(fā), 對識別出的劣勢粒子進(jìn)行變異。粒子的變異公式為
XVi,g=Xr1,g+F(Xr2,g-Xr3,g)
(12)
在粒子變異過程中, 隨機(jī)選取當(dāng)前迭代次數(shù)下的3個(gè)不同的粒子, 通過變異公式, 得到新的變異粒子, 以幫助劣勢粒子跳出局部最優(yōu)解, 繼續(xù)尋優(yōu)。其中Xr1,g、Xr2,g和Xr3,g為當(dāng)前迭代次數(shù)下的3個(gè)隨機(jī)粒子,F為變異率。
2.2.4 粒子的選擇
在對劣勢粒子進(jìn)行變異后, 計(jì)算原粒子和變異后粒子的適應(yīng)度函數(shù)值, 如果變異后的粒子的適應(yīng)度函數(shù)值小于原粒子的適應(yīng)度函數(shù)值, 則將變異后的粒子放入到下一代粒子種群中。否則將原粒子放入到下一代粒子種群中, 并更新粒子的個(gè)體歷史最優(yōu)值和最優(yōu)位置, 粒子群的全局最優(yōu)值和最優(yōu)位置。
2.2.5 螢火蟲擾動(dòng)策略
受螢火蟲算法[17]啟發(fā), 假設(shè)全局最優(yōu)解為最亮的螢火蟲, 其他的粒子為較暗的螢火蟲, 根據(jù)螢火蟲算法思想, 較暗的螢火蟲會(huì)朝著較亮的螢火蟲移動(dòng)。因此整個(gè)螢火蟲種群都會(huì)朝著最亮的螢火蟲移動(dòng), 使粒子群逐漸向全局最優(yōu)解方向靠攏。而全局最優(yōu)解根據(jù)劣勢粒子的識別變異以及選擇策略不斷更新優(yōu)化, 進(jìn)而使整個(gè)粒子群向優(yōu)化問題的最終全局最優(yōu)解收斂, 加速粒子尋優(yōu)。其粒子群位置更新如下
(13)
(14)
該模型的構(gòu)建過程如下。
1) 根據(jù)數(shù)據(jù)集的特征數(shù)目確定神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 搭建神經(jīng)網(wǎng)絡(luò)模型。
2) 初始化改進(jìn)的粒子群優(yōu)化算法的最大迭代次數(shù)max_iter、 當(dāng)前迭代次數(shù)i=1、 粒子變異率F、 粒子總數(shù)和粒子結(jié)構(gòu),并設(shè)定粒子速度范圍和位置范圍。
3) 初始化粒子的歷史最優(yōu)位置, 應(yīng)用BP神經(jīng)網(wǎng)絡(luò)的損失函數(shù)作為適應(yīng)度函數(shù)初始化粒子歷史最優(yōu)值, 利用粒子群的最小歷史最優(yōu)值初始化粒子的全局最優(yōu)值, 使用粒子群的最小歷史最優(yōu)值對應(yīng)的粒子位置初始化粒子群的全局最優(yōu)位置。
4) 根據(jù)式(11)識別劣勢粒子, 如果滿足pinf>104、pinf<10-4或pinf=NAN條件則根據(jù)式(12)對劣勢粒子進(jìn)行變異處理, 幫助其擺脫劣勢, 繼續(xù)尋優(yōu)。
5) 根據(jù)式(6)~式(8)更新粒子速度與位置。
6) 根據(jù)適應(yīng)度函數(shù)值對原粒子和變異后的粒子進(jìn)行選擇。
7) 根據(jù)式(13)和式(14)加速粒子群向全局最優(yōu)解收斂。
8) 更新粒子歷史最優(yōu)值與歷史最優(yōu)位置、 更新粒子全局最優(yōu)值和全局最優(yōu)位置, 迭代次數(shù)i=i+1。
9) 若i≥max_iter, 則轉(zhuǎn)至步驟10); 否則, 轉(zhuǎn)至步驟4)。
10) 得到全局最優(yōu)位置, 封裝BP神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣, 應(yīng)用該權(quán)值訓(xùn)練BP神經(jīng)網(wǎng)絡(luò), PDNN模型構(gòu)建完成。
筆者選取特征關(guān)聯(lián)分析得到的強(qiáng)關(guān)聯(lián)規(guī)則特征數(shù)據(jù)進(jìn)行實(shí)驗(yàn), 選擇70%的數(shù)據(jù)用于訓(xùn)練模型, 30%的數(shù)據(jù)用于測試模型, 實(shí)驗(yàn)評價(jià)指標(biāo)采用加權(quán)平均, 權(quán)重為每個(gè)類別樣本數(shù)量在總樣本中的占比。在改進(jìn)的粒子群優(yōu)化算法中設(shè)置粒子數(shù)量為5, 粒子群的最大迭代次數(shù)max_iter設(shè)為50, 慣性權(quán)重的最大值為0.9、 最小值為0.4, 粒子的變異率為0.6, 基于Eberhart的理論[18], 將認(rèn)知系數(shù)c1和社會(huì)系數(shù)c2設(shè)為區(qū)間[1.494 45, 2]中的隨機(jī)數(shù), 粒子的速度范圍設(shè)為-3≤v≤3, 粒子的位置范圍設(shè)為-1≤p≤1, 粒子速度和位置的初始值均為[0,1]區(qū)間內(nèi)的隨機(jī)數(shù)。為避免不同特征數(shù)據(jù)的數(shù)據(jù)范圍不一致對模型性能的影響, 在實(shí)驗(yàn)前需要對特征數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化, 選取最大最小標(biāo)準(zhǔn)化方法對特征數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化, 使每個(gè)特征數(shù)據(jù)的范圍均落在[0,1]區(qū)間內(nèi)。最大最小標(biāo)準(zhǔn)化方法為
(15)
實(shí)驗(yàn)評測指標(biāo)采用準(zhǔn)確率(a)、 精確率(p)、 召回率(r)以及F1分?jǐn)?shù)(F1), 其表達(dá)式為
(16)
(17)
(18)
(19)
其中TP為預(yù)測值為正, 實(shí)際值也為正的樣本數(shù)量;FP為預(yù)測值為正, 實(shí)際值為負(fù)的樣本數(shù)量;FN為預(yù)測值為負(fù), 實(shí)際值為正的樣本數(shù)量;TN為預(yù)測值為負(fù), 實(shí)際值也為負(fù)的樣本數(shù)量。
為避免模型對數(shù)據(jù)集劃分的依賴性, 每次實(shí)驗(yàn)選擇不同的測試集和訓(xùn)練集。具體過程, 將數(shù)據(jù)集按從前到后的順序平均劃分為10份, 假設(shè)每份的標(biāo)號分別為1、2、3、…、9、10, 則第1次實(shí)驗(yàn)將選取1~7份作為訓(xùn)練集, 其余作為測試集。第2次實(shí)驗(yàn)將選取2~8份作為訓(xùn)練集, 其余作為測試集。以此類推, 直到取完第10次劃分為止, 然后取每個(gè)評價(jià)指標(biāo)的平均值。實(shí)驗(yàn)選用的對比模型為: Nave Bayes、 SVM(Support Vector Machines)、 邏輯回歸(LR: Logistic Regression)、 BPNN(Back Propagation Neural Network), 各模型的實(shí)驗(yàn)結(jié)果如表4所示。
表4 各模型實(shí)驗(yàn)結(jié)果
如表4所示, 筆者提出的PDNN模型在4個(gè)評價(jià)指標(biāo)中均取得了最優(yōu)結(jié)果, 并且其預(yù)測學(xué)生心理健康狀態(tài)的準(zhǔn)確率為86%、 F1分?jǐn)?shù)為0.86, 而LR模型的效果最差, 其準(zhǔn)確率為82%, F1分?jǐn)?shù)為0.82。
此外, 在模型訓(xùn)練過程中筆者還對比了GA-BPNN(Genetic Algorithm Back Propagation Neural Network)、 IPSONN(Improved Particle Swarm Optimization Neural Network)、 ABC-BPNN(Artificial Bee Colony Back Propagation Neural Network)、 BPNN和PDNN模型隨著迭代次數(shù)的增加損失函數(shù)值的變化。如圖4所示, 從圖4中可以發(fā)現(xiàn), 在模型訓(xùn)練過程中BP神經(jīng)網(wǎng)絡(luò)的損失函數(shù)值大于其他模型, 因?yàn)橹悄芩惴ㄒ迅鶕?jù)BP神經(jīng)網(wǎng)絡(luò)的損失函數(shù)值對其進(jìn)行尋優(yōu), 將尋優(yōu)得到的權(quán)值賦給BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練, 因此經(jīng)過智能算法優(yōu)化得到的損失函數(shù)值小于按BP神經(jīng)網(wǎng)絡(luò)權(quán)重初始值得到的損失函數(shù)值。同時(shí), 從圖4中還可以發(fā)現(xiàn), 在模型訓(xùn)練過程中筆者提出的PDNN模型相比于其他模型其損失函數(shù)值一直保持最低的狀態(tài), 說明提出的改進(jìn)粒子群優(yōu)化算法得到的BP神經(jīng)網(wǎng)絡(luò)的層間權(quán)重可以較好擬合數(shù)據(jù), 表明該模型學(xué)習(xí)能力和泛化能力較強(qiáng), 可快速收斂并保持著較優(yōu)的結(jié)果。最后, 基于上述對數(shù)據(jù)集的劃分方法, 筆者還對比了GA-BPNN、IPSONN、ABC-BPNN、PDNN模型在各評價(jià)指標(biāo)上的實(shí)驗(yàn)結(jié)果, 如圖5所示。從圖5中可以發(fā)現(xiàn), 筆者提出的PDNN模型相較于其他智能算法優(yōu)化后的神經(jīng)網(wǎng)絡(luò)模型, 其效果仍是最優(yōu)的, 在accuracy、precision、recall以及F1-score等4個(gè)評價(jià)指標(biāo)上均取得了最優(yōu)的結(jié)果, 其值分別為86%、87%、86%和0.86, 表明PDNN模型可以根據(jù)學(xué)生的日常行為更加有效地預(yù)測學(xué)生的心理健康狀態(tài), 以幫助學(xué)校及時(shí)發(fā)現(xiàn)有心理問題的學(xué)生, 并進(jìn)行相關(guān)的干預(yù)與疏導(dǎo), 使其重新回到正常的生活和學(xué)習(xí), 具有一定的現(xiàn)實(shí)意義。
圖4 各模型隨著迭代次數(shù)增加損失函數(shù)值的變化圖像 圖5 各智能優(yōu)化算法的模型實(shí)驗(yàn)結(jié)果對比 Fig.4 Change image of loss function value of each model with the increase of iteration times Fig.5 Comparison of model experiment results of various intelligent optimization algorithms
筆者基于學(xué)生的日常行為數(shù)據(jù)預(yù)測學(xué)生的心理健康狀態(tài)。首先, 應(yīng)用自定義公式法進(jìn)行相關(guān)特征提取; 然后應(yīng)用Jenks Natural Breaks算法和Apriori算法進(jìn)行特征分類和挖掘, 特征關(guān)聯(lián)分析結(jié)果表明, 學(xué)生飲食規(guī)律性、 勤奮性、 共餐人數(shù)、 上網(wǎng)習(xí)慣與學(xué)生的心理健康狀態(tài)具有一定的相關(guān)性; 最后, 基于改進(jìn)的粒子群優(yōu)化算法, 構(gòu)建了PDNN神經(jīng)網(wǎng)絡(luò)模型, 用于預(yù)測學(xué)生的心理健康狀態(tài)。實(shí)驗(yàn)結(jié)果表明, 筆者提出的PDNN神經(jīng)網(wǎng)絡(luò)模型相比于其他傳統(tǒng)機(jī)器學(xué)習(xí)和相關(guān)深度學(xué)習(xí)模型其準(zhǔn)確率較高性能較好并且模型可快速收斂, 更加準(zhǔn)確有效地預(yù)測學(xué)生的心理健康狀態(tài), 以幫助學(xué)校及時(shí)發(fā)現(xiàn)心理問題學(xué)生并進(jìn)行相關(guān)的干預(yù)與疏導(dǎo)。
未來將進(jìn)一步探究學(xué)生成績以及學(xué)生靜態(tài)特征, 如學(xué)生民族、 年齡、 來源省份、 性別等與學(xué)生心理健康狀態(tài)的關(guān)系。