盧毅
(陜西學前師范學院 經濟與管理學院, 陜西 西安 710061)
大學生與高中生相比,其學習主動性和積極性有所下降,導致學業(yè)狀態(tài)存在較大波動。如何及時發(fā)現(xiàn)大學生的真實學業(yè)狀態(tài)并進行預警,可以從理論研究和教學實踐兩方面提升學生成績和學校教學管理,價值巨大[1]。
關于狀態(tài)預測與警示方面常規(guī)算法包括有決策樹、聚類、關聯(lián)規(guī)則和支持向量機等[2-4]。這些研究主要集中研究歷史課程學習成績對后續(xù)學習課程成績的影響,以及生活習慣、家庭情況對學業(yè)狀態(tài)的影響,但是綜合生活特征和學習特征的學業(yè)狀態(tài)預警的文獻較為少見。本文在對支持向量機模型基本的參數(shù)(懲罰參數(shù)以及核值參數(shù))對建模性能的影響的基礎上,從對參數(shù)優(yōu)化的角度出發(fā),綜合使用天牛須搜索算法,創(chuàng)新性的提出了基于SVM模型的BAS-SVM模型用于大學生就業(yè)狀態(tài)模型的生成。在實驗論證的過程中,通過與其他的預測模型(極限學習機和前饋神經網絡算法)進行詳細的比較后,發(fā)現(xiàn)本文提出的BAS-SVM算法可以更加準確的預測學生學業(yè)狀態(tài),有利于改善、調整主客觀因素提升學業(yè)水平[5]。
作為經典的數(shù)據(jù)建模算法,BAS算法基于天牛覓食而建立的效率較高的群智能算法,算法的關鍵步驟如下[6-7]。
(1) 方向向量的明確
明確方向向量的目的是為了對天牛的搜索過程進行模擬,如式(1)。
(1)
式中,j表示空間維度;round()的作用為制作隨機數(shù)。
(2) 確定天牛頭部的左右觸須的坐標值,如式(2)。
(2)
式中,設置函數(shù)值xr和xl分別表示天牛的左邊觸須和右邊觸須出現(xiàn)在t次的空間坐標值,其中t表示循環(huán)參數(shù),d是常量值,左右側觸須的須距。
(3) 生成適應度的基本值,如式(3)。
(3)
式中,f(x)表示了適應度獲取函數(shù),fr和fl表示天牛的左邊觸須和右邊觸須與目前空間的位置比對適應度。
(4) 生成搜索步長,如式(4)。
δt=c1δt-1+δ0,dt=δt/c2
(4)
式中 ,δ值表示天牛搜索的最終步長值;δ0表示天?;境跏蓟介L,向大取值;δt表示經過t次搜索后的步長的因子數(shù)值;c1、c2表示常量步長因子。
(5) 生成最新位置,如式(5)。
(5)
式中,sign()表示位置函數(shù);δt仍然表示第t次搜索的步長因子。
(6) 判斷是否符合預測的規(guī)則
主要通過當前位置的適應度的數(shù)值與前一次的空間位置適應度值的比較,如果位置更優(yōu)則更新新的位置,相反的則不更新。
ξi≥0,i=1,2,…,n
(6)
(7)
為準確合理地實現(xiàn)學業(yè)動態(tài)預警,參考文獻[8-10]的基礎上,選擇考勤指數(shù)、學習指數(shù)、成績指數(shù)、“宅”指數(shù)和家境等5個關鍵指標作為學業(yè)預警的主要指標,并將學業(yè)預警結果劃分為好、中、差三個等級,如表1所示。
表1 學業(yè)動態(tài)預警評價指標
在SVM模型中,核心參數(shù)g的主要作用于分類的準確度,而懲罰參數(shù)值C所影響的是模型控制方面的接近程度、誤差大小和復雜度。懲罰參數(shù)值與模型準確度成正比,與泛化能力成反比。由于SVM模型算法與懲罰參數(shù)值的大小和核函數(shù)的關系緊密相關性,因此,引入了BAS算法,主要是對上述兩個參數(shù)值的合理計算,來提升SVM模型的準確度,如式(8)。
(8)
式中,Total表示選擇的樣本集合數(shù)量值,right函數(shù)表示中分類合理的樣本集。
本文提出的BAS-SVM模型進行學生就業(yè)預警執(zhí)行步驟如下。
(1) 第一步通過BAS算法,明確最優(yōu)懲罰參數(shù)和核函數(shù),選擇步長因子c1和c1,并使用BAS算法計算迭代最優(yōu)次數(shù)和當前循環(huán)量。將預先準備好的用于學業(yè)預警的準備數(shù)據(jù)分為訓練樣本、測試樣本兩種,分別用于本文提出的模型的生成和準確度實驗。
(2) 執(zhí)行迭代。首先設置t的值為0,同時對天牛的初始位置進行定義,選擇最佳位置后,通過式(8)來完成天牛的左觸須和右觸須的位置計算。
(3) 循環(huán)結束后,將t的指針下一位,重復步驟(2),并計算出天牛左右須的適應度f(xr)和f(xl)。
(4) 將第三步生產左右須的位置值,帶入式(5)中,更新位置xt,同時算出新的適應度值f(xt);
(5) 完成天牛最新位置的獲得并更新值。做法為接受概率的數(shù)值P,引入式(6)首先判斷如果f(xt) (6) 進行判斷,如果t (7) 最后,獲得最準確的預警值,通過最終一輪循環(huán)獲得的xbest與fbest,使用式(8)計算最合理的懲罰系數(shù)C和核函數(shù)g,并在二者的基礎上完成最佳學生學業(yè)預警值測速和核對。 通過實驗,進一步完成本文提出的算法的測算,并對比其他經典算法,數(shù)據(jù)源選擇陜西學前師范學院經濟與管理學院各專業(yè)學生為研究對象,好、中和差等3種學業(yè)狀態(tài)的樣本數(shù)據(jù)各150組。不同學業(yè)狀態(tài)樣本數(shù)據(jù),如表2所示。 表2 不同學業(yè)狀態(tài)樣本 操作系統(tǒng)為Windows10,CPU為Intel(R)Core(TM)i5-2400 4-core,主頻為2.60 GHz,內存8 GB,仿真軟件為Matlab2015(a)。 對于學生學業(yè)預警的準確性提出了評價指標,使用準確率和誤判率作為評判基本指標[11-12]。 (1) 準確率T:假設學業(yè)狀態(tài)被正確識別的數(shù)量為A,而學業(yè)狀態(tài)的實際數(shù)量為B,則學業(yè)狀態(tài)評估的準確率,如式(9)。 (9) (2) 誤判率F:假設學業(yè)狀態(tài)是第i類的實際數(shù)量為H,而將第i類學業(yè)狀態(tài)誤判為第j類學業(yè)狀態(tài)的數(shù)量為W,則學業(yè)狀態(tài)判斷的誤判率,如式(10)。 (10) 為了驗證學業(yè)狀態(tài)預警的效果,將BAS-SVM和ELM[13]、SVM[14]和BP[15]經典算法橫向對比,選擇4.2節(jié)基于BAS算法獲得參數(shù):最大迭代次數(shù)gen=100,步長因子c1=0.997,c2=10,算法橫向比對的值,如表3和圖1-圖4所示。 表3 學業(yè)狀態(tài)預警結果 圖1 BAS-SVM學業(yè)狀態(tài)評估結果 圖2 ELM學業(yè)狀態(tài)評估結果 圖1-圖4中,“*”為學業(yè)狀態(tài)的預警類別,“○”為示學業(yè)狀態(tài)的實際類別,結合圖1和圖4的結果可以發(fā)現(xiàn),通過本文算法的學業(yè)預警結果非常的精確的體現(xiàn)了實際的學學業(yè)狀態(tài),圖例使用1代表學業(yè)較好、2代表學業(yè)一般、3代表學業(yè)差。在“*”與“○”重疊時,學業(yè)狀態(tài)的預警分類值與現(xiàn)實的實際值完全相同,代表學業(yè)狀態(tài)預警結果準確;在“*”和“○”不完全重疊時,說明預警狀態(tài)與實際狀態(tài)發(fā)生偏差,預警出現(xiàn)失誤。由表3和圖1-圖4可知,采用基于BAS-SVM模型做出的學業(yè)狀態(tài)預警結果的準確率高達97.12%,而誤判率僅有2.88%,優(yōu)于ELM的92.28%和7.72%,SVM的90.46%和9.54%和BPNN的86.35%和13.65%。與ELM、SVM和BPNN對比發(fā)現(xiàn),BAS-SVM可以有效提高學業(yè)狀態(tài)預警結果的準確率,為學業(yè)狀態(tài)預警評估提供了新的方法和途徑。 圖3 SVM學業(yè)狀態(tài)評估結果 圖4 BPNN學業(yè)狀態(tài)評估結果 為提高大學生學業(yè)狀態(tài)的預警準確度,在經典的SMV模型的基礎上,調整核參數(shù)以及性能被懲罰的參數(shù)值,創(chuàng)建了改進的BAS-SVM的大學生學業(yè)狀態(tài)動態(tài)預警模型。將BAS-SVM模型的輸入變量為影響學業(yè)狀態(tài)的5個關鍵KPI值(考勤指數(shù)、學習指數(shù)、成績指數(shù)、“宅”指數(shù)和家境),經過模型運算后輸出預警判斷結果值。與ELM、SVM和BPNN對比發(fā)現(xiàn),BAS-SVM可以有效提高學業(yè)狀態(tài)預警結果的準確率,為學業(yè)狀態(tài)預警評估提供了新的方法和途徑。4 仿真實驗與結果分析
4.1 數(shù)據(jù)來源
4.2 評價指標
4.3 結果分析
5 總結