楊坤融,熊 余,,張 健,儲(chǔ) 雯
1.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065
2.重慶郵電大學(xué) 教育信息化辦公室,重慶 400065
在線學(xué)習(xí)被廣泛認(rèn)為是一場(chǎng)新的教育革命,已經(jīng)成為教育學(xué)、心理學(xué)、數(shù)據(jù)科學(xué)等學(xué)科交叉研究的熱門課題。在學(xué)術(shù)界和業(yè)界的共同努力下,尤其在新冠肺炎疫情突然爆發(fā)的刺激下,在線學(xué)習(xí)在教育中的作用越發(fā)凸顯[1]。在此背景下大規(guī)模開放式在線課程(massive open online courses,MOOC)提供數(shù)千門精心設(shè)計(jì)的在線課程,充分滿足數(shù)以萬(wàn)計(jì)學(xué)生的需求。在一個(gè)典型的在線學(xué)習(xí)平臺(tái)中,學(xué)生不僅可以自由地訪問(wèn)課程視頻,完成作業(yè)和參加考試,還可以使用在線論壇和維基等輔助工具。顯然,在線學(xué)習(xí)因?yàn)閮?yōu)質(zhì)、開放、免費(fèi)等諸多優(yōu)點(diǎn)而廣受學(xué)生的青睞,但需要注意的是,由于師生缺少面對(duì)面交流,學(xué)生上課時(shí)間碎片化等問(wèn)題,在線學(xué)習(xí)具有極高的輟學(xué)率[2]。相關(guān)研究表明,大多數(shù)在線學(xué)習(xí)平臺(tái)的課程完成率低至4%~10%,而輟學(xué)率高達(dá)80%~95%[3]。同時(shí),由于在線學(xué)習(xí)環(huán)境中教師相比于學(xué)生數(shù)目較少,教師無(wú)法跟蹤每一位學(xué)生的學(xué)習(xí)行為。因此,對(duì)學(xué)生進(jìn)行精準(zhǔn)和及時(shí)的輟學(xué)預(yù)測(cè),從而提高在線課程的保留率,改善在線課程質(zhì)量和教學(xué)方法對(duì)在線學(xué)習(xí)的持續(xù)健康發(fā)展具有重要意義[4]。
高輟學(xué)率對(duì)MOOC 平臺(tái)和學(xué)生自身都有負(fù)面影響,不利于MOOC 在全球的持續(xù)發(fā)展。從平臺(tái)角度來(lái)看,輟學(xué)會(huì)增加每個(gè)學(xué)生的平均成本,因?yàn)槲聦W(xué)習(xí)者的注冊(cè)成本遠(yuǎn)大于留住潛在輟學(xué)者的成本。而從學(xué)生角度來(lái)看,輟學(xué)是對(duì)時(shí)間和精力投入的浪費(fèi)。為了解決高輟學(xué)率這一顯著問(wèn)題,就必須充分利用MOOC 平臺(tái)中記錄并儲(chǔ)存的海量學(xué)習(xí)者行為數(shù)據(jù)建立預(yù)測(cè)模型,實(shí)現(xiàn)對(duì)輟學(xué)者的精準(zhǔn)預(yù)測(cè)。輟學(xué)預(yù)測(cè)是根據(jù)學(xué)生歷史學(xué)習(xí)行為記錄來(lái)預(yù)測(cè)未來(lái)某個(gè)時(shí)間退出課程的可能性[5]。通過(guò)對(duì)學(xué)生行為建模預(yù)測(cè)輟學(xué)概率,可以隨時(shí)獲取學(xué)習(xí)者在平臺(tái)的學(xué)習(xí)情況,提前發(fā)現(xiàn)其輟學(xué)風(fēng)險(xiǎn)。MOOC平臺(tái)存儲(chǔ)的學(xué)習(xí)行為數(shù)據(jù)主要包括點(diǎn)擊流數(shù)據(jù)、論壇數(shù)據(jù)和作業(yè)數(shù)據(jù)三大類,研究者通過(guò)制定合理的特征工程,從這些行為數(shù)據(jù)中提取影響學(xué)生最終學(xué)習(xí)效果的特征,以便進(jìn)一步建立輟學(xué)預(yù)測(cè)模型。其中點(diǎn)擊流數(shù)據(jù)因能較完整地反映學(xué)生的學(xué)習(xí)軌跡,在構(gòu)建輟學(xué)預(yù)測(cè)模型時(shí)往往能取得較好的性能[6]。現(xiàn)有的輟學(xué)預(yù)測(cè)方法主要使用傳統(tǒng)機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法建立預(yù)測(cè)模型,從而提高預(yù)測(cè)的準(zhǔn)確性。文獻(xiàn)[7]將學(xué)生的每周學(xué)習(xí)行為形成序列,根據(jù)每周學(xué)習(xí)行為情況定義不同類型的學(xué)生,使用支持向量機(jī)(support vector machine,SVM)構(gòu)建模型預(yù)測(cè)學(xué)生下周的輟學(xué)情況。文獻(xiàn)[8]從點(diǎn)擊流數(shù)據(jù)中提取學(xué)生行為特征,綜合運(yùn)用邏輯回歸(logistic regression,LR)和線性SVM 方法預(yù)測(cè)輟學(xué)行為,并在預(yù)測(cè)過(guò)程中對(duì)每個(gè)特征向量做輟學(xué)預(yù)測(cè)性的檢驗(yàn),得出在前幾周預(yù)測(cè)中加入論壇數(shù)據(jù)能有效提高預(yù)測(cè)準(zhǔn)確率。文獻(xiàn)[9]提出一種基于長(zhǎng)短期記憶(long shortterm memory,LSTM)網(wǎng)絡(luò)的輟學(xué)預(yù)測(cè)策略。首先將輟學(xué)預(yù)測(cè)問(wèn)題視為時(shí)間序列預(yù)測(cè)問(wèn)題;隨后將學(xué)生點(diǎn)擊流和論壇數(shù)據(jù)以周為時(shí)間步長(zhǎng)構(gòu)建學(xué)生行為時(shí)間序列,最后利用LSTM預(yù)測(cè)學(xué)生是否輟學(xué)。文獻(xiàn)[10]以卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)作為預(yù)測(cè)模型,并設(shè)計(jì)了一個(gè)基于時(shí)間序列的二維矩陣作為輸入,將時(shí)間信息與學(xué)生的行為特征相結(jié)合,解決了行為特征之間的短期依賴性問(wèn)題。文獻(xiàn)[11]綜合考慮了CNN 和LSTM 的優(yōu)點(diǎn),提出了一種CLMS-Net 混合網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)由CNN、LSTM 和SVM 組成,其中CNN 可以從學(xué)生行為數(shù)據(jù)中自動(dòng)提取有用的特征,LSTM用于捕獲學(xué)生行為數(shù)據(jù)中的時(shí)間關(guān)系,SVM 作為最終的分類器判定學(xué)生是否輟學(xué)。
雖然以上研究已經(jīng)取得了比較好的表現(xiàn),但仍然存在兩方面問(wèn)題:(1)當(dāng)前研究忽略了學(xué)生行為數(shù)據(jù)的短期依賴關(guān)系以及長(zhǎng)期的模式和趨勢(shì)。MOOC 課程往往會(huì)持續(xù)數(shù)周,在課程學(xué)習(xí)期間學(xué)生的行為活動(dòng)以周為單位分布得非常均勻,此時(shí)學(xué)生行為序列不僅呈現(xiàn)短期的依賴關(guān)系,而且存在長(zhǎng)期的周期性,傳統(tǒng)的機(jī)器學(xué)習(xí)算法和常用的CNN、LSTM等深度學(xué)習(xí)算法并不能很好地捕捉數(shù)據(jù)的這些特點(diǎn)[12-13]。(2)當(dāng)前研究在輟學(xué)預(yù)測(cè)中默認(rèn)為輟學(xué)和不輟學(xué)樣本的數(shù)量差別不大,忽略了輟學(xué)預(yù)測(cè)中的動(dòng)態(tài)類別不平衡問(wèn)題。實(shí)際上,盡管在線學(xué)習(xí)平臺(tái)的總體輟學(xué)率較高,但在課程學(xué)習(xí)過(guò)程中的每一時(shí)間步長(zhǎng)下(如每周),輟學(xué)的學(xué)生相比于未輟學(xué)的人數(shù)仍然較少,數(shù)據(jù)集隨著課程的開展不斷變化,同時(shí)存在類別不平衡問(wèn)題。并且在訓(xùn)練模型時(shí)先前研究通常假設(shè)數(shù)據(jù)集中輟學(xué)和未輟學(xué)兩類樣本誤分類代價(jià)相等,以整體誤差最小化為目標(biāo)訓(xùn)練預(yù)測(cè)模型。故在此情況下預(yù)測(cè)模型分析得到的結(jié)果會(huì)偏向多數(shù)類,即未輟學(xué)的學(xué)生,從而使得實(shí)際上要輟學(xué)的學(xué)生被模型判定為未輟學(xué),無(wú)法及時(shí)進(jìn)行人為干預(yù),造成學(xué)生放棄課程的后果。
為此,可將MOOC 輟學(xué)預(yù)測(cè)視作長(zhǎng)短期不平衡時(shí)間序列問(wèn)題,提出一種針基于深度學(xué)習(xí)的輟學(xué)預(yù)測(cè)策略(dropout prediction strategy based on deep learning,DPSDL)。該策略首先構(gòu)建以天為時(shí)間步長(zhǎng)、周為學(xué)習(xí)周期的新型學(xué)生行為時(shí)間序列;然后結(jié)合兩種不同的輟學(xué)定義,判斷不同時(shí)間點(diǎn)學(xué)生的輟學(xué)人數(shù)并揭示輟學(xué)預(yù)測(cè)中的類別不平衡現(xiàn)象;隨后為了捕捉學(xué)生行為數(shù)據(jù)長(zhǎng)期的模式趨勢(shì)和短期的依賴性,使用長(zhǎng)短期時(shí)間序列網(wǎng)絡(luò)(long-and short-term time-series network,LSTNet)構(gòu)建時(shí)間序列預(yù)測(cè)模型,該模型中的卷積單元用于捕捉學(xué)生行為中的短期依賴關(guān)系,并且通過(guò)循環(huán)跳躍層對(duì)輸入數(shù)據(jù)進(jìn)行維度整理,緩解網(wǎng)絡(luò)中的梯度消失現(xiàn)象,以此獲取數(shù)據(jù)中更為長(zhǎng)期的模式和趨勢(shì),并充分利用時(shí)間序列的周期特性;最后引入代價(jià)敏感性學(xué)習(xí)解決不同時(shí)間步長(zhǎng)下的動(dòng)態(tài)類別不平衡問(wèn)題,提升預(yù)測(cè)精度。
MOOC 平臺(tái)上教學(xué)形式通常是教師每周將課程內(nèi)容以在線視頻的方式發(fā)布給學(xué)生,并且教學(xué)者會(huì)布置一些作業(yè)供學(xué)生作答。隨著課程的進(jìn)行學(xué)生可能會(huì)對(duì)課程的某些內(nèi)容和作業(yè)存在疑惑,這時(shí)可以去課程對(duì)應(yīng)的論壇討論問(wèn)題,MOOC平臺(tái)會(huì)記錄課程中所有學(xué)生的學(xué)習(xí)行為。本文對(duì)學(xué)生的學(xué)習(xí)行為進(jìn)行分析,深度挖掘?qū)W生的學(xué)習(xí)規(guī)律,新發(fā)現(xiàn)了學(xué)生行為記錄數(shù)據(jù)的長(zhǎng)短期混合模式。一般地,以一周為時(shí)間步長(zhǎng)可將學(xué)生每周在平臺(tái)上的所有活動(dòng)數(shù)據(jù)匯總開展學(xué)習(xí)分析。通常,每周學(xué)生會(huì)按照某種長(zhǎng)期養(yǎng)成的學(xué)習(xí)習(xí)慣和規(guī)律開展學(xué)習(xí)(例如在每周初首次觀看課程視頻而在本周末課程結(jié)束時(shí)完成作業(yè)),這使得學(xué)生行為隨著課程的進(jìn)行呈現(xiàn)長(zhǎng)期的周期性[14]。同時(shí),學(xué)生的學(xué)習(xí)行為并不是獨(dú)立出現(xiàn)的,而是在某段較短時(shí)間內(nèi)連續(xù)發(fā)生(例如學(xué)生在完成作業(yè)前會(huì)再次觀看課程視頻并瀏覽課程論壇),因此學(xué)生行為也存在短期依賴關(guān)系。要捕捉學(xué)生行為數(shù)據(jù)的長(zhǎng)期模式趨勢(shì)及短期依賴性,通常以周為時(shí)間步長(zhǎng)的學(xué)習(xí)分析將難以準(zhǔn)確描述這種復(fù)雜的時(shí)間序列關(guān)系。為此,這里將時(shí)間步長(zhǎng)縮小為一天,并以一周為一個(gè)學(xué)習(xí)周期,由此捕捉每一時(shí)間步長(zhǎng)下時(shí)間序列數(shù)據(jù)的短期依賴關(guān)系和相鄰學(xué)習(xí)周期之間的長(zhǎng)期模式和趨勢(shì)。將學(xué)生K周的學(xué)習(xí)行為按時(shí)間順序形成序列XK=(x1,x2,…,xt,…,x7K),其中xt為第t個(gè)時(shí)間步長(zhǎng)下的行為序列。同時(shí),可根據(jù)所采用的輟學(xué)定義為每個(gè)學(xué)習(xí)周期各個(gè)學(xué)生生成一個(gè)輟學(xué)標(biāo)簽,這里yK∈{0,1}(0代表未輟學(xué),1代表輟學(xué))。隨著課程的推進(jìn),輟學(xué)預(yù)測(cè)問(wèn)題可以定義為:使用學(xué)生截至第K個(gè)學(xué)習(xí)周期(包括第K個(gè)周期)的行為序列XK,從而預(yù)測(cè)學(xué)生在該周期結(jié)束時(shí)的狀態(tài)yK,在每個(gè)學(xué)習(xí)周期結(jié)束時(shí)預(yù)測(cè)一次,直到課程結(jié)束,如圖1所示。
圖1 學(xué)生長(zhǎng)短期時(shí)間序列構(gòu)建Fig.1 Construction of students’long-and short-time series
在MOOC輟學(xué)預(yù)測(cè)中的動(dòng)態(tài)類別不平衡問(wèn)題是指數(shù)據(jù)集中每個(gè)時(shí)間點(diǎn)未輟學(xué)人數(shù)遠(yuǎn)高于輟學(xué)人數(shù),并且類別的數(shù)量隨時(shí)間不斷發(fā)生變化,本文揭示了這種現(xiàn)象。為了準(zhǔn)確認(rèn)識(shí)這個(gè)問(wèn)題,首先依據(jù)輟學(xué)定義判定學(xué)生在某個(gè)時(shí)間點(diǎn)是否處于輟學(xué)狀態(tài),隨后統(tǒng)計(jì)該時(shí)間點(diǎn)的輟學(xué)人數(shù)和未輟學(xué)人數(shù),最后通過(guò)計(jì)算不平衡率(imbalance ratio,IR)衡量數(shù)據(jù)集的不平衡程度[15]。IR可由式(1)計(jì)算得出:
其中,n1和n2分別為輟學(xué)和未輟學(xué)的人數(shù)。若IR>1,即n2>n1,說(shuō)明未輟學(xué)人數(shù)多于輟學(xué)的人數(shù),且IR值越大,學(xué)生輟學(xué)預(yù)測(cè)中的類不平衡程度越高,反之則越低。
為了判定學(xué)生在不同時(shí)間步長(zhǎng)的狀態(tài),需要應(yīng)用準(zhǔn)確的輟學(xué)定義判斷學(xué)生是否輟學(xué)。為了證明類別不平衡現(xiàn)象并不是偶然發(fā)生,這里使用MOOC 輟學(xué)預(yù)測(cè)研究通用的KDD Cup 2015數(shù)據(jù)集,結(jié)合文獻(xiàn)[16]總結(jié)的兩種最常用的輟學(xué)定義判定數(shù)據(jù)集中學(xué)生在不同時(shí)間步長(zhǎng)的狀態(tài)。
輟學(xué)定義1:若(xt+1,xt+2,…,xt+m)=?,即學(xué)生在未來(lái)一段或多段時(shí)間步長(zhǎng)內(nèi)沒(méi)有學(xué)習(xí)行為,則判定為輟學(xué)。
輟學(xué)定義2:若a?(x7K-6,x7K-5,…,x7K),即學(xué)生在課程結(jié)束之前的最后一周內(nèi)沒(méi)有提交作業(yè)的行為,則判定為輟學(xué)。其中a為提交作業(yè)行為。
根據(jù)學(xué)生學(xué)習(xí)課程的不同階段,可結(jié)合以上兩種輟學(xué)定義來(lái)分析其輟學(xué)行為,其中定義1 和定義2 分別適用于課程前中期和末期。按照第1.1節(jié)提出的學(xué)生行為時(shí)間序列,從KDD Cup 2015公開數(shù)據(jù)集中選擇人數(shù)較多的5 門課程[4],統(tǒng)計(jì)在每個(gè)學(xué)習(xí)周期結(jié)束后輟學(xué)人數(shù)和未輟學(xué)人數(shù),并計(jì)算不平衡率IR。對(duì)于輟學(xué)學(xué)生只統(tǒng)計(jì)本學(xué)習(xí)周期結(jié)束時(shí)新產(chǎn)生的輟學(xué)人數(shù),而不是累計(jì)的輟學(xué)人數(shù)。圖2 是數(shù)據(jù)集不平衡率變化情況,圖3 為在線課程人數(shù)隨時(shí)間變化示意圖。從圖中可以看出,隨著課程的開展,不斷地有學(xué)生放棄課程,在每個(gè)時(shí)間段輟學(xué)的人數(shù)實(shí)際上少于未輟學(xué)的人數(shù),是一個(gè)累積的過(guò)程,因此輟學(xué)者應(yīng)當(dāng)視為少數(shù)類,而未輟學(xué)者為多數(shù)類,并且數(shù)據(jù)集的類別不平衡程度隨著時(shí)間的推移動(dòng)態(tài)變化。許多學(xué)生選擇在課程的第一周放棄課程,此時(shí)數(shù)據(jù)集不平衡率IR較低。隨著課程的開展,輟學(xué)人數(shù)不斷下降,課程人數(shù)較為平穩(wěn),所對(duì)應(yīng)的數(shù)據(jù)集不平衡率IR逐漸上升,在第3周達(dá)到峰值(最高為8.82),最后在第5周達(dá)到最低點(diǎn)(最低為0.75),并且大多數(shù)時(shí)間段的IR皆大于1,數(shù)據(jù)集存在動(dòng)態(tài)類別不平衡問(wèn)題。在課程第1周學(xué)生處于課程的初步了解階段,由于課程內(nèi)容不合適或難度較高,導(dǎo)致輟學(xué)人數(shù)較多,此時(shí)IR并不高;隨著時(shí)間的推移,課程逐漸進(jìn)入平穩(wěn)階段,只有少部分學(xué)生輟學(xué),因此數(shù)據(jù)集極度不平衡;在課程最后1周,學(xué)生面臨考試的壓力,也有一部分學(xué)生參加課程的目的是學(xué)習(xí)課程內(nèi)容,對(duì)于最終的考試成績(jī)并不關(guān)注,因此導(dǎo)致輟學(xué)人數(shù)急劇上升,從而降低了IR??梢?,課程在線學(xué)習(xí)人數(shù)是不斷變化的,因此數(shù)據(jù)集的不平衡程度隨著課程的推進(jìn)而不斷起伏,且在大多數(shù)情況下類別不平衡問(wèn)題較為嚴(yán)重,即在一個(gè)學(xué)習(xí)周期內(nèi)未輟學(xué)學(xué)生的數(shù)量遠(yuǎn)大于輟學(xué)學(xué)生。
圖2 不平衡率隨時(shí)間變化情況Fig.2 Imbalance ratio changes over time
圖3 課程在線學(xué)習(xí)人數(shù)變動(dòng)示意圖Fig.3 Illustration of change in the number of online learning students
從以上分析可知,通過(guò)統(tǒng)計(jì)分析時(shí)間序列數(shù)據(jù)的特點(diǎn),可將MOOC 輟學(xué)預(yù)測(cè)視為長(zhǎng)短期不平衡時(shí)間序列分類問(wèn)題。目前深度學(xué)習(xí)算法已經(jīng)成為構(gòu)建時(shí)間序列模型的主流工具,現(xiàn)有研究所使用的深度學(xué)習(xí)模型可分為三類:(1)單一的CNN;(2)單一的RNN 及其變體,例如LSTM 和GRU;(3)由CNN 和RNN 組成的混合神經(jīng)網(wǎng)絡(luò)。其中,CNN 雖然能夠通過(guò)滑動(dòng)卷積核窗口以及池化等方法捕捉時(shí)間序列數(shù)據(jù)中的短期依賴關(guān)系,但是由于其卷積核大小的限制,不能很好地抓取長(zhǎng)時(shí)的依賴信息。而以LSTM和GUR為代表的循環(huán)神經(jīng)網(wǎng)絡(luò)由于訓(xùn)練的不穩(wěn)定性和梯度消失問(wèn)題,很難記錄較為長(zhǎng)期的周期模式[17]。因此本文充分考慮輟學(xué)預(yù)測(cè)數(shù)據(jù)集中學(xué)生行為的短時(shí)間連續(xù)性和長(zhǎng)期周期性,引入LSTNet 網(wǎng)絡(luò)作為預(yù)測(cè)模型解決學(xué)生時(shí)間序列數(shù)據(jù)中短期和長(zhǎng)期混合模式的捕獲問(wèn)題,其核心思想是充分發(fā)揮CNN 的優(yōu)勢(shì),發(fā)現(xiàn)短期連續(xù)行為之間的局部依賴模式,并通過(guò)特殊的循環(huán)層對(duì)輸入數(shù)據(jù)進(jìn)行維度整理,緩解深層網(wǎng)絡(luò)中的梯度消失現(xiàn)象,達(dá)到獲取學(xué)習(xí)行為中更為長(zhǎng)期的模式和趨勢(shì)的目的,并充分利用學(xué)生行為的周期特性[13]。如圖4所示,LSTNet由卷積單元、循環(huán)單元、循環(huán)跳躍單元以及密集層組成。學(xué)生行為時(shí)間序列首先輸入卷積單元中,用于提取每一時(shí)間步長(zhǎng)下學(xué)生行為之間局部模式和短期依賴關(guān)系;隨后,將卷積單元的輸出分別輸入到循環(huán)單元和循環(huán)跳躍單元中,用于發(fā)現(xiàn)相鄰學(xué)習(xí)周期間數(shù)據(jù)的長(zhǎng)期模式和趨勢(shì);最后,通過(guò)密集層整合循環(huán)單元和循環(huán)跳躍單元的輸出,并得到最終的預(yù)測(cè)結(jié)果。
圖4 LSTNet網(wǎng)絡(luò)預(yù)測(cè)模型Fig.4 LSTNet network prediction model
LSTNet的卷積單元是一個(gè)不含池化層的單層卷積神經(jīng)網(wǎng)絡(luò)。學(xué)生MOOC 平臺(tái)在每一次學(xué)習(xí)中,往往會(huì)在一段較短的時(shí)間進(jìn)行多次學(xué)習(xí)活動(dòng),例如觀看學(xué)習(xí)視頻、查找資料、參與討論等。因此可以通過(guò)卷積單元提取每一時(shí)間步長(zhǎng)下連續(xù)學(xué)習(xí)行為之間的局部相關(guān)性信息,并獲得與輟學(xué)相關(guān)的高級(jí)特征。這里使用前面圖1所設(shè)計(jì)的學(xué)生行為序列X=(x1,x2,…,xt,…,x7K)作為模型輸入。為了加快模型的收斂速度,緩解深層網(wǎng)絡(luò)中“梯度消失”的問(wèn)題,學(xué)生行為序列X經(jīng)卷積層處理后需要進(jìn)行批量歸一化(batch normalization,BN)才能輸入到ReLU激活函數(shù)中[18],如下所示:
其中,W為權(quán)重矩陣,*為卷積運(yùn)算,b為偏置,s、y、D分別為卷積層輸出、批量歸一化輸出和卷積單元的輸出。
卷積單元的輸出D=(d1,d2,…,dq)同時(shí)輸入到循環(huán)單元和循環(huán)跳躍單元用于捕獲學(xué)生時(shí)間序列學(xué)習(xí)周期之間的長(zhǎng)期模式,其中dq為第q個(gè)卷積核的輸出。循環(huán)單元由基于門控循環(huán)單元(gated recurrent unit,GRU)的循環(huán)層構(gòu)成,學(xué)生經(jīng)常在連續(xù)多個(gè)時(shí)間步長(zhǎng)內(nèi)表現(xiàn)出相似的學(xué)習(xí)行為,即學(xué)生在第二天的學(xué)習(xí)狀態(tài)有很大的可能性與學(xué)生前一天的學(xué)習(xí)狀態(tài)相似,因此可通過(guò)GRU記憶模塊中的更新門與重置門兩個(gè)門函數(shù)對(duì)學(xué)生行為之間的時(shí)間信息進(jìn)行進(jìn)一步提取。更新門用于控制前一時(shí)間步長(zhǎng)的狀態(tài)信息被帶入到當(dāng)前時(shí)間步長(zhǎng)中的程度,權(quán)值越大表明前一時(shí)間步長(zhǎng)的信息帶入越多,學(xué)生在相鄰時(shí)間步長(zhǎng)之下學(xué)生狀態(tài)越相似,學(xué)習(xí)存在規(guī)律性;重置門用于控制忽略前一時(shí)間步長(zhǎng)的狀態(tài)信息程度,其權(quán)值越小說(shuō)明忽略得越多,學(xué)生某些偶然或無(wú)關(guān)學(xué)習(xí)行為越多。第t個(gè)時(shí)間步長(zhǎng)下GRU記憶模塊的門函數(shù)計(jì)算公式如下:
更新門rt:
重置門zt:
更新規(guī)則ht:
其中,Wr、Wz、為權(quán)重矩陣。
MOOC 平臺(tái)的教學(xué)視頻和作業(yè)測(cè)試等課程資料一般每周組織一次,在課程期間學(xué)生的行為活動(dòng)以周為單位分布得非常均勻,因此學(xué)生行為序列呈現(xiàn)長(zhǎng)期的周期模式。但是GRU和LSTM神經(jīng)網(wǎng)絡(luò)由于“梯度消失”問(wèn)題很難捕捉這種長(zhǎng)期的周期模式,因此LSTNet 通過(guò)在循環(huán)單元后添加循環(huán)跳躍單元來(lái)解決這個(gè)問(wèn)題。循環(huán)跳躍單元主要是在循環(huán)單元上做出修改,即相對(duì)于GRU和LSTM,循環(huán)跳躍單元中隱含層與一個(gè)周期之前時(shí)刻的隱含層建立聯(lián)系,而不是前一時(shí)刻的隱含層,在學(xué)生長(zhǎng)期的學(xué)習(xí)行為之間建立聯(lián)系,獲取學(xué)習(xí)行為之間的長(zhǎng)期相關(guān)性,捕獲其周期規(guī)律。如下所示:
更新門rt:
重置門zt:
更新規(guī)則ht:
其中,p為跳躍過(guò)的循環(huán)神經(jīng)元的數(shù)量,由于定義的時(shí)間步長(zhǎng)為一天,一周為一個(gè)周期,這里p=7。隨后使用一個(gè)密集層組合循環(huán)單元和循環(huán)跳躍單元的輸出,將循環(huán)單元在第t個(gè)時(shí)間步長(zhǎng)時(shí)刻下的輸出定義為,循環(huán)跳躍單元從第t-p+1 至t個(gè)時(shí)間步長(zhǎng)時(shí)刻的定義為,密集層的輸出可以表示為:
先前研究在訓(xùn)練輟學(xué)預(yù)測(cè)模型時(shí),通常假設(shè)數(shù)據(jù)集中輟學(xué)和未輟學(xué)兩類樣本誤分類代價(jià)相等,以整體誤差最小化為目標(biāo)更新模型參數(shù)。然而在MOOC輟學(xué)預(yù)測(cè)中輟學(xué)樣本相比于未輟學(xué)樣本擁有更高的重要性,例如將一個(gè)高輟學(xué)風(fēng)險(xiǎn)的學(xué)生判定為未輟學(xué)時(shí),教師則可能不會(huì)給予幫助,從而導(dǎo)致學(xué)生放棄課程的后果,而將無(wú)輟學(xué)或低風(fēng)險(xiǎn)的學(xué)生判定為輟學(xué)時(shí),教師的介入并不會(huì)產(chǎn)生消極影響,因此輟學(xué)樣本的誤分類代價(jià)應(yīng)比未輟學(xué)要高,而不是相等。并且隨著課程的開展,如前面圖2和圖3所描述的動(dòng)態(tài)類別不平衡現(xiàn)象,這時(shí)分類誤差主要來(lái)自未輟學(xué)學(xué)生,在這種情況下以整體誤差最小為目標(biāo)訓(xùn)練模型,會(huì)導(dǎo)致預(yù)測(cè)模型偏向于未輟學(xué)而忽略輟學(xué),造成無(wú)法正確識(shí)別輟學(xué)學(xué)生的后果。
代價(jià)敏感性學(xué)習(xí)以代價(jià)敏感理論為基礎(chǔ),將分類的重心放在誤分類代價(jià)較高的樣本,以不同類別樣本誤分類總代價(jià)最低為優(yōu)化目標(biāo)。因此本文引入基于代價(jià)敏感性學(xué)習(xí)的全局均方誤差分離(global mean square error separation,GMSES)算法[19],優(yōu)化LSTNet 預(yù)測(cè)模型,將深度學(xué)習(xí)算法和代價(jià)敏感性學(xué)習(xí)結(jié)合,獲取學(xué)生行為記錄數(shù)據(jù)中長(zhǎng)短期混合模式的同時(shí),解決數(shù)據(jù)集中的動(dòng)態(tài)類別不平衡問(wèn)題。該方法通過(guò)分離各個(gè)類別的分類誤差,并賦予不同的代價(jià)權(quán)重,以保證不平衡數(shù)據(jù)中多數(shù)類與少數(shù)類的分類精度。GMSES算法使用的損失函數(shù)如下:
其中,c為訓(xùn)練集樣本的數(shù)量,ec和yc分別為模型的期望輸出和實(shí)際輸出,k為代價(jià)權(quán)重,當(dāng)樣本為多數(shù)類時(shí)(未輟學(xué))k=1,當(dāng)樣本為少數(shù)類時(shí)(輟學(xué))k=k*。由于MOOC 數(shù)據(jù)集的不平衡率IR隨著課程的進(jìn)行動(dòng)態(tài)變化,k*也應(yīng)該隨著數(shù)據(jù)集的變化而擁有不同的最優(yōu)值。為此,這里可使用梯度下降法來(lái)優(yōu)化k*,使其基于每一批次訓(xùn)練的幾何平均數(shù)(geometric mean,G-mean)和精度(Accuracy)而自適應(yīng)變化,并使用梯度下降進(jìn)行優(yōu)化,如式(15)~(18)所示:
式(15)為k*的損失函數(shù);T為每一批次訓(xùn)練集少數(shù)類最大誤分類代價(jià);H為完整數(shù)據(jù)集的少數(shù)類樣本的最大誤分類代價(jià)(這里設(shè)為訓(xùn)練集的不平衡率IR);式(18)為梯度下降算法的更新步驟。偽代碼如算法1所示。
該算法的步驟1~4為訓(xùn)練前的準(zhǔn)備工作,對(duì)數(shù)據(jù)集進(jìn)行劃分,并將模型的權(quán)重ω*、偏置b*和少數(shù)類樣本的代價(jià)權(quán)重k*進(jìn)行初始化,隨機(jī)生成初始值。步驟6~11為L(zhǎng)STNet的迭代訓(xùn)練過(guò)程,在每一次迭代下,首先需要將劃分后的數(shù)據(jù)集vi依次輸入模型中,隨后基于式(14)的損失函數(shù)對(duì)模型進(jìn)行訓(xùn)練,最后更新模型權(quán)重ω*和偏置b*。步驟12~14為少數(shù)類樣本代價(jià)權(quán)重k*的計(jì)算過(guò)程,每一次模型迭代訓(xùn)練完成后,需要對(duì)權(quán)重k*進(jìn)行計(jì)算并更新,直到迭代次數(shù)達(dá)到上限。
KDD Cup 2015 數(shù)據(jù)集是教育數(shù)據(jù)挖掘領(lǐng)域應(yīng)用最為廣泛的數(shù)據(jù)集。由于在線教育平臺(tái)的盈利性,目前極少有完整并且真實(shí)的公開數(shù)據(jù)集,數(shù)據(jù)集極其稀缺。因此KDD Cup 2015 數(shù)據(jù)集有極高的研究和應(yīng)用價(jià)值。該數(shù)據(jù)集記錄了“學(xué)堂在線”2013 年10 月27 日至2014年8月1日期間學(xué)生的課程選擇記錄和學(xué)習(xí)記錄,共有來(lái)自39 門課程的79 186 名學(xué)生的120 542 條注冊(cè)活動(dòng)日志,每門課程需要長(zhǎng)達(dá)5周的學(xué)習(xí)時(shí)間。經(jīng)過(guò)對(duì)數(shù)據(jù)集的分析,只有5%~10%的學(xué)生會(huì)參與論壇,大多數(shù)學(xué)生沒(méi)有任何的論壇行為數(shù)據(jù)。因此這里不將論壇特征作為預(yù)測(cè)特征,只采用點(diǎn)擊流數(shù)據(jù)和作業(yè)數(shù)據(jù)來(lái)進(jìn)行輟學(xué)預(yù)測(cè)。由于同一學(xué)生在不同課程之間輟學(xué)行為具有相關(guān)性[5],為了進(jìn)一步提升預(yù)測(cè)精度,將學(xué)生在其他課程的行為也作為預(yù)測(cè)特征。例如預(yù)測(cè)學(xué)生在課程c的輟學(xué)情況,將學(xué)生在除課程c外的所有課程的點(diǎn)擊流數(shù)據(jù)和作業(yè)數(shù)據(jù)的平均數(shù)、最大值和最小值也作為預(yù)測(cè)特征。完整的預(yù)測(cè)特征如表1所示。
表1 第t 個(gè)時(shí)間步長(zhǎng)下學(xué)生在課程c 的特征列表Table 1 Feature list of students in course c at t-th time step
實(shí)驗(yàn)采用Anaconda3.50 作為仿真平臺(tái),LSTNet 的輸入為第1.1 節(jié)所建立的學(xué)生時(shí)間序列矩陣,卷積單元為單層的一維卷積,使用100 個(gè)卷積核生成100 個(gè)特征映射,卷積核大小均為6。循環(huán)單元和循環(huán)跳躍單元中神經(jīng)元數(shù)目為100,并使用Dropout 函數(shù)防止過(guò)擬合現(xiàn)象,取值為0.2。模型最終輸出為0~1的數(shù)字,表示學(xué)生在相應(yīng)課程輟學(xué)的概率。其中大于0.5 則定義為輟學(xué),反之則為未輟學(xué)。使用代價(jià)敏感性學(xué)習(xí)訓(xùn)練模型時(shí),批量大小設(shè)置為32,迭代次數(shù)設(shè)置為200。
本次實(shí)驗(yàn)從KDD Cup 2015數(shù)據(jù)集中選擇15門課程,每門課程持續(xù)時(shí)間為5周,即為5個(gè)學(xué)習(xí)周期。在每個(gè)學(xué)習(xí)周期結(jié)束后,使用第1.2 節(jié)提出的輟學(xué)定義對(duì)數(shù)據(jù)集中輟學(xué)樣本和未輟學(xué)樣本進(jìn)行更新,并將數(shù)據(jù)集中的80%的學(xué)生數(shù)據(jù)作為訓(xùn)練集,其余20%作為測(cè)試集,實(shí)驗(yàn)的基線模型為SVM[7]、LR[8]、梯度上升決策樹(gradient boosting decision tree,GBDT)[21]、樸素貝葉斯(naive Bayes,NB)[22]、LSTM[9]、CNN[10]和CLMS-Net[11]。
常規(guī)的評(píng)價(jià)指標(biāo)一般使用精度和AUC,但在MOOC輟學(xué)預(yù)測(cè)中,數(shù)據(jù)集的類別不平衡問(wèn)題使得輟學(xué)樣本在一個(gè)學(xué)習(xí)周期內(nèi)遠(yuǎn)少于未輟學(xué)樣本,因此輟學(xué)樣本對(duì)總體的預(yù)測(cè)精度影響較小,這導(dǎo)致即使將全部學(xué)生樣本視為未輟學(xué),模型依然被認(rèn)為擁有較好的性能。為此,所選用的評(píng)價(jià)指標(biāo)需要適用于類別不平衡數(shù)據(jù)集的特點(diǎn)。本文除了選擇精度和AUC 兩種常用評(píng)價(jià)指標(biāo),并且挑選針對(duì)不平衡數(shù)據(jù)分類性能評(píng)估的兩種典型評(píng)價(jià)指標(biāo),分別是F1值和G-mean,如下所示:
其中,TPrate為真正率,表示正類樣本中被正確分類的概率;TNrate為真負(fù)率,表示負(fù)類樣本中被正確分類的概率;precision為查準(zhǔn)率,表示預(yù)測(cè)為正類的樣本中被正確分類的概率。F1 是基于查準(zhǔn)率和真正率的調(diào)和平均,用于衡量模型對(duì)輟學(xué)樣本的分類性能;G-mean結(jié)合了輟學(xué)樣本和未輟學(xué)樣本的分類準(zhǔn)確性,用于衡量模型對(duì)數(shù)據(jù)集整體的分類性能。TPrate、TNrate和precision的定義如下:
第一次對(duì)比實(shí)驗(yàn),將基線分為兩類,分別為傳統(tǒng)機(jī)器學(xué)習(xí)算法(traditional machine learning algorithms,TA)和深度學(xué)習(xí)算法(deep learning algorithms,DL)。傳統(tǒng)機(jī)器模型包括SVM、LR、BDT、NB。深度學(xué)習(xí)算法包括CNN、LSTM 和CLMS-Net。統(tǒng)計(jì)傳統(tǒng)機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法在精度、AUC、F1值和G值的整體表現(xiàn),并與所提DPSDL 策略進(jìn)行對(duì)比,其中DPSDL-W 表示所提策略不使用代價(jià)敏感性學(xué)習(xí)進(jìn)行優(yōu)化。第一次實(shí)驗(yàn)?zāi)康氖球?yàn)證通過(guò)捕獲學(xué)生行為數(shù)據(jù)的長(zhǎng)短期混合特性能夠提升預(yù)測(cè)精度。實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 顯示了在第一次比較實(shí)驗(yàn)中不同策略精度、AUC、F1值和G值的整體表現(xiàn)。其中DPSDL-W表示所提策略不使用代價(jià)敏感性學(xué)習(xí)。結(jié)果表明,在連續(xù)時(shí)間步長(zhǎng)下,以SVM、LR、BDT 和NB 為代表的傳統(tǒng)機(jī)器學(xué)習(xí)整體表現(xiàn)最差,而可以獲取學(xué)生學(xué)習(xí)行為之間依賴關(guān)系的深度學(xué)習(xí)策略和所提的DPSDL-W 策略能獲得比傳統(tǒng)機(jī)器學(xué)習(xí)更高的準(zhǔn)確性。在第1 周時(shí),DPSDL-W和深度學(xué)習(xí)在四種評(píng)估標(biāo)準(zhǔn)下的整體表現(xiàn)差距并不大。這是由于此時(shí)學(xué)生行為記錄只包含一個(gè)學(xué)習(xí)周期的數(shù)據(jù),學(xué)生行為數(shù)據(jù)并沒(méi)有呈現(xiàn)周期性,導(dǎo)致所提DPSDL策略使用的LSTNet模型的循環(huán)單元和循環(huán)跳躍單元無(wú)法捕捉相鄰學(xué)習(xí)周期之間的關(guān)系,其模型的優(yōu)勢(shì)未得到充分展現(xiàn)。隨著課程的推進(jìn),學(xué)生行為記錄逐漸包含多個(gè)學(xué)習(xí)周期,所提DPSDL-W 策略性能不斷上升,明顯優(yōu)于深度學(xué)習(xí)策略,其精度、AUC、F1 值和G 值比深度學(xué)習(xí)策略平均提升了5.5%、6.4%、4.9%和6.8%。原因是深度學(xué)習(xí)算法中的CNN雖然通過(guò)滑動(dòng)卷積核窗口以及池化等方法能夠捕捉時(shí)間序列數(shù)據(jù)中的短期依賴關(guān)系,但是難以捕捉長(zhǎng)期的周期模式。LSTM和CLMS-Net由于梯度消失問(wèn)題,無(wú)法提取學(xué)生行為數(shù)據(jù)中較為長(zhǎng)期的周期模式。而本文所使用的LSTNet 不僅充分發(fā)揮了CNN的優(yōu)勢(shì),捕捉學(xué)生行為數(shù)據(jù)中的短期依賴關(guān)系,同時(shí)通過(guò)循環(huán)跳躍層對(duì)輸入數(shù)據(jù)進(jìn)行維度整理,緩解網(wǎng)絡(luò)中的梯度消失現(xiàn)象,以此獲取更為長(zhǎng)期的模式和趨勢(shì),并充分利用學(xué)生行為數(shù)據(jù)的周期特性。從以上分析可知,所提策略在不同時(shí)間點(diǎn)均取得了優(yōu)異的性能,因此通過(guò)構(gòu)建長(zhǎng)短期學(xué)生時(shí)間序列,并引入LSTNet 網(wǎng)絡(luò)模型能夠解決學(xué)生行為數(shù)據(jù)的長(zhǎng)短期混合特性的捕獲問(wèn)題,提升預(yù)測(cè)精度。同時(shí)也注意到,在課程第3周,所提三種策略的整體表現(xiàn)均有所下降,如第3周的DPSDL-W策略的精度、AUC、F1 值和G 值相比于第2 周分別下降了1.4%、3.5%、0.9%和1.8%。因?yàn)榇藭r(shí)處于課程中期,學(xué)生的學(xué)習(xí)狀態(tài)較為平穩(wěn),輟學(xué)人數(shù)遠(yuǎn)少于未輟學(xué)人數(shù),使得數(shù)據(jù)集中類別不平衡問(wèn)題極為嚴(yán)重(正如圖2 所示),從而導(dǎo)致預(yù)測(cè)性能變差。
圖5 不同類型策略的整體性能Fig.5 Overall performance of different types of strategies
第二次對(duì)比實(shí)驗(yàn)是將CNN、LSTM 和CLMS-Net 三種深度學(xué)習(xí)策略和DPSDL-W 使用代價(jià)敏感性學(xué)習(xí)進(jìn)一步優(yōu)化,證明代價(jià)敏感性學(xué)習(xí)可以解決輟學(xué)預(yù)測(cè)中動(dòng)態(tài)類別不平衡問(wèn)題,達(dá)到提升預(yù)測(cè)精確度的目的。如圖6所示,CS-CNN、CS-LSTM、CS-CLMS-Net為使用代價(jià)敏感性學(xué)習(xí)優(yōu)化后的深度學(xué)習(xí)策略,DPSDL 為所提的完整策略。可以看到優(yōu)化后的三種策略性能均有明顯提升,其中精度平均提升了1.6%,AUC值平均提升了2.2%,F(xiàn)1 值平均提升了1.94%,G 值平均提升了1.91%。尤其在動(dòng)態(tài)類別不平衡問(wèn)題最嚴(yán)重的第3周,性能提升最為明顯,其中四種評(píng)估標(biāo)準(zhǔn)分別平均提升了2.3%、3.9%、3.76%、3.1%。而所提完整的DPSDL 策略的性能仍然優(yōu)于三種深度學(xué)習(xí)策略,其精度、AUC、F1 值和G值分別提升了1.36%、2.28%、1.38%和1.94%。因此,引入代價(jià)敏感性學(xué)習(xí)可以在原有策略基礎(chǔ)上提升預(yù)測(cè)性能,達(dá)到解決數(shù)據(jù)集中的動(dòng)態(tài)類別不平衡問(wèn)題的目的。
圖6 代價(jià)敏感性學(xué)習(xí)性能對(duì)比Fig.6 Cost-sensitive learning performance comparison
綜上所述,所提DPSDL 策略通過(guò)捕捉學(xué)生行為數(shù)據(jù)中的長(zhǎng)短期混合特性和解決類別不平衡問(wèn)題,提升了在課程不同階段對(duì)輟學(xué)學(xué)生的預(yù)測(cè)能力,在不同時(shí)間點(diǎn)均取得了良好性能。該策略可以幫助教師解決課程不同階段的監(jiān)控、預(yù)測(cè)問(wèn)題,提前預(yù)測(cè)輟學(xué)時(shí)間點(diǎn)和有輟學(xué)風(fēng)險(xiǎn)的學(xué)生,使教師能夠及時(shí)采取有針對(duì)性的課程設(shè)計(jì)和向此類學(xué)生提供個(gè)性化的干預(yù)措施提升MOOC保留率,提高學(xué)生學(xué)習(xí)效率與課程質(zhì)量。并且通過(guò)引入代價(jià)敏感性學(xué)習(xí)解決預(yù)測(cè)中的動(dòng)態(tài)類別不平衡問(wèn)題,提高模型對(duì)輟學(xué)者的識(shí)別能力,避免對(duì)輟學(xué)者的錯(cuò)誤識(shí)別導(dǎo)致無(wú)法獲得教師的幫助和干預(yù)而退出課程的后果。從先前分析可知課程第1周和最后1周對(duì)于學(xué)生是最具有挑戰(zhàn)的階段,容易導(dǎo)致較高的輟學(xué)率。原因?yàn)閷W(xué)生在第1周多數(shù)處于嘗試狀態(tài),若有課程難度過(guò)高、內(nèi)容不適合等原因,就會(huì)使其直接放棄該課程;在課程中期,課程進(jìn)入相對(duì)平穩(wěn)的階段,多數(shù)學(xué)生的學(xué)習(xí)步入正軌,此階段輟學(xué)人數(shù)較少;而在課程最后1 周,學(xué)生面臨期末考試的壓力選擇輟學(xué),也有一些學(xué)生由于更關(guān)注課程的內(nèi)容而對(duì)成績(jī)并不在乎,主動(dòng)放棄課程。因此在課程第一周教師如果能夠及時(shí)對(duì)學(xué)生進(jìn)行有針對(duì)性的教學(xué)和輔導(dǎo),將有助于學(xué)生進(jìn)入學(xué)習(xí)平穩(wěn)階段。而在最后一周,如果能夠采取鼓勵(lì)學(xué)生參加最終的考核策略,則可以有效降低最終輟學(xué)率。
本文針對(duì)MOOC學(xué)生時(shí)間數(shù)據(jù)混合長(zhǎng)期和短期兩種模式以及輟學(xué)預(yù)測(cè)中的類別不平衡問(wèn)題,提出一種基于深度學(xué)習(xí)的輟學(xué)預(yù)測(cè)策略。首先從學(xué)生學(xué)習(xí)活動(dòng)日志中,以一天為時(shí)間步長(zhǎng),一周為一個(gè)學(xué)習(xí)周期構(gòu)建學(xué)生時(shí)間序列;隨后使用LSTNet網(wǎng)絡(luò)作為預(yù)測(cè)模型,捕捉學(xué)生時(shí)間序列中每一時(shí)間步長(zhǎng)下學(xué)生行為之間短期的依賴關(guān)系以及相鄰學(xué)習(xí)周期之間長(zhǎng)期的模式和趨勢(shì);最后通過(guò)基于代價(jià)敏感性學(xué)習(xí)的均方誤差分離算法訓(xùn)練預(yù)測(cè)模型,解決數(shù)據(jù)集中類別不平衡問(wèn)題。實(shí)驗(yàn)結(jié)果表明,所提DPSDL 策略可以有效提升在不同學(xué)習(xí)周期對(duì)輟學(xué)高風(fēng)險(xiǎn)學(xué)生的預(yù)測(cè)準(zhǔn)確性,從而為教學(xué)者及時(shí)干預(yù)學(xué)生、提升MOOC教學(xué)質(zhì)量提供合理的建議。