張廣海,祖 璇
(安徽師范大學皖江學院a.電子工程系;b.經(jīng)濟系,安徽蕪湖 241003)
隨著信息技術(shù)的不斷革新,大數(shù)據(jù)分析技術(shù)已被應用到了各個領(lǐng)域,進而推動著社會的進步和發(fā)展。在大數(shù)據(jù)時代,如何利用數(shù)據(jù)挖掘方法探索出教育發(fā)展規(guī)律,從而有針對性地豐富教學模式、幫助同學們改進學習過程,成為目前急需解決的問題。研究[1]發(fā)現(xiàn),學生期末考試成績與平時測試、學生學習行為、學生學習背景及父母行為等有關(guān)。因此根據(jù)學生平時學習的各種因素,可以有效預測出學生的期末考試成績,使老師和學校提前發(fā)現(xiàn)問題,及時進行干預。
針對學生成績預測,國內(nèi)外許多科研人員都開展了大量的研究。目前已有多種學生成績預測的模型,大致可分為兩類:基于神經(jīng)網(wǎng)絡(luò)模型和基于概率統(tǒng)計模型[2]。姚明海等[3]把BP(back propagation)神經(jīng)網(wǎng)絡(luò)引入高校學生成績預測中,實驗表明大一成績與學生的畢業(yè)成績間存在關(guān)聯(lián)關(guān)系。王芮[4]采用聯(lián)合粒子群算法(particle swarm optimization,PSO)和BP神經(jīng)網(wǎng)絡(luò)(PSO-BP)對目標課程學習成績進行預測。郭華偉等[5]采用SVM 分類器對訓練樣本進行訓練學習,并通過PSO 優(yōu)化SVM 的參數(shù),從而建立體育成績預測模型。劉艷杰等[6]利用貝葉斯網(wǎng)絡(luò)推理的聯(lián)合樹算法預測學生成績。FRANCIS B K等[7]運用聚類和分類相結(jié)合的算法構(gòu)建成績預測模型。線性回歸[8-10]、決策樹[11-13]等基于概率統(tǒng)計的模型也被用于學生成績預測。目前,用于學生成績預測的機器學習算法還有SVM[14-16]、最小二乘支持向量機[17]、推薦算法[18]等。
在分類領(lǐng)域中,SVM 模型的分類效果普遍較好,當數(shù)量集較少時分類準確率較高且泛化能力強[19-20]。但是,SVM 分類器的懲罰因子c 和核函數(shù)參數(shù)g 難以確定,如果將其直接用于學生成績預測,預測的準確率相對較低且運行效率不高。麻雀搜索算法(sparrow search algorithm,SSA)[21]是一種新型智能優(yōu)化算法,該算法主要受麻雀捕食行為啟發(fā)。算法具有全局搜索尋優(yōu)能力強、穩(wěn)定性高且收斂速度快等優(yōu)點,可以有效優(yōu)化SVM 分類器的參數(shù)。因此,提出了一種基于麻雀搜索算法優(yōu)化SVM(SSA-SVM)的學生成績預測模型,實驗結(jié)果驗證了該方法的性能與可行性。
SVM 是在統(tǒng)計學習和結(jié)構(gòu)風險最小化理論的基礎(chǔ)上發(fā)展起來的[22-23]。考慮到結(jié)構(gòu)風險是訓練誤差和建模復雜性之間的合理權(quán)衡,因此SVM 具有很好的泛化能力,其思想是發(fā)現(xiàn)一個超平面來區(qū)分正負樣本。
為了獲得最優(yōu)超平面分類樣本,SVM 通過核函數(shù)將輸入空間映射為高維特征空間。首先必須進行二次規(guī)劃優(yōu)化:
其中:ξi是一個松弛變量,用于控制訓練誤差并保持約束;c是懲罰因子,其值越高,表示對誤差的容忍度越差,此時容易出現(xiàn)過擬合,反之,則容易出現(xiàn)欠擬合;Φ(xi)是方程系數(shù)。
其次,由于RBF 核函數(shù)可以直觀有效地反映出兩個數(shù)據(jù)向量之間的距離,因此選擇徑向基核函數(shù):
其中,g為核函數(shù)參數(shù),其值影響模型的訓練速度和預測速度。
2020 年,受麻雀捕食行為啟發(fā),薛建凱等人提出了麻雀搜索算法。根據(jù)設(shè)定,麻雀算法事先將模擬麻雀分為三類:發(fā)現(xiàn)者、加入者和警戒者。
發(fā)現(xiàn)者不僅需要負責尋找食物,還肩負著引導整個種群移動的任務(wù)。因此,發(fā)現(xiàn)者可以在更廣泛的位置和區(qū)域?qū)ふ沂澄铩F湮恢酶鹿綖椋?/p>
其中,X是一個矩陣,表示麻雀的位置,如式(5)所示。所有參數(shù)及說明如表1所示。

表1 公式(4)、(5)相關(guān)參數(shù)及說明
加入者時刻盯著發(fā)現(xiàn)者,當其感知到發(fā)現(xiàn)者找到好的食物,他們會立刻向發(fā)現(xiàn)者聚集,去搶奪食物。其位置更新如公式(6)所示:
其中,A+=AT(AAT)-1。其余參數(shù)及說明如表2所示。

表2 公式(6)、(7)相關(guān)參數(shù)及說明
在整個種群中,一般設(shè)定10%到20%的麻雀充當警戒者,且隨機產(chǎn)生初始位置。其位置更新公式為:
其中,所有參數(shù)及說明如表2所示。
為提高SVM 的預測準確率,采用SSA 優(yōu)化SVM,即通過不斷迭代獲得全局最優(yōu)位置Xbest來確定SVM的懲罰因子c和核函數(shù)參數(shù)g。
基于SSA-SVM的學生成績預測流程分為三個部分:數(shù)據(jù)預處理、SSA 優(yōu)化SVM 參數(shù)和分類預測。流程圖如圖1 所示。

圖1 SSA-SVM學生成績預測流程圖
(1)數(shù)據(jù)預處理
為了對數(shù)據(jù)進行預處理,需要篩選和清洗原始特征。將樣本數(shù)據(jù)根據(jù)學生學習習慣等判定規(guī)則進行特征選擇;數(shù)據(jù)集中的原始特征包含整型與字符型,需要將字符型進行類型轉(zhuǎn)換,即字符型特征數(shù)值化。例如將“Yes”和“No”分別置換為1和0;將處理后的數(shù)據(jù)樣本按比例隨機分為訓練樣本和測試樣本;將分類后的樣本數(shù)據(jù)利用公式(8)進行歸一化處理。
式中,xi為第i 個樣本的歸一化值,xmin、xmax為選取數(shù)據(jù)集中的最大值和最小值。
(2)SSA優(yōu)化SVM參數(shù)
對訓練樣本特征向量進行訓練,利用SSA算法優(yōu)化SVM 參數(shù),將預測準確率作為適應度函數(shù)。根據(jù)適應度值不斷迭代更新麻雀的最優(yōu)位置和全局最優(yōu)解,若達到最大迭代次數(shù),則獲得最優(yōu)的懲罰因子c和核函數(shù)參數(shù)g。
(3)分類預測
利用訓練好的SVM 分類器進行分類預測,將優(yōu)化好的兩個參數(shù)帶入,對學生成績預測結(jié)果進行驗證。
(1)數(shù)據(jù)集
為了驗證成績預測模型的真實有效性,選用的數(shù)據(jù)集來源于UCI Machine Learning Repository(https://archive.ics.uci.edu/ml/datasets/Student + Performance),由葡萄牙米尼奧大學(Universidade do Minho)的Paulo Cortez 提供[24]。數(shù)據(jù)集中共有兩個文件,分別包含兩所中學學生的數(shù)學(UCI-Mat)成績和葡萄牙語(UCI-Por)成績,數(shù)據(jù)屬性包括人口特征、學生學習行為特征和家長特征等。兩種數(shù)據(jù)集調(diào)查方法和數(shù)據(jù)屬性基本一致,所以隨機選取了數(shù)據(jù)集UCI-Mat作為樣本數(shù)據(jù)集進行實驗。
(2)評價指標
學生成績預測領(lǐng)域有4個主要評價指標,分別是準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1分數(shù)(F1-score)。
如公式(9)所示為準確率,它是指在所有樣本中,預測正確的樣本所占的比值。
如公式(10)所示為精確率,它是指在所有預測為正樣本的樣本中,實際為正樣本所占的比值。
如公式(11)所示為召回率,它是指在所有實際為正樣本的樣本中,預測正確的樣本所占的比值。
如公式(12)所示為F1 分數(shù),它是一個綜合評價指標。其值越低,表明模型的穩(wěn)定性越差;反之,模型的穩(wěn)定性越好。
其中,設(shè)1和0分別為正例和負例,則:
TP:預測為1,實際為1,預測正確。
FP:預測為1,實際為0,預測錯誤。
FN:預測為0,實際為1,預測錯誤。
TN:預測為0,實際為0,預測正確。
UCI-Mat數(shù)據(jù)集中共有33個屬性,包括學生所在學校,學生性別、年齡,父母職業(yè)、受教育程度,學生行為習慣等,每一個特征對學生的學習成績都有一定的影響。為重點研究學生的行為習慣特征對成績的影響問題,利用數(shù)據(jù)可視化方法分析了所有屬性后,從中選取13個屬性用于構(gòu)建預測模型,如表3所示。

表3 數(shù)據(jù)集屬性信息及說明
本模型主要是對輸出目標G3 進行二分類研究,即將學生的期末考試成績預測結(jié)果分為合格和不合格兩類。因此,在數(shù)據(jù)集UCI-Mat中將分數(shù)小于等于10 分設(shè)為0(0 表示不合格),其余設(shè)為1(1表示合格)。之后使用公式(9)所示的準確率來度量二分類問題。
實驗在UCI-Mat成績數(shù)據(jù)集上進行,對數(shù)據(jù)預處理后將訓練數(shù)據(jù)與測試數(shù)據(jù)按照9:1 隨機分配。麻雀算法中種群數(shù)量設(shè)定為20,發(fā)現(xiàn)者占比30%,預警值是0.6,迭代次數(shù)是30 次,意識到有危險的麻雀占種群數(shù)量的20%。
實驗采用Python 編程環(huán)境,在配置為Intel(R)Core(TM)i5-10210U CPU@1.60GHz、2.11 GHz、內(nèi)存為16.00G、64位win10操作系統(tǒng)的計算機上進行。
利用SSA 優(yōu)化SVM 模型后,最優(yōu)值懲罰因子c和核函數(shù)參數(shù)g 分別為1.20737689 和0.10390249,學生成績預測的分類結(jié)果如圖2所示。由圖2中結(jié)果分析,在測試過程中,只有2個0類別的樣本被誤預測成了1 類別。如圖3 所示為SSA 適應度曲線,在達到最大迭代次數(shù)時,模型的分類準確率為95.0%。

圖2 測試集分類結(jié)果

圖3 SSA適應度曲線
目標屬性G3是第三期(期末)的成績,G1和G2分別是第一期和第二期的成績。如果在沒有G1和G2的情況下預測G3,其分類結(jié)果如圖4所示,預測準確率為67.5%。實驗結(jié)果顯示在沒有平時成績的情況下,對期末成績進行預測,其準確率會大大下降。這說明了平時成績與期末成績具有很強的關(guān)聯(lián)性。

圖4 沒有G1和G2情況下的測試集分類結(jié)果
為了體現(xiàn)SSA-SVM分類預測的有效性和可行性,與SVM、隨機森林和BP算法3種分類方法進行了比較,結(jié)果如表4 所示。圖5 是4 種分類方法性能比較的可視化示意圖,可以更直觀有效地觀測其性能變化。表5為4種分類方法的準確率。

圖5 4種分類方法性能比較

表4 4種分類方法性能比較

表5 4種分類方法準確率比較
對表4 和圖5 分析可知:1)在這些學生成績預測模型中,通過4種方法性能對比,除了基于BP神經(jīng)網(wǎng)絡(luò)模型在1類別上的精確率和0類別上的召回率稍高外,SSA-SVM模型具有較明顯的優(yōu)勢;2)在0類別和1類別上,SSA-SVM分類預測方法的F1分數(shù)都是最高的,說明了該預測模型最穩(wěn)定,性能最好。
對表5 分析可知:1)SVM 模型準確率僅次于SSA-SVM 模型,達到了92.5%。這是由于在SVM分類器模型中,使用了網(wǎng)格搜索交叉驗證方法,目的是最大程度上獲取最優(yōu)超參數(shù),在一定程度上可以獲得較好的懲罰因子c 和核函數(shù)參數(shù)g;2)與其他模型相比,SSA-SVM模型的分類準確率最高,超出了其他方法2.5%,有較強的實用性。
為輔助學校和老師適時動態(tài)調(diào)整學生的學習狀態(tài),以幫助其更高質(zhì)量地完成學習要求,提出了一種基于SSA-SVM學生成績預測模型。首先利用麻雀搜索算法不斷迭代,以期得到支持向量機的最優(yōu)核心參數(shù),使分類器達到最優(yōu)效果;然后在UCIMat成績數(shù)據(jù)集上,與其他3種方法進行性能對比,證明了SSA-SVM分類方法的優(yōu)越性。由于數(shù)據(jù)集樣本數(shù)量的限制,在一定程度上會影響預測的準確性;麻雀搜索算法也有很大的改進空間,所以下一步的重點工作是合理選擇、優(yōu)化數(shù)據(jù)集和進一步探究學生成績預測模型的新方法。