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