宋國琴,劉 斌
(1. 西華師范大學教育信息技術(shù)中心 四川 南充 637000;2. 電子科技大學計算機科學與工程學院 成都 611731)
大規(guī)模開放在線課程(massive open online courses, MOOCs)因為免費且學習環(huán)境寬松等特性,近年來得到了爆發(fā)式的增長。同時,MOOCs的寬松學習環(huán)境引發(fā)了輟學率居高不下的情況,輟學使在線教育教學有效性大大降低[1-2]。利用在線教育的大數(shù)據(jù),結(jié)合機器學習技術(shù)對在線教育相關(guān)情況進行分析,是目前數(shù)據(jù)研究的熱門方向之一。
另一方面,目前雖然有基于機器學習的在線教育的翹課預(yù)測工作[3],但沒有關(guān)于翹課指標量化的研究工作。翹課指數(shù)是預(yù)測翹課概率的指標,可以反映在線課堂的學習情況和變動程度、監(jiān)測學習者的發(fā)展動態(tài)及預(yù)測翹課的發(fā)展趨勢。目前國內(nèi)外鮮有提供在線教育的公共大數(shù)據(jù),KddCup2015[4]提供了寶貴的應(yīng)用實例。對基于KddCup2015的翹課指數(shù)的緊密追蹤和預(yù)測,將為在線教育中的各種變化和改革提供指標參考,具有重要的現(xiàn)實意義。
在指數(shù)挖掘過程中,需要通過特征選擇[5-8]實現(xiàn)高維特征的物理降維。特征選擇往往伴隨著機器學習過程。XGBoost[9]的特征選擇基于初始特征集建立分類模型,考察特征在模型中的表現(xiàn),得到特征的重要性,依據(jù)重要度進行特征子集搜索和評價,最終產(chǎn)生最優(yōu)子集,是一種兼具嵌入式和過濾式特征選擇方法。
本文基于數(shù)據(jù)建立豐富的特征并預(yù)處理,使用基于XGBoost算法做特征選擇,從與翹課相關(guān)的海量特征中找到最佳特征子集,形成在線教育的翹課指數(shù)DOI(dropout index),為監(jiān)測學習者學習動態(tài)、反映整體課程的學習情況以及預(yù)測學習者學習趨勢提供參考和依據(jù)。
KDDCup2015提供了學堂在線網(wǎng)站39門課程一個月的學習日志數(shù)據(jù),記錄數(shù)逾百萬,數(shù)據(jù)規(guī)模達600 MB。這些數(shù)據(jù)通過關(guān)系數(shù)據(jù)庫連接并提取特征的空間復(fù)雜度和時間復(fù)雜度都非常高,其主要的關(guān)系數(shù)據(jù)表及實體如圖1所示。
圖1 翹課定義KDDCUP2015數(shù)據(jù)E-R圖
翹課和輟學都是學習中的逃課行為,將輟學延伸到翹課,能準確和全面地反映幕課教學中的負面問題。翹課問題定義如圖2所示。
圖2 翹課定義
根據(jù)KDDCup2015比賽任務(wù)規(guī)定,翹課界定標準為某注冊號在某個時間點之后10天內(nèi)沒有日志記錄。根據(jù)對學堂在線網(wǎng)站的調(diào)查統(tǒng)計,學堂在線的課程絕大多數(shù)是一周更新一次課程,學習者可以在每周課程內(nèi)容上線后到下周課程推出前的任意時間登陸并學習。一門課程的更新時間有可能變化,最壞情況下,上次課周一更新而下次課周五更新,中間有10天間隔。因此,10天內(nèi)沒有學習記錄,足夠說明一次翹課行為。
本文按照行業(yè)經(jīng)驗,根據(jù)對翹課行為的理解和對數(shù)據(jù)集的挖掘,依據(jù)盡可能豐富和完備的原則,建立了翹課特征。這些特征分別從課程統(tǒng)計情況、用戶課程行為、用戶網(wǎng)站行為、不同時段行為、特殊時段如最后幾次課行為等5個方面提取,特征總數(shù)為1 658,樣本總數(shù)為120 542。
特征預(yù)處理的目的是在特征選擇前做一次特征粗選,以簡化后續(xù)特征選擇過程。皮爾遜相關(guān)性系數(shù)是衡量變量間相關(guān)性的常用指數(shù),設(shè) ( x1,x2,… ,xn)是一個n維隨機變量,對于任意xi與xj的相關(guān)系數(shù)ρij(i , j = 1 ,2,… ,n )存在,則有:
已知ρij為xi和xj兩個特征的皮爾遜相關(guān)系數(shù),設(shè)置0.9為高相關(guān)閾值,對于ρij≥0.9的兩個高相關(guān)度特征,再按照特征的總相關(guān)度進行篩選。特征的總相關(guān)度是為了考察某個特征xi與其他所有特征的相關(guān)性,總相關(guān)度越高,特征的獨立性越弱,可以相對地剔除。對于n個特征中的某個特征xi設(shè)定義為:對于n維特征,為了考察某個特征xi與其他所有n-1個特征的相關(guān)性,定義特征xi總相關(guān)度為對于兩個高相關(guān)特征xi和xj,比較ri和rj值,如果ri>rj則保留xi,否則保留xj。
根據(jù)此方法,特征數(shù)量縮減為原來的80%,實現(xiàn)了初步有效的預(yù)處理。
XGBoost在訓(xùn)練過程中為了提高生成新樹的效率,會在每輪迭代中給出各個特征的重要度評分,從而表明每個特征對模型訓(xùn)練的重要性,為下一次迭代建立梯度方向的新樹提供依據(jù)。這種統(tǒng)計出的特征重要性,可以直接作為特征選擇的依據(jù)。
基于XGBoost的特征選擇的步驟為:
1) 基于所有特征進行XGBoost分類;
2) 基于生成的模型過程中的信息,得到特征變量的重要性(FI)并按降序排序;
3) 按照前向搜索原則,即選擇FI值最高的若干特征,生成特征子集;
4) 在特征子集上進行分類實驗。特征子集的評價主要考察子集的分類能力,分類能力從分類結(jié)果中獲得;
5) 重復(fù)步驟3)和4),直到所有特征都被選擇;
6) 考察所有子集的分類情況,選擇AUC值相對較高同時特征數(shù)量較少的子集作為最優(yōu)特征子集。
傳統(tǒng)的適合二分類機器學習方法有邏輯回歸、SVM、隨機森林及Boosting算法[10]等等。XGBoost(extreme gradient boosting)也稱為極端梯度提升,是一種基于梯度提升機制GBM(gradient boosting machine)的改進算法,在KDDCUP2015競賽中的前3名均采用了此算法。它既是一個算法工程,也是已有算法的更新。其基本思想是選擇部分樣本和特征生成一個簡單模型(如決策樹)作為基本分類器,在生成新模型時,學習以前模型的殘差,最小化目標函數(shù)并生成新的模型,此過程重復(fù)執(zhí)行,最終產(chǎn)生由成百上千個線性或樹模型,組合為準確率很高的綜合模型。其核心在于,新的模型在相應(yīng)損失函數(shù)梯度方向建立,修正“殘差”的同時控制復(fù)雜度。XGBoost的目標函數(shù)包含兩部分:
1) 損失函數(shù)
式中,yi為第i個樣本標簽;為i樣本第t次迭代的預(yù)測值。L(θ)部分使用LogLoss作為損失函數(shù),采用泰勒展開式來逼近,其中同時使用了一階導(dǎo)數(shù)和二階導(dǎo)數(shù)。設(shè)gi和hi分別為一階和二階導(dǎo)數(shù):
則有:
2) 正則項
本文基本模型為回歸樹,樹的復(fù)雜度由兩方面決定,一是葉子的個數(shù),二是樹的結(jié)構(gòu)部分權(quán)重。最終的樹的復(fù)雜度公式定義為:
式中,T為葉子結(jié)點個數(shù);w為每個葉子的權(quán)重,葉子的權(quán)重值表達了在這個節(jié)點上的翹課的可能性。第二部分使用了w的L2范數(shù),可以更好地避免過擬合。
定義:
目標函數(shù)變?yōu)椋?/p>
這時目標函數(shù)變成關(guān)于w的二次函數(shù),目標函數(shù)最小時的最優(yōu)權(quán)重為:
代入目標函數(shù)變?yōu)椋?/p>
基于XGBoost分類的特征選擇時,特征重要度計算融入了分類過程。在每一輪的迭代中建立一棵新樹,樹中的分支節(jié)點即為一個特征變量,計算這些節(jié)點的重要度。特征重要度是基于一個特征被選擇為此樹的分裂節(jié)點的平方改進。在每次選擇一個特征加入樹中作為分裂節(jié)點前,會用貪心法枚舉所有可能的分割點,從中選擇增益最好的分裂點。
最好的分裂點對應(yīng)最大的增益,增益計算公式為:
好的特征及分裂點能改進單棵樹上的平方差,改進得越多,這個分裂點越好,這個特征越重要。當所有樹建立完成后,將計算到的結(jié)點重要性在森林中求平均。特征被選擇作為分裂點的次數(shù)越多,重要度也會越高。
對于有J個分支結(jié)點的樹T,如果j被選擇為此樹上的分裂變量,則計算所有分支結(jié)點t上的平方誤差和,即為特征j在這棵樹上的的重要度為:
對于有M棵樹的森林,將每棵樹上特征t的重要度相加再平均,得到最終的重要度:
目前,出現(xiàn)了很多種特征權(quán)重計算方式[11-17]。這些文獻中的數(shù)據(jù)集來自不同的領(lǐng)域,特征數(shù)或樣本數(shù)大多小于本文數(shù)據(jù)的規(guī)模,因此本文選擇了幾種經(jīng)典的、具有普適性和穩(wěn)定性的FI方法作對比實驗,包括Relief、Fisher、信息增益、皮爾遜相關(guān)系數(shù)。
另一方面,使用邏輯回歸(LR)與支持向量機(SVM)作分類方法的對比。支持向量機在超過10萬的大樣本集上工作非常困難,因此在分類前使用降采樣[18]減少樣本數(shù)至2萬左右。本特征集數(shù)據(jù)的正負樣本比例為:1:3.8,考慮到樣本的不平衡性,實驗中使用了采用受試者工作特征曲線(ROC)下圍面積(AUC)作為分類評價指標。
實驗中,不同的特征重要度計算結(jié)合不同的分類方法,均呈現(xiàn)一定的共性:隨著子集的特征數(shù)量增加,AUC值快速上升,最多增加到約400以后,AUC值趨于平穩(wěn)或震蕩下降。因此,不同實驗結(jié)果的子集數(shù)量比較范圍縮小至[10,400]。特征子集選擇過程中的分類實驗信息如表1、表2及圖3所示。
表1 不同打分方法的耗時
通過表1可以看出,基于XGBoost的特征計算耗時非常小,這在大維度數(shù)據(jù)集上非常重要。
圖3顯示了5種不同的特征重要度計算方法下產(chǎn)生的子集,使用3種分類方法的對比實驗顯示,基于XGBoost的特征重要度在3種分類下均有明顯的優(yōu)勢,其中,在XGBoost分類下的分類值和收斂效果是最好的。
圖4 單獨顯示了XGBoost特征選擇下子集的分類信息。綜合AUC全局和局部的最優(yōu)值,以及特征數(shù)量最小化,選擇重要度最高的前135個特征組成DOI特征。最優(yōu)特征子集的信息如表2和表3所示。
圖4 基于XGBoost特征重要度的最優(yōu)子集
表2 最優(yōu)特征子集內(nèi)容
表3 最優(yōu)特征子集表現(xiàn)
其中,重要度最高的特征包含最后一天訪問其他課程對象的用時,最后一天關(guān)閉網(wǎng)頁的用時等是非常有指示意義的特征。從表2中可以推斷出,某用戶翹一門課時,在其他同期課程也可能翹課;同時,用戶在課程操作、網(wǎng)站操作上會有不同表現(xiàn),而且愈臨近翹課越明顯。重點關(guān)注以上方向的趨勢,可在很大程度上主導(dǎo)對翹課的預(yù)測。
如表3所示,最優(yōu)特征子集只有135個特征,數(shù)量不到原來的1/10,而KDDCup2015前10名隊伍的特征數(shù)量大多在1 000以上[5]。因為特征子集數(shù)量小,也縮短了特征提取的時間,而分類性能卻下降極少。
在最優(yōu)特征子集上使用XGBoost算法構(gòu)造決策森林,森林中各棵樹的預(yù)測值加性求和,再將結(jié)果進行邏輯回歸,得到DOI指數(shù)的值。
式中,F(xiàn)為所有樹的函數(shù)空間;fk為單棵樹,其中包含了特征到分值的映射。取0.5為DOI指標的基準線,大于0.5表示翹課概率增加,小于0.5表示翹課概率減少。DOI值在0~1范圍內(nèi)變化,偏離0.5的大小表示翹課可能與否的程度。
為了在更多時間點上驗證DOI指數(shù),實驗在原數(shù)據(jù)集上以3天為間隔,產(chǎn)生前3,6,9…天的9個數(shù)據(jù)集,在這些新的數(shù)據(jù)集上提取DOI需要的特征和翹課標簽,將特征值代入DOI指標體系模型作回歸預(yù)測,實驗結(jié)果如圖5所示。
從圖5可以看出,在縮減大部分特征之后,在不同的時間點上,DOI指標擁有不錯的指示性。在開課初期,由于用戶剛開始學習,相關(guān)的統(tǒng)計信息不夠豐富,導(dǎo)致預(yù)測準確率相對偏低。
圖5 DOI在多個時間點的預(yù)測結(jié)果
從實驗結(jié)果看,本文使用的基于XGBoost分類相結(jié)合的特征選擇及預(yù)測方法具有合理性、有效性、可行性、先行性,能夠較好地在不同時間點上預(yù)測學生的翹課,為在線教育中建立翹課或輟學指標提供了有效的量化方法。DOI指數(shù)具備一定的先行性,有很大的應(yīng)用價值。
最近幾年,深度學習使圖像、文本等數(shù)據(jù)的特征工程自動化了,但是人類行為數(shù)據(jù)的特征工程智能化程度較低,仍然很具有挑戰(zhàn)性。文獻[19]提出并開發(fā)了一種深度特征合成算法,一定程度上實現(xiàn)了特征工程的自動化并取得不錯的分類結(jié)果,這將是人類行為數(shù)據(jù)特征提取和降維的重要研究方向。
KDDCup2015數(shù)據(jù)集還有諸多限制,本文得到的最優(yōu)特征子集放在同類其他數(shù)據(jù)集上的有效性有待進一步考察。實際應(yīng)用中,如能加入用戶信息或更多學習行為數(shù)據(jù)如視頻觀看的進度等,結(jié)合人類行為觀測到的陣發(fā)性、記憶性和非馬爾可夫特性[20]等特征,將進一步提升DOI指數(shù)的精確性和泛化性。
本文研究工作還得到南充市研發(fā)基金(17YFZJ0020)的支持,在此表示感謝。同時,感謝電子科技大學Smile實驗室及徐增林教授為本文提供的技術(shù)、資料、信息、物質(zhì)上的幫助。