謝軍飛 ,張海清,3 ,李代偉,3* ,于曦 ,鄧鈞予,3
(1.成都信息工程大學(xué)軟件工程學(xué)院,成都,610225;2.成都大學(xué)斯特靈學(xué)院,成都,610106;3.四川省信息化應(yīng)用支撐軟件工程技術(shù)研究中心,成都,610225)
目前的高校教育中,學(xué)生能力的衡量指標(biāo)主要是學(xué)生的成績(jī),同時(shí),學(xué)生成績(jī)也是衡量教師教學(xué)水平的重要依據(jù).在專業(yè)課程的教學(xué)中,教師可通過(guò)學(xué)生的成績(jī)對(duì)教學(xué)行為和方案進(jìn)行臨時(shí)調(diào)整,對(duì)不同情況的學(xué)生進(jìn)行不同的教學(xué)干預(yù),保證學(xué)生的學(xué)習(xí)質(zhì)量,可以通過(guò)挖掘?qū)W生相關(guān)的信息來(lái)建立學(xué)生成績(jī)預(yù)測(cè)模型,對(duì)其未來(lái)的學(xué)習(xí)表現(xiàn)進(jìn)行預(yù)判.由于教師無(wú)法在教學(xué)期間通過(guò)獲得學(xué)生的成績(jī)來(lái)掌握學(xué)生的學(xué)習(xí)情況,所以對(duì)學(xué)生的課程成績(jī)的預(yù)測(cè)顯得尤為重要.
隨著機(jī)器學(xué)習(xí)技術(shù)的快速發(fā)展,其已經(jīng)廣泛運(yùn)用于教育數(shù)據(jù)挖掘領(lǐng)域.神經(jīng)網(wǎng)絡(luò)[1]、Lightgbm[2]、支持向量機(jī)(Support Vector Machine,SVM)[3]、隨機(jī)森林(Random Forest,RF)[4]、XGBoost[5]等機(jī)器學(xué)習(xí)方法已被廣泛運(yùn)用于成績(jī)預(yù)測(cè)、GPA(Grade Point Average)預(yù)測(cè)等多種教育數(shù)據(jù)挖掘.目前研究還存在以下不足:首先,大部分工作采用SVM 和決策樹(shù)等傳統(tǒng)機(jī)器學(xué)習(xí)算法進(jìn)行建模,模型精度還有提升空間;其次,部分工作采用深度學(xué)習(xí)方法構(gòu)建預(yù)測(cè)模型,雖然預(yù)測(cè)結(jié)果較好,但模型缺少可解釋性;模型綜合性能方面,Lightgbm 算法內(nèi)存消耗低,時(shí)間復(fù)雜度低,XGBoost 算法精度高.針對(duì)上述問(wèn)題,基于提高精度與降低模型內(nèi)存消耗的策略,本文將深度森林中的隨機(jī)森林與極限隨機(jī)森林模塊分別替換為L(zhǎng)ightgbm 和XGBoost 算法,提出一種基于Lightgbm 和XGBoost 的優(yōu)化深度森林算法LIGHTXDF,以學(xué)生的社會(huì)數(shù)據(jù)和行為數(shù)據(jù)作為輸入構(gòu)建預(yù)測(cè)模型,并對(duì)模型的結(jié)果進(jìn)行分析評(píng)估.
對(duì)學(xué)生成績(jī)預(yù)測(cè)的研究可以追溯到2000 年,Harackiewicz et al[6]在心理學(xué)入門課程中考察了學(xué)生的掌握目標(biāo)和績(jī)效目標(biāo),經(jīng)過(guò)三個(gè)學(xué)期的觀察,分析獲得的數(shù)據(jù),認(rèn)為掌握目標(biāo)能預(yù)測(cè)隨后的心理學(xué)課程的入學(xué)率,而績(jī)效目標(biāo)可以預(yù)測(cè)長(zhǎng)期的學(xué)習(xí)成績(jī).2007 年Nghe et al[7]在預(yù)測(cè)兩名大學(xué)生學(xué)習(xí)成績(jī)方面比較了決策樹(shù)和貝葉斯算法,數(shù)據(jù)來(lái)源是人口數(shù)據(jù)、入學(xué)數(shù)據(jù)、過(guò)往表現(xiàn)數(shù)據(jù),結(jié)果發(fā)現(xiàn)20%的方差,并且決策樹(shù)的性能優(yōu)于貝葉斯.Zimmermann et al[8]基于用本科成績(jī)預(yù)測(cè)研究生階段成功的有效性分析,數(shù)據(jù)來(lái)源是學(xué)生過(guò)去的表現(xiàn)和入學(xué)數(shù)據(jù),目的是找到最能解釋學(xué)生在第三年的學(xué)習(xí)成績(jī)的預(yù)測(cè)變量.Romero et al[9]利用學(xué)生的網(wǎng)上論壇活動(dòng)來(lái)預(yù)測(cè)學(xué)生的成績(jī),數(shù)據(jù)來(lái)源是討論板日志.早期預(yù)測(cè)的準(zhǔn)確性較低,而聚類和關(guān)聯(lián)規(guī)具有較好的預(yù)測(cè)精度.2014 年Marbouti et al[10]將變量定義為指定學(xué)生是否通過(guò)課程,使用RF、決策樹(shù)、KNN(KNearest Neighbor)和SVM 開(kāi)發(fā)了不同的預(yù)測(cè)模型,但實(shí)驗(yàn)結(jié)果表明,沒(méi)有一個(gè)單一模型能在所有方面都取得令人滿意的結(jié)果,因此,他們進(jìn)一步利用集成學(xué)習(xí)來(lái)開(kāi)發(fā)預(yù)測(cè)模型,并通過(guò)特征選擇和增加訓(xùn)練集的規(guī)模來(lái)優(yōu)化模型,最終其在所有模型中表現(xiàn)最好.
2017 年Asif et al[11]用大一和大二的考試成績(jī)來(lái)預(yù)測(cè)畢業(yè)生的表現(xiàn),在預(yù)測(cè)結(jié)果基礎(chǔ)上研究典型學(xué)生的學(xué)習(xí)過(guò)程,數(shù)據(jù)集是學(xué)生之前的成績(jī),目的是區(qū)分成績(jī)好和成績(jī)差的學(xué)生.Helal et al[12]利用學(xué)生的異質(zhì)性屬性,采用不同的機(jī)器學(xué)習(xí)方法對(duì)學(xué)習(xí)成績(jī)進(jìn)行預(yù)測(cè),數(shù)據(jù)為社會(huì)數(shù)據(jù)、過(guò)去的表現(xiàn)和學(xué)生學(xué)習(xí)活動(dòng),目的是預(yù)測(cè)最容易失敗的學(xué)生,發(fā)現(xiàn)單一方法不優(yōu)于其他方法.Polyzou and Karypis[13]通過(guò)建立特征子集的模型找出下學(xué)期可能表現(xiàn)較差的學(xué)生和影響學(xué)生表現(xiàn)的因素,數(shù)據(jù)來(lái)源是過(guò)去表現(xiàn)、學(xué)生課程細(xì)節(jié)和課程特點(diǎn).
2020 年Haridas et al[14]在智能輔導(dǎo)系統(tǒng)中預(yù)測(cè)學(xué)生成績(jī)、學(xué)校風(fēng)險(xiǎn)學(xué)生和閱讀困難學(xué)生,數(shù)據(jù)來(lái)源是過(guò)去表現(xiàn),發(fā)現(xiàn)形成性評(píng)估數(shù)據(jù)與過(guò)去的總和分?jǐn)?shù)能更好地預(yù)測(cè)學(xué)生表現(xiàn).
2023 年,張政庭等[15]構(gòu)建了基于k-means 聚類與BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法,利用學(xué)生的公共基礎(chǔ)課和專業(yè)基礎(chǔ)課成績(jī),找出專業(yè)核心課與公共基礎(chǔ)課、專業(yè)基礎(chǔ)課的潛在聯(lián)系,從而進(jìn)行預(yù)測(cè),實(shí)驗(yàn)表明其所提出的算法泛化能力較好且精度更高.許歡和夏道明[16]將Bootstrap 方法、遞歸特征消除、支持向量回歸模型和變鄰域搜索算法相結(jié)合,提出一種針對(duì)點(diǎn)、區(qū)間的成績(jī)預(yù)測(cè)模型,采用學(xué)生的課堂內(nèi)外表現(xiàn)為數(shù)據(jù),并與傳統(tǒng)的Bootstrap 支持向量模型作對(duì)比.王洪亮和趙圓圓[17]基于校園一卡通數(shù)據(jù),利用改進(jìn)的離群點(diǎn)檢測(cè)算法從多角度對(duì)學(xué)生校園行為數(shù)據(jù)進(jìn)行挖掘,發(fā)現(xiàn)每天用餐的規(guī)律性、進(jìn)入圖書館次數(shù)、借閱圖書次數(shù)及吃早飯次數(shù)之和與學(xué)業(yè)成績(jī)具有強(qiáng)相關(guān)性,最后基于決策樹(shù)構(gòu)建了成績(jī)預(yù)測(cè)模型.
深度森林(Deep Forest,DF)是2017 年Zhou and Feng[18]提出的一種深度學(xué)習(xí)方法.和深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)相比,深度森林容易訓(xùn)練,計(jì)算開(kāi)銷小,超參數(shù)少,無(wú)須進(jìn)行復(fù)雜調(diào)參,能適應(yīng)各種大小的數(shù)據(jù)集,泛化性較好.目前,DF 被廣泛運(yùn)用于許多領(lǐng)域,證明了其在分類和預(yù)測(cè)方面的魯棒性[19-20].DF 主要由兩部分組成,分別是多粒度掃描(Multi-Grained Scanning)和級(jí)聯(lián)森林(Cascade Forest).
2.1 多粒度掃描多粒度掃描是對(duì)輸入的特征進(jìn)行分析,以挖掘特征之間的順序關(guān)系為目的.如圖1 所示,多粒度掃描采用多種滑動(dòng)窗口來(lái)掃描輸入特征,多種窗口在輸入的特征向量上滑動(dòng),之后RF 會(huì)針對(duì)滑動(dòng)窗口提取的特征進(jìn)行信息提取.具體流程:首先,輸入含有p維特征的數(shù)據(jù),再采用長(zhǎng)度為k的滑動(dòng)窗口提取特征,設(shè)置步長(zhǎng)為n,通過(guò)下式得到s個(gè)k維特征片段:
圖1 多粒度掃描Fig.1 Multi granularity scanning
之后,將特征片段分別輸入RF 和CRTF(Completely-Random Tree Forests)模型,計(jì)算后輸出類概率向量,再把所有森林輸出的類概率向量進(jìn)行拼接,最終生成轉(zhuǎn)換特征向量,作為級(jí)聯(lián)森林的輸入.
2.2 級(jí)聯(lián)森林級(jí)聯(lián)森林由多個(gè)級(jí)聯(lián)層組成,每個(gè)級(jí)聯(lián)層都包含兩個(gè)RF 和兩個(gè)CRTF,每個(gè)RF和CRTF 都包含m棵樹(shù),如圖2 所示.針對(duì)每個(gè)級(jí)聯(lián)層的分類,在RF 中,每個(gè)節(jié)點(diǎn)隨機(jī)選擇特征,再使用基尼指數(shù)最大的特征作為該分裂節(jié)點(diǎn)劃分的條件;同時(shí),在CRTF 中,每個(gè)節(jié)點(diǎn)隨機(jī)選擇特征,再使用該特征進(jìn)行劃分并生成子節(jié)點(diǎn),直到每個(gè)葉子節(jié)點(diǎn)中只包含同一類樣本.每個(gè)森林通過(guò)葉子節(jié)點(diǎn)上不同種類樣本的比例來(lái)估算類的分布,再針對(duì)森林中全部的樹(shù)的輸出結(jié)果取均值,得到每個(gè)森林的類分布向量,共得到四個(gè)森林的類分布向量.因此,假設(shè)有m種分類的數(shù)據(jù)集便會(huì)得到4m維特征向量.對(duì)上一層和當(dāng)前層的結(jié)果進(jìn)行拼接,作為下一層的輸入.在最后一層針對(duì)所有向量取均值,得到最終的類向量,將概率最大的類作為樣本的預(yù)測(cè)結(jié)果.為了避免模型過(guò)擬合,訓(xùn)練選擇了10 折交叉驗(yàn)證法,如果性能沒(méi)有顯著提升,訓(xùn)練過(guò)程會(huì)自動(dòng)停止.
圖2 級(jí)聯(lián)森林的結(jié)構(gòu)Fig.2 The structure of Cascading Forest
DF 算法在一些小規(guī)模數(shù)據(jù)集上的精準(zhǔn)度還有提升空間,而采用多粒度掃描也增加了模型的復(fù)雜度,DF 模型中RF 的決策樹(shù)很多時(shí),訓(xùn)練需要的空間會(huì)加大,時(shí)間會(huì)加長(zhǎng).針對(duì)以上問(wèn)題,本文采用基于決策樹(shù)的Lightgbm 和XGBoost 算法對(duì)深度森林模型的級(jí)聯(lián)森林結(jié)構(gòu)進(jìn)行了優(yōu)化.
Lightgbm 采用單邊梯度采樣,減少大量只有小梯度的數(shù)據(jù)實(shí)例,在計(jì)算信息增益時(shí)只利用有高梯度的數(shù)據(jù),和遍歷所有特征值相比,節(jié)省了時(shí)間和空間的開(kāi)銷.同時(shí),采用互斥特征捆綁算法,將不會(huì)同時(shí)為非零值的特性進(jìn)行融合綁定,降低特征數(shù)量,降低模型的時(shí)間復(fù)雜度.最后,采用直方圖算法,把連續(xù)的浮點(diǎn)特征值離散化成K個(gè)整數(shù),同時(shí)構(gòu)造一個(gè)寬度為K的直方圖.在遍歷數(shù)據(jù)的時(shí)候,將離散化后的值作為索引在直方圖中累積統(tǒng)計(jì)量,由于只需保存特征離散化后的值,相比保存離散化之前的特征值,降低了內(nèi)存消耗.
XGBoost 算法通過(guò)不斷地進(jìn)行特征分裂來(lái)產(chǎn)生一棵樹(shù),而生成的樹(shù)就是一個(gè)新函數(shù),然后利用新函數(shù)擬合前一次函數(shù)產(chǎn)生的殘差,達(dá)到提高精度的目的.除了擁有高精度外,XGBoost 模型還具有泛化能力強(qiáng)、性能良好、不易過(guò)擬合等特點(diǎn).
本文在級(jí)聯(lián)森林結(jié)構(gòu)中引入Lightgbm 和XGBoost,將Lightgbm 模型中的葉子數(shù)量設(shè)為100,單個(gè)葉子上數(shù)據(jù)的最小數(shù)量設(shè)為300,學(xué)習(xí)率設(shè)為0.05,每棵樹(shù)的最大深度設(shè)為6,重新構(gòu)建級(jí)聯(lián)森林,如圖3 所示.算法的偽代碼如下所示.
圖3 LIGHT-XDF 算法的示意圖Fig.3 The schematic diagram of LIGHT-XDF
基于LIGHT-XDF 的成績(jī)預(yù)測(cè)模型的工作流程如圖4 所示.首先對(duì)原始數(shù)據(jù)進(jìn)行清洗,將數(shù)據(jù)按7∶3 的比例分為訓(xùn)練集和驗(yàn)證集,將訓(xùn)練集輸入模型中的多粒度掃描進(jìn)行特征選擇;將選擇后的數(shù)據(jù)輸入優(yōu)化的級(jí)聯(lián)森林,數(shù)據(jù)會(huì)經(jīng)過(guò)兩個(gè)Lightgbm 和兩個(gè)XGBoost 模型進(jìn)行訓(xùn)練,同時(shí)進(jìn)行10 折交叉驗(yàn)證,此時(shí),每個(gè)Lightgbm 和XGBoost 都生成不同比例的不同種類的樣本;最后,對(duì)兩個(gè)Lightgbm 和兩個(gè)XGBoost 的輸出結(jié)果取均值,將概率最大的類作為樣本的預(yù)測(cè)結(jié)果;如果精度有顯著提升,則再生成一個(gè)級(jí)聯(lián)森林層,對(duì)上一層的結(jié)果和當(dāng)前層的結(jié)果進(jìn)行拼接,作為下一層的輸入繼續(xù)訓(xùn)練,直到模型精度無(wú)顯著提升,結(jié)束訓(xùn)練;再將驗(yàn)證集輸入模型,得到結(jié)果之后計(jì)算模型的各項(xiàng)指標(biāo).
圖4 基于LIGHT-XDF 的成績(jī)預(yù)測(cè)模型的工作流程Fig.4 Performance prediction model based on LIGHTXDF
4.1 實(shí)驗(yàn)數(shù)據(jù)基于UCI 公開(kāi)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),選擇Dataset for Empirical Evaluation of Entry Requirements 包含的Chemical Engineering,Electrical and Electronics Engineering(EEE),Mechanical Engineering 以及Adult,Dry_Bean,Bank Marketing,Winequality-red 和Winequality-white 共計(jì)八個(gè)數(shù)據(jù)集,其中,Chemical Engineering,Electrical and Electronics Engineering,Mechanical Engineering 為學(xué)生成績(jī)數(shù)據(jù)集,其余為普通分類數(shù)據(jù)集,如表1 所示.針對(duì)數(shù)據(jù)集中含有的文本數(shù)據(jù)進(jìn)行one-hot 編碼處理.
表1 實(shí)驗(yàn)使用的數(shù)據(jù)集Table 1 Datasets used in experiments
4.2 評(píng)價(jià)指標(biāo)及對(duì)比模型為了驗(yàn)證模型的有效性,通過(guò)10 折交叉驗(yàn)證進(jìn)行實(shí)驗(yàn),并采用精度、召回率、F1 和AUC作為模型的評(píng)估指標(biāo).在選擇對(duì)比模型時(shí),考慮到DF 模型是2017 年提出的,故加入DF 的優(yōu)化模型ada-mdf[21]與lgb-df[22],在算法上類似深度學(xué)習(xí),同時(shí)又加入了優(yōu)化的深度學(xué)習(xí)模型ASTGNN[23]進(jìn)行對(duì)比.最終,選擇了RF,NB(Naive Bayes),KNN,SVM,Lightgbm,XGBoost,ASTGNN,DF,ada-mdf 和lgb-df 模型進(jìn)行對(duì)比實(shí)驗(yàn).
4.3 實(shí)驗(yàn)結(jié)果與分析為了驗(yàn)證LIGHT-XDF算法的有效性,將LIGHT-XDF 與RF,NB,KNN,SVM,Gcforest,ada-mdf 和lgb-df 在八個(gè)數(shù)據(jù)集上做對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2~6 所示,黑體字表示結(jié)果最優(yōu),下畫線表示結(jié)果次優(yōu).
表2 LIGHT-XDF 和十種對(duì)比算法在八個(gè)數(shù)據(jù)集上的算法精度比較Table 2 Classification accuracy of LIGHT-XDF and other ten algorithms on eight datasets
表3 LIGHT-XDF 和十種對(duì)比算法在八個(gè)數(shù)據(jù)集上的算法召回率比較Table 3 Model recall rates of LIGHT-XDF and other ten algorithms on eight datasets
表4 LIGHT-XDF 和十種對(duì)比算法在八個(gè)數(shù)據(jù)集上的算法的F1 比較Table 4 F1 of LIGHT-XDF and other ten algorithms on eight datasets
表5 LIGHT-XDF 和十種對(duì)比算法在八個(gè)數(shù)據(jù)集上的算法AUC 比較Table 5 AUC of LIGHT-XDF and other ten algorithms on eight datasets
算法精度,LIGHT-XDF 在三個(gè)數(shù)據(jù)集上表現(xiàn)最優(yōu),在同一數(shù)據(jù)集上和表現(xiàn)第二的算法相比,最高提升1%;在三個(gè)數(shù)據(jù)集上的表現(xiàn)為第二,與表現(xiàn)最優(yōu)的算法平均相差僅1.5%.
召回率,LIGHT-XDF 在兩個(gè)數(shù)據(jù)集上表現(xiàn)最優(yōu),在同一數(shù)據(jù)集上和表現(xiàn)第二的算法相比,最高提升0.011;在四個(gè)數(shù)據(jù)集上的表現(xiàn)為第二,與表現(xiàn)第一的算法平均相差僅0.05.
F1,LIGHT-XDF 在三個(gè)數(shù)據(jù)集上表現(xiàn)最優(yōu);在另外三個(gè)數(shù)據(jù)集上的表現(xiàn)為第二,與表現(xiàn)第一的算法平均相差在0.01 內(nèi).
AUC,LIGHT-XDF 在四個(gè)數(shù)據(jù)集上表現(xiàn)最優(yōu),在同一數(shù)據(jù)集上和表現(xiàn)第二的算法相比,最高提升0.011;在兩個(gè)數(shù)據(jù)集上的表現(xiàn)為第二,與表現(xiàn)第一的算法平均相差在0.01 內(nèi).
時(shí)間效率,LIGHT-XDF 與其他模型相比還有一定的提升空間,如表6 所示,這也為后續(xù)改進(jìn)指明了方向.
表6 LIGHT-XDF 和十種對(duì)比算法在八個(gè)數(shù)據(jù)集上的算法執(zhí)行時(shí)間的比較(s)Table 6 Execution time (s) of LIGHT-XDF and other ten algorithms on eight datasets
綜上,在精度、召回率、F1、AUC四個(gè)指標(biāo)中,LIGHT-XDF 模型在一半以上的數(shù)據(jù)集上表現(xiàn)最好,在剩余的大部分?jǐn)?shù)據(jù)集中的表現(xiàn)也是第二名,并且和第一名的差距很小,在0.01 之內(nèi).證明本文提出的LIGHT-XDF 模型的綜合性能優(yōu)于其他模型.
在學(xué)期中對(duì)學(xué)生成績(jī)進(jìn)行預(yù)測(cè)具有重要意義,但是目前的預(yù)測(cè)模型比較單一,且精度不高.本文提出一個(gè)基于Lightgbm 和XGBoost 的優(yōu)化深度森林算法LIGHT-XDF,在級(jí)聯(lián)森林中引入Lightgbm 和XGBoost,利用XGBoost 提高精度,利用Lightgbm 降低模型復(fù)雜度.使用LIGHTXDF 算法,以學(xué)生的行為數(shù)據(jù)和社會(huì)數(shù)據(jù)為輸入,預(yù)測(cè)學(xué)生的期末成績(jī)等級(jí),實(shí)驗(yàn)結(jié)果表明,與其他模型相比,LIGHT-XDF 在絕大部分?jǐn)?shù)據(jù)集上的綜合性能最好.
未來(lái)將進(jìn)行特征選擇研究,進(jìn)一步提高模型的精度和時(shí)間效率.