黨佳俊,張宏烈,慕鋼,李誠,張曉琳
面向?qū)W生成績預(yù)測的組合優(yōu)化算法
黨佳俊1,張宏烈1,慕鋼1,李誠1,張曉琳2
(1. 齊齊哈爾大學(xué) 計算機與控制工程學(xué)院,黑龍江 齊齊哈爾 161006;2. 齊齊哈爾市建華區(qū)教師進(jìn)修學(xué)校 信息技術(shù)部,黑龍江 齊齊哈爾 161006)
利用機器學(xué)習(xí)算法分析和預(yù)測學(xué)生成績是大數(shù)據(jù)技術(shù)應(yīng)用之一.將啟發(fā)式算法與梯度提升算法相結(jié)合,提出組合優(yōu)化算法預(yù)測模型.首先,通過采用動態(tài)對立學(xué)習(xí)增加種群初始化的多樣性,引入非線性收斂因子和自適應(yīng)權(quán)重等方法,得到增強鯨魚算法,改進(jìn)原來的全局搜索和局部開發(fā)能力.其次,基于XGboost模型加以增強鯨魚算法的迭代,動態(tài)優(yōu)化XGboost的超參數(shù),提出組合算法預(yù)測模型.準(zhǔn)確率ACC作為模型的評價標(biāo)準(zhǔn),以學(xué)生數(shù)據(jù)集為研究對象,以學(xué)生成績預(yù)測為目標(biāo),選用5種算法進(jìn)行對比實驗.實驗結(jié)果表明,組合算法的預(yù)測準(zhǔn)確度相對較高.
組合優(yōu)化算法;增強鯨魚算法;XGboost算法;學(xué)生成績預(yù)測
學(xué)生成績預(yù)測是目前教育領(lǐng)域研究的熱點之一.隨著科技的不斷發(fā)展,大數(shù)據(jù)技術(shù)被廣泛地應(yīng)用在教育領(lǐng)域中.利用大數(shù)據(jù)技術(shù)對學(xué)生的學(xué)習(xí)成績進(jìn)行預(yù)測,可以幫助教師及時調(diào)整教學(xué)計劃,提高學(xué)生的學(xué)習(xí)成績,降低學(xué)生不及格的比率,還能對學(xué)生起到監(jiān)督和預(yù)警的作用,更有助于教師對學(xué)生的學(xué)習(xí)過程進(jìn)行有效的干預(yù)和指導(dǎo).如識別出有風(fēng)險的學(xué)生,以便及時提供干預(yù)措施[1].此外,還可以用于在線測評[2]、認(rèn)知診斷[3]、推薦系統(tǒng)[4].因此,學(xué)生成績預(yù)測問題具有重要的研究意義和應(yīng)用價值.
針對“學(xué)生成績預(yù)測”方法的研究已經(jīng)受到國內(nèi)外學(xué)者的廣泛關(guān)注.Umair[5]等基于學(xué)生的行為數(shù)據(jù),采用支持向量機對學(xué)生成績進(jìn)行預(yù)測.Pandey[6]等在影響學(xué)生成績的18個屬性特征中通過計算各個屬性特征的信息增益率選擇出8個重要屬性,并利用所選擇的8個重要屬性構(gòu)建決策樹對學(xué)生成績進(jìn)行預(yù)測.陳曦[7]等提出融合知識圖譜和協(xié)同過濾的學(xué)生成績預(yù)測方法.Thiele[8]等提出學(xué)生的社會人口學(xué)特征和學(xué)業(yè)特征與他們的學(xué)業(yè)表現(xiàn)聯(lián)系緊密.文獻(xiàn)[9]提出了基于主成分分析法-徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,使用主成分分析法進(jìn)行數(shù)據(jù)降維,利用RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)生成績預(yù)測,雖然提高了預(yù)測精度,但是未得出學(xué)生成績的影響因子,使該模型的可理解性降低[10].申航杰[11]等綜合考慮學(xué)生歷史成績和行為數(shù)據(jù),采用模糊C均值算法對歷史成績屬性做聚類,然后分別對每個聚類做支持向量回歸.張麒增[12]等基于學(xué)生歷史數(shù)據(jù)和行為數(shù)據(jù),使用采樣技術(shù)結(jié)合神經(jīng)網(wǎng)絡(luò)預(yù)測學(xué)生成績.葉俊民[13]等通過分析情感特征、學(xué)生行為等影響,采用深度學(xué)習(xí)模型對成績進(jìn)行預(yù)測.
雖然研究成果取得較好的成績,但仍然存在一些問題,如預(yù)測結(jié)果的準(zhǔn)確度還是不夠理想.為了提高學(xué)生成績的預(yù)測精度,本文應(yīng)用改進(jìn)的鯨魚算法優(yōu)化XGboost算法的思想,兼顧鯨魚算法的自然啟發(fā)式特性和XGboost的梯度提升特點,通過2個算法的有效組合,研究出新的學(xué)生成績預(yù)測模型.
為了對學(xué)生成績做出準(zhǔn)確的預(yù)測,數(shù)據(jù)分析十分重要.本文選取的數(shù)據(jù)集是Kaggle網(wǎng)站中的xAPL-Educational Mining Dataset數(shù)據(jù)集,它是一個多變量的數(shù)據(jù)集,該數(shù)據(jù)集一共480個樣本,17個特征屬性.屬性可以分為3個類別:人口統(tǒng)計學(xué)特征,如性別、國籍、出生地等;學(xué)術(shù)背景屬性,如受教育水平、年級、隸屬的教室、課程名稱等;表現(xiàn)特征,如學(xué)生在教室中舉手次數(shù)、學(xué)生訪問在線課程次數(shù)、學(xué)生檢查新公告的次數(shù)、學(xué)生參加討論組的次數(shù)等.
圖1 數(shù)值型特征之間的關(guān)系
使用Python3.7語言對獲取的數(shù)據(jù)進(jìn)行分析,在Anaconda集成環(huán)境中進(jìn)行開發(fā)實現(xiàn),發(fā)現(xiàn)某些特征屬性存在一定關(guān)系.通過PairGrid圖觀察數(shù)值型特征之間的關(guān)系(見圖1),可以發(fā)現(xiàn)學(xué)習(xí)好的學(xué)生在學(xué)習(xí)方面表現(xiàn)相對積極,如學(xué)生在教室中舉手次數(shù)、學(xué)生訪問在線課程次數(shù)、學(xué)生檢查新公告的次數(shù)、學(xué)生參加小組討論的次數(shù).學(xué)習(xí)好的學(xué)生在教室中舉手次數(shù)最多(見圖2),學(xué)生參加小組討論的次數(shù)最多(見圖3).
圖2 學(xué)生在教室中舉手次數(shù)與成績等級的關(guān)系
圖3 學(xué)生參加小組討論的次數(shù)與成績等級的關(guān)系
XGboost(eXtreme Gradient Boosting),即極端梯度提升,屬于提升學(xué)習(xí)算法的一種.XGboost算法由Chen Tianqi[14]提出,目前在機器學(xué)習(xí)算法研究領(lǐng)域中被廣泛使用.該算法在梯度提升決策樹(GBDT)算法的基礎(chǔ)上對損失函數(shù)(loss)進(jìn)行二階泰勒展開,然后加入了正則項,解決了過擬合的問題,同時收斂速度得到了提升.XGboost算法通過不斷形成新的決策樹來擬合之前所預(yù)測的殘差,使得預(yù)測值與真實值的殘差不斷縮小,魯棒性越來越好,預(yù)測的精度得到了提升.XGboost算法可以用加法的形式表示
對式(2)所示的目標(biāo)函數(shù)使用泰勒公式展開得
式(7)被用來計算樹模型的分裂結(jié)點.
2016年Mirjalili[15]等提出了一種新的自然啟發(fā)式算法——鯨魚算法(WOA).鯨魚作為世界上最大的哺乳動物,可群居也可獨居,其中捕食時以群體為主.群體中鯨魚最大的為座頭鯨,捕食方式被稱為氣泡網(wǎng)覓食法(見圖4).從鯨魚的捕食方式可歸納出鯨魚捕獵的行為并建立數(shù)學(xué)模型,包含包圍捕食、氣泡網(wǎng)攻擊、搜索獵物3個部分.
圖4 座頭鯨的氣泡網(wǎng)進(jìn)食行為
1.3.1 包圍捕食 鯨魚的獵物是磷蝦和小魚群,當(dāng)座頭鯨發(fā)現(xiàn)獵物后將其包圍.當(dāng)處在最佳搜索位置的鯨魚確定位置后,其余鯨魚根據(jù)最佳鯨魚的位置不斷更新其位置.該行為表示為
1.3.2 氣泡網(wǎng)攻擊 鯨魚捕食時會采用氣泡網(wǎng)覓食法,其中座頭鯨會潛入水下12 m左右,并且向獵物發(fā)出螺旋形的氣泡,然后游向水面,此方法為上升螺旋;另一種策略是采用珊瑚循環(huán)的同時用尾葉拍打水面以此獲得捕獲循環(huán),此方法為雙螺旋.這2種方法可以模仿座頭鯨氣泡網(wǎng)攻擊行為:一種是收縮包圍機制,另一種是螺旋更新位置.通過縮小包圍或螺旋運動,鯨魚更接近誘餌,在螺旋更新位置方法中,其數(shù)學(xué)模型
座頭鯨采用不斷縮小包圍圈繞著獵物游動,并且采用螺旋形路徑游動.在收縮包圍圈的同時,可以對此行為建模.假設(shè)鯨魚采用收縮包圍機制和螺旋模型的概率各占50%,以便在優(yōu)化過程中不斷更新鯨魚位置.?dāng)?shù)學(xué)模型為
鯨魚算法是一種自然啟發(fā)式算法,其存在的主要問題也是搜索精度低,易于陷入局部最優(yōu)解.針對鯨魚算法的收斂速度慢,求解不精確的缺點,可以從3個方面進(jìn)行改進(jìn).
(1)改善初始種群的位置——對立學(xué)習(xí)法
針對鯨魚算法(WOA)存在搜索精度低,易于陷入局部最優(yōu)解的問題,為此引入對立學(xué)習(xí),有效地解決了種群初始位置選擇盲目性的問題,使得初始搜索位置變佳.在改善鯨魚算法初始種群質(zhì)量的同時,可以動態(tài)更新模型的超參數(shù),有效地提高了鯨魚算法的收斂速度和精度.該方法的核心思想是基于當(dāng)前值的基礎(chǔ)上找到對應(yīng)的對立值來尋求最優(yōu)解,從而增強算法的性能.對立學(xué)習(xí)
將對立學(xué)習(xí)由低維轉(zhuǎn)化成高維,則多維對立學(xué)習(xí)
(2)改善收斂速度——自適應(yīng)收斂因子
將Sigmoid函數(shù)引入收斂因子中,極大地加強了全局尋優(yōu)和局部尋優(yōu)的能力
(3)改善尋優(yōu)能力——動態(tài)權(quán)值因子
本文所采用的動態(tài)權(quán)值因子使得權(quán)重會隨著適應(yīng)度的變化,根據(jù)實際需要自動調(diào)整權(quán)值.對于鯨魚算法(WOA)精度和收斂速度的提升起到了很大的作用,有利于算法跳出次優(yōu)解,尋找最優(yōu)解.
由此可見,在鯨魚算法的基礎(chǔ)上通過引入對立學(xué)習(xí)、自適應(yīng)收斂因子、動態(tài)權(quán)值因子等方法,可以有效改進(jìn)鯨魚算法的全局勘探能力和局部尋優(yōu)能力,所以改進(jìn)后的鯨魚算法(IWOA)性能將會有很大提高.
XGBoost是集成學(xué)習(xí)方法,通過組合各個決策樹的輸出來預(yù)測.XGBoost每次構(gòu)建一個決策樹,每一個新的樹都修正以前訓(xùn)練過的決策樹所產(chǎn)生的錯誤.由于通過優(yōu)化目標(biāo)函數(shù)導(dǎo)出了增強樹,基本上XGBoost可以解決幾乎所有可以寫出漸變的目標(biāo)函數(shù),這包括排名和泊松回歸等問題.XGBoost在很多情況下比深度學(xué)習(xí)更為可靠、靈活,而且準(zhǔn)確.在絕大多數(shù)的回歸和分類問題上,XGBoost的實際表現(xiàn)都是頂尖的.但是如果數(shù)據(jù)有噪聲,XGBoost模型對過渡擬合更敏感.由于樹木是按順序建造的,因此訓(xùn)練通常需要更長時間,XGBoost調(diào)整更難一些.XGBoost通常有3個參數(shù):樹的數(shù)量、樹的深度、學(xué)習(xí)率,其構(gòu)建的每個樹通常是淺的.
本文基于XGboost的預(yù)測模型,利用改進(jìn)的鯨魚算法來優(yōu)化預(yù)測模型,提出2種算法相融合的組合算法預(yù)測模型IWOA-XGboost.在組合算法中,改進(jìn)鯨魚算法是為XGboost全局優(yōu)化而設(shè)計的,它在機器學(xué)習(xí)中調(diào)整超參數(shù)非常受歡迎.在調(diào)整機器學(xué)習(xí)算法的參數(shù)方面比網(wǎng)格或隨機搜索技術(shù)更有效.它可以有效地平衡“搜索”和“保留”,找到全局最優(yōu).組合算法流程見圖5.首先,將學(xué)生成績的歷史數(shù)據(jù)預(yù)處理,并作為XGboost算法的輸入變量;其次,XGboost算法進(jìn)行初步預(yù)測,然后使用改進(jìn)的鯨魚算法優(yōu)化XGBoost的超參數(shù)進(jìn)行二次預(yù)測;最后,輸出預(yù)測結(jié)果.
圖5 學(xué)生成績預(yù)測建模策略
本實驗通過Pycharm平臺,利用Python3.7語言進(jìn)行編程,在Anaconda集成環(huán)境中進(jìn)行開發(fā)實現(xiàn).操作系統(tǒng)是Windows10系統(tǒng),處理器版本為Intel(R) Core(TM)i5-10400F,系統(tǒng)運行內(nèi)存為16 GB,系統(tǒng)類型為64位操作系統(tǒng).?dāng)?shù)據(jù)集選取kaggle平臺中的xAPL-Educational Mining Dataset數(shù)據(jù)集,數(shù)據(jù)中包含:學(xué)生性別、學(xué)生國籍、學(xué)生的出生地、父母受教育水平、監(jiān)護(hù)學(xué)生的家長等17個特征屬性.采用的評價指標(biāo)為Accuracy值,選用了傳統(tǒng)的機器學(xué)習(xí)算法作為對比.
在機器學(xué)習(xí)領(lǐng)域中,用于評價一個預(yù)測模型的性能有多種指標(biāo),其中幾項就是TP、TN、FP、FN、精確率(Precision)、召回率(Recall)、準(zhǔn)確率(Accuracy).
TP:預(yù)測為正向(P),實際上預(yù)測正確(T),即判斷為正向的正確率;
TN:預(yù)測為負(fù)向(N),實際上預(yù)測正確(T),即判斷為負(fù)向的正確率;
FP:預(yù)測為正向(P),實際上預(yù)測錯誤(F),誤報率,即把負(fù)向判斷成了正向;
FN:預(yù)測為負(fù)向(N),實際上預(yù)測錯誤(F),漏報率,即把正向判斷成了負(fù)向;
準(zhǔn)確率(Accuracy)是最直觀的預(yù)測指標(biāo),是模型判斷正確的數(shù)據(jù)(TP+TN)占總數(shù)據(jù)的比例.計算方法
本實驗選取支持向量機(SVC)、譜聚類(SC)、邏輯回歸(LR)、XGBoost 4種傳統(tǒng)機器學(xué)習(xí)算法,以及改進(jìn)鯨魚優(yōu)化XGboost算法(IWOA-XGboost),對同樣一組數(shù)據(jù),用Accuracy作為評價標(biāo)準(zhǔn),實驗結(jié)果見表1,5種算法用直方圖表示(見圖6).由實驗結(jié)果可以看到,其中IWOA-XGboost的Accuracy值達(dá)到0.86,為最高,算法提升效果比較明顯.
表1 不同模型Accuracy結(jié)果
圖6 5種算法ACC直方圖
本文通過深入分析Kaggle平臺xAPL-Educational Mining Dataset數(shù)據(jù)集,研究了17個變量,其中學(xué)生的總成績(class)為目標(biāo)變量,其余16個變量為解釋變量.在充分分析數(shù)據(jù)集的基礎(chǔ)上,選用了改進(jìn)的鯨魚優(yōu)化算法結(jié)合XGboost算法提出IWOA-XGboost,并且與傳統(tǒng)的機器學(xué)習(xí)算法如SVC,SC,LR,XGboost做對比實驗.實驗結(jié)果表明,IWOA-XGboost有效地提升了學(xué)生成績預(yù)測的準(zhǔn)確率.因此,本文的研究成果為分析和預(yù)測學(xué)生成績提供了智能助手.
[1] Bienkowski M,F(xiàn)eng M,Means B.Enhancing Teaching and Learning through Educational Data Mining and Learning Analytics:An Issue Brief[R].Washington:US Department of Education,Office of Educational Technology,2012,1:1-57
[2] Lykourentzou I,Giannoukos I,Mpardis G,et al.Early and dynamic student achievement prediction in e-learning courses using neural networks[J].Journal of the American Society for Information Science and Technology,2009,60(2):372-380.
[3] Wu Runze,Liu Qi,Liu Yuping,et al.Cognitive modelling for predicting examinee performance[C]//Proc of the 24th Int Joint Conf on Artificial Intelligence.Menlo Park,CA:AAAI Press,2015:1017-1024.
[4] Hui L,Li H,Shu Z,et al.Intelligent learning system based on personalized recommendation technology[J].Neural Computing and Applications,2018,31:4455-4462.
[5] Umair S,Sharif M M.Predicting students grades using artificial neural networks and support vector machine[M]//Encyclopedia of Information Science and Technology.4 ed.IGI Global,2018:5169-5182.
[6] Pandey M,Sharma V K.A decision tree algorithm pertaining to the student performance analysis and prediction[J].International Journal of Computer Applications,2013,61(13): 1-5.
[7] 陳曦,梅廣,張金金,等.融合知識圖譜和協(xié)同過濾的學(xué)生成績預(yù)測方法[J].計算機應(yīng)用,2020,40(2):595-601.
[8] Thiele T,Singleton A,Pope D,et al.Predicting students' academic performance based on school and socio-demographic characteristics[J].Studies in Higher Education,2016,41(8):1424-1446.
[9] 胡帥,顧艷,姜華.基于PCA-RBF網(wǎng)絡(luò)的學(xué)生寫作成績預(yù)測模型[J].計算機與現(xiàn)代化,2016(1):69-72,126.
[10] 吳強,方睿,韓斌,等.基于決策樹-LMBP神經(jīng)網(wǎng)絡(luò)的學(xué)生成績分析及預(yù)測模型的研究[J].成都信息工程大學(xué)學(xué)報, 2018,33(3):274-280.
[11] 申航杰,琚生根,孫界平.基于模糊聚類和支持向量回歸的成績預(yù)測[J].華東師范大學(xué)學(xué)報(自然科學(xué)版),2019(5): 66-73,84.
[12] 張麒增,戴翰波.基于數(shù)據(jù)預(yù)處理技術(shù)的學(xué)生成績預(yù)測模型研究[J].湖北大學(xué)學(xué)報(自然科學(xué)版),2019,41(1):101-108.
[13] 葉俊民,羅達(dá)雄,陳曙.基于短文本情感增強的在線學(xué)習(xí)者成績預(yù)測方法[J].自動化學(xué)報,2020,46(9):1927-1940.
[14] Chen Tianqi,Carlos Guestrin.Xgboost:A scalable tree boosting system[C] //Proceedings of the 22nd ACM Sigkdd International Conference on Knowledge Discovery and Data Mining.ACM,2016:785-794.
[15] Mirjalili S,Lewis A.The Whale Optimization Algorithm[J].Advances in Engineering Software,2016,95:51-67.
Combined optimization algorithm for student achievement prediction
DANG Jiajun1,ZHANG Honglie1,MU Gang1,LI Cheng1,ZHANG Xiaolin2
(1. School of Computer and Control Engineering,Qiqihar University,Qiqihar 161006,China;2. Department of Information Technology,Teacher Training School in Jianhua District of Qiqihar,Qiqihar 161006,China)
It is one of applications of big data technology to analyze and predict student achievement by using machine learning algorithms.The prediction model of a combined optimization algorithm is proposed,in which the heuristic algorithm and the gradient boosting algorithm are combined.First of all,the dynamic oppositional learning is adopted to increase the diversity of population initialization,and nonlinear convergence factors and adaptive weights are introduced.Thereby,the enhanced whale algorithm is obtained,and the original global search and the local development capabilities are improved.Then,based on the XGboost model,the iteration of the whale algorithm is enhanced,the hyper-parameters of XGboost are dynamically optimized,and a combined algorithm prediction model is proposed.Accuracy ACC is used as the evaluation standard of the model,taking the student data set as the research object and the student achievement prediction as the goal.Five algorithms are selected for the comparative experiments.The experimental results verify that the prediction accuracy of the combined algorithm proposed is relatively higher.
combined optimization algorithm;enhanced whale algorithm;XGboost algorithm;student achievement prediction
1007-9831(2022)05-0040-07
TP391
A
10.3969/j.issn.1007-9831.2022.05.007
2022-02-08
黑龍江省教育廳基本業(yè)務(wù)專項理工面上項目(135509118)
黨佳?。?995-),男,黑龍江齊齊哈爾人,在讀碩士研究生,從事大數(shù)據(jù)技術(shù)研究.E-mail:2973451137@qq.com
張宏烈(1966-),女,黑龍江齊齊哈爾人,教授,博士,從事大數(shù)據(jù)技術(shù)、嵌入式系統(tǒng)研究.E-mail:15845673377@163.com