張廣海,祖 璇
(安徽師范大學(xué)皖江學(xué)院a.電子工程系;b.經(jīng)濟(jì)系,安徽蕪湖 241003)
隨著信息技術(shù)的不斷革新,大數(shù)據(jù)分析技術(shù)已被應(yīng)用到了各個領(lǐng)域,進(jìn)而推動著社會的進(jìn)步和發(fā)展。在大數(shù)據(jù)時代,如何利用數(shù)據(jù)挖掘方法探索出教育發(fā)展規(guī)律,從而有針對性地豐富教學(xué)模式、幫助同學(xué)們改進(jìn)學(xué)習(xí)過程,成為目前急需解決的問題。研究[1]發(fā)現(xiàn),學(xué)生期末考試成績與平時測試、學(xué)生學(xué)習(xí)行為、學(xué)生學(xué)習(xí)背景及父母行為等有關(guān)。因此根據(jù)學(xué)生平時學(xué)習(xí)的各種因素,可以有效預(yù)測出學(xué)生的期末考試成績,使老師和學(xué)校提前發(fā)現(xiàn)問題,及時進(jìn)行干預(yù)。
針對學(xué)生成績預(yù)測,國內(nèi)外許多科研人員都開展了大量的研究。目前已有多種學(xué)生成績預(yù)測的模型,大致可分為兩類:基于神經(jīng)網(wǎng)絡(luò)模型和基于概率統(tǒng)計模型[2]。姚明海等[3]把BP(back propagation)神經(jīng)網(wǎng)絡(luò)引入高校學(xué)生成績預(yù)測中,實驗表明大一成績與學(xué)生的畢業(yè)成績間存在關(guān)聯(lián)關(guān)系。王芮[4]采用聯(lián)合粒子群算法(particle swarm optimization,PSO)和BP神經(jīng)網(wǎng)絡(luò)(PSO-BP)對目標(biāo)課程學(xué)習(xí)成績進(jìn)行預(yù)測。郭華偉等[5]采用SVM 分類器對訓(xùn)練樣本進(jìn)行訓(xùn)練學(xué)習(xí),并通過PSO 優(yōu)化SVM 的參數(shù),從而建立體育成績預(yù)測模型。劉艷杰等[6]利用貝葉斯網(wǎng)絡(luò)推理的聯(lián)合樹算法預(yù)測學(xué)生成績。FRANCIS B K等[7]運(yùn)用聚類和分類相結(jié)合的算法構(gòu)建成績預(yù)測模型。線性回歸[8-10]、決策樹[11-13]等基于概率統(tǒng)計的模型也被用于學(xué)生成績預(yù)測。目前,用于學(xué)生成績預(yù)測的機(jī)器學(xué)習(xí)算法還有SVM[14-16]、最小二乘支持向量機(jī)[17]、推薦算法[18]等。
在分類領(lǐng)域中,SVM 模型的分類效果普遍較好,當(dāng)數(shù)量集較少時分類準(zhǔn)確率較高且泛化能力強(qiáng)[19-20]。但是,SVM 分類器的懲罰因子c 和核函數(shù)參數(shù)g 難以確定,如果將其直接用于學(xué)生成績預(yù)測,預(yù)測的準(zhǔn)確率相對較低且運(yùn)行效率不高。麻雀搜索算法(sparrow search algorithm,SSA)[21]是一種新型智能優(yōu)化算法,該算法主要受麻雀捕食行為啟發(fā)。算法具有全局搜索尋優(yōu)能力強(qiáng)、穩(wěn)定性高且收斂速度快等優(yōu)點(diǎn),可以有效優(yōu)化SVM 分類器的參數(shù)。因此,提出了一種基于麻雀搜索算法優(yōu)化SVM(SSA-SVM)的學(xué)生成績預(yù)測模型,實驗結(jié)果驗證了該方法的性能與可行性。
SVM 是在統(tǒng)計學(xué)習(xí)和結(jié)構(gòu)風(fēng)險最小化理論的基礎(chǔ)上發(fā)展起來的[22-23]。考慮到結(jié)構(gòu)風(fēng)險是訓(xùn)練誤差和建模復(fù)雜性之間的合理權(quán)衡,因此SVM 具有很好的泛化能力,其思想是發(fā)現(xiàn)一個超平面來區(qū)分正負(fù)樣本。
為了獲得最優(yōu)超平面分類樣本,SVM 通過核函數(shù)將輸入空間映射為高維特征空間。首先必須進(jìn)行二次規(guī)劃優(yōu)化:
其中:ξi是一個松弛變量,用于控制訓(xùn)練誤差并保持約束;c是懲罰因子,其值越高,表示對誤差的容忍度越差,此時容易出現(xiàn)過擬合,反之,則容易出現(xiàn)欠擬合;Φ(xi)是方程系數(shù)。
其次,由于RBF 核函數(shù)可以直觀有效地反映出兩個數(shù)據(jù)向量之間的距離,因此選擇徑向基核函數(shù):
其中,g為核函數(shù)參數(shù),其值影響模型的訓(xùn)練速度和預(yù)測速度。
2020 年,受麻雀捕食行為啟發(fā),薛建凱等人提出了麻雀搜索算法。根據(jù)設(shè)定,麻雀算法事先將模擬麻雀分為三類:發(fā)現(xiàn)者、加入者和警戒者。
發(fā)現(xiàn)者不僅需要負(fù)責(zé)尋找食物,還肩負(fù)著引導(dǎo)整個種群移動的任務(wù)。因此,發(fā)現(xiàn)者可以在更廣泛的位置和區(qū)域?qū)ふ沂澄?。其位置更新公式為?/p>
其中,X是一個矩陣,表示麻雀的位置,如式(5)所示。所有參數(shù)及說明如表1所示。
表1 公式(4)、(5)相關(guān)參數(shù)及說明
加入者時刻盯著發(fā)現(xiàn)者,當(dāng)其感知到發(fā)現(xiàn)者找到好的食物,他們會立刻向發(fā)現(xiàn)者聚集,去搶奪食物。其位置更新如公式(6)所示:
其中,A+=AT(AAT)-1。其余參數(shù)及說明如表2所示。
表2 公式(6)、(7)相關(guān)參數(shù)及說明
在整個種群中,一般設(shè)定10%到20%的麻雀充當(dāng)警戒者,且隨機(jī)產(chǎn)生初始位置。其位置更新公式為:
其中,所有參數(shù)及說明如表2所示。
為提高SVM 的預(yù)測準(zhǔn)確率,采用SSA 優(yōu)化SVM,即通過不斷迭代獲得全局最優(yōu)位置Xbest來確定SVM的懲罰因子c和核函數(shù)參數(shù)g。
基于SSA-SVM的學(xué)生成績預(yù)測流程分為三個部分:數(shù)據(jù)預(yù)處理、SSA 優(yōu)化SVM 參數(shù)和分類預(yù)測。流程圖如圖1 所示。
圖1 SSA-SVM學(xué)生成績預(yù)測流程圖
(1)數(shù)據(jù)預(yù)處理
為了對數(shù)據(jù)進(jìn)行預(yù)處理,需要篩選和清洗原始特征。將樣本數(shù)據(jù)根據(jù)學(xué)生學(xué)習(xí)習(xí)慣等判定規(guī)則進(jìn)行特征選擇;數(shù)據(jù)集中的原始特征包含整型與字符型,需要將字符型進(jìn)行類型轉(zhuǎn)換,即字符型特征數(shù)值化。例如將“Yes”和“No”分別置換為1和0;將處理后的數(shù)據(jù)樣本按比例隨機(jī)分為訓(xùn)練樣本和測試樣本;將分類后的樣本數(shù)據(jù)利用公式(8)進(jìn)行歸一化處理。
式中,xi為第i 個樣本的歸一化值,xmin、xmax為選取數(shù)據(jù)集中的最大值和最小值。
(2)SSA優(yōu)化SVM參數(shù)
對訓(xùn)練樣本特征向量進(jìn)行訓(xùn)練,利用SSA算法優(yōu)化SVM 參數(shù),將預(yù)測準(zhǔn)確率作為適應(yīng)度函數(shù)。根據(jù)適應(yīng)度值不斷迭代更新麻雀的最優(yōu)位置和全局最優(yōu)解,若達(dá)到最大迭代次數(shù),則獲得最優(yōu)的懲罰因子c和核函數(shù)參數(shù)g。
(3)分類預(yù)測
利用訓(xùn)練好的SVM 分類器進(jìn)行分類預(yù)測,將優(yōu)化好的兩個參數(shù)帶入,對學(xué)生成績預(yù)測結(jié)果進(jìn)行驗證。
(1)數(shù)據(jù)集
為了驗證成績預(yù)測模型的真實有效性,選用的數(shù)據(jù)集來源于UCI Machine Learning Repository(https://archive.ics.uci.edu/ml/datasets/Student + Performance),由葡萄牙米尼奧大學(xué)(Universidade do Minho)的Paulo Cortez 提供[24]。數(shù)據(jù)集中共有兩個文件,分別包含兩所中學(xué)學(xué)生的數(shù)學(xué)(UCI-Mat)成績和葡萄牙語(UCI-Por)成績,數(shù)據(jù)屬性包括人口特征、學(xué)生學(xué)習(xí)行為特征和家長特征等。兩種數(shù)據(jù)集調(diào)查方法和數(shù)據(jù)屬性基本一致,所以隨機(jī)選取了數(shù)據(jù)集UCI-Mat作為樣本數(shù)據(jù)集進(jìn)行實驗。
(2)評價指標(biāo)
學(xué)生成績預(yù)測領(lǐng)域有4個主要評價指標(biāo),分別是準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1分?jǐn)?shù)(F1-score)。
如公式(9)所示為準(zhǔn)確率,它是指在所有樣本中,預(yù)測正確的樣本所占的比值。
如公式(10)所示為精確率,它是指在所有預(yù)測為正樣本的樣本中,實際為正樣本所占的比值。
如公式(11)所示為召回率,它是指在所有實際為正樣本的樣本中,預(yù)測正確的樣本所占的比值。
如公式(12)所示為F1 分?jǐn)?shù),它是一個綜合評價指標(biāo)。其值越低,表明模型的穩(wěn)定性越差;反之,模型的穩(wěn)定性越好。
其中,設(shè)1和0分別為正例和負(fù)例,則:
TP:預(yù)測為1,實際為1,預(yù)測正確。
FP:預(yù)測為1,實際為0,預(yù)測錯誤。
FN:預(yù)測為0,實際為1,預(yù)測錯誤。
TN:預(yù)測為0,實際為0,預(yù)測正確。
UCI-Mat數(shù)據(jù)集中共有33個屬性,包括學(xué)生所在學(xué)校,學(xué)生性別、年齡,父母職業(yè)、受教育程度,學(xué)生行為習(xí)慣等,每一個特征對學(xué)生的學(xué)習(xí)成績都有一定的影響。為重點(diǎn)研究學(xué)生的行為習(xí)慣特征對成績的影響問題,利用數(shù)據(jù)可視化方法分析了所有屬性后,從中選取13個屬性用于構(gòu)建預(yù)測模型,如表3所示。
表3 數(shù)據(jù)集屬性信息及說明
本模型主要是對輸出目標(biāo)G3 進(jìn)行二分類研究,即將學(xué)生的期末考試成績預(yù)測結(jié)果分為合格和不合格兩類。因此,在數(shù)據(jù)集UCI-Mat中將分?jǐn)?shù)小于等于10 分設(shè)為0(0 表示不合格),其余設(shè)為1(1表示合格)。之后使用公式(9)所示的準(zhǔn)確率來度量二分類問題。
實驗在UCI-Mat成績數(shù)據(jù)集上進(jìn)行,對數(shù)據(jù)預(yù)處理后將訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)按照9:1 隨機(jī)分配。麻雀算法中種群數(shù)量設(shè)定為20,發(fā)現(xiàn)者占比30%,預(yù)警值是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)的計算機(jī)上進(jìn)行。
利用SSA 優(yōu)化SVM 模型后,最優(yōu)值懲罰因子c和核函數(shù)參數(shù)g 分別為1.20737689 和0.10390249,學(xué)生成績預(yù)測的分類結(jié)果如圖2所示。由圖2中結(jié)果分析,在測試過程中,只有2個0類別的樣本被誤預(yù)測成了1 類別。如圖3 所示為SSA 適應(yīng)度曲線,在達(dá)到最大迭代次數(shù)時,模型的分類準(zhǔn)確率為95.0%。
圖2 測試集分類結(jié)果
圖3 SSA適應(yīng)度曲線
目標(biāo)屬性G3是第三期(期末)的成績,G1和G2分別是第一期和第二期的成績。如果在沒有G1和G2的情況下預(yù)測G3,其分類結(jié)果如圖4所示,預(yù)測準(zhǔn)確率為67.5%。實驗結(jié)果顯示在沒有平時成績的情況下,對期末成績進(jìn)行預(yù)測,其準(zhǔn)確率會大大下降。這說明了平時成績與期末成績具有很強(qiáng)的關(guān)聯(lián)性。
圖4 沒有G1和G2情況下的測試集分類結(jié)果
為了體現(xiàn)SSA-SVM分類預(yù)測的有效性和可行性,與SVM、隨機(jī)森林和BP算法3種分類方法進(jìn)行了比較,結(jié)果如表4 所示。圖5 是4 種分類方法性能比較的可視化示意圖,可以更直觀有效地觀測其性能變化。表5為4種分類方法的準(zhǔn)確率。
圖5 4種分類方法性能比較
表4 4種分類方法性能比較
表5 4種分類方法準(zhǔn)確率比較
對表4 和圖5 分析可知:1)在這些學(xué)生成績預(yù)測模型中,通過4種方法性能對比,除了基于BP神經(jīng)網(wǎng)絡(luò)模型在1類別上的精確率和0類別上的召回率稍高外,SSA-SVM模型具有較明顯的優(yōu)勢;2)在0類別和1類別上,SSA-SVM分類預(yù)測方法的F1分?jǐn)?shù)都是最高的,說明了該預(yù)測模型最穩(wěn)定,性能最好。
對表5 分析可知:1)SVM 模型準(zhǔn)確率僅次于SSA-SVM 模型,達(dá)到了92.5%。這是由于在SVM分類器模型中,使用了網(wǎng)格搜索交叉驗證方法,目的是最大程度上獲取最優(yōu)超參數(shù),在一定程度上可以獲得較好的懲罰因子c 和核函數(shù)參數(shù)g;2)與其他模型相比,SSA-SVM模型的分類準(zhǔn)確率最高,超出了其他方法2.5%,有較強(qiáng)的實用性。
為輔助學(xué)校和老師適時動態(tài)調(diào)整學(xué)生的學(xué)習(xí)狀態(tài),以幫助其更高質(zhì)量地完成學(xué)習(xí)要求,提出了一種基于SSA-SVM學(xué)生成績預(yù)測模型。首先利用麻雀搜索算法不斷迭代,以期得到支持向量機(jī)的最優(yōu)核心參數(shù),使分類器達(dá)到最優(yōu)效果;然后在UCIMat成績數(shù)據(jù)集上,與其他3種方法進(jìn)行性能對比,證明了SSA-SVM分類方法的優(yōu)越性。由于數(shù)據(jù)集樣本數(shù)量的限制,在一定程度上會影響預(yù)測的準(zhǔn)確性;麻雀搜索算法也有很大的改進(jìn)空間,所以下一步的重點(diǎn)工作是合理選擇、優(yōu)化數(shù)據(jù)集和進(jìn)一步探究學(xué)生成績預(yù)測模型的新方法。