董永峰,王巍然,董 瑤+,史 進,王雅琮
(1.河北工業(yè)大學 人工智能與數(shù)據(jù)科學學院,天津 300401;2.國家開放大學數(shù)字化學習技術集成與應用教育部工程研究中心,北京 100039;3.河北工業(yè)大學 河北省大數(shù)據(jù)計算重點實驗室,天津 300401)
在課程推薦領域,由于課程數(shù)量眾多,學習者個體選擇的課程較少。因此,如何解決數(shù)據(jù)稀疏性及數(shù)據(jù)噪聲的問題成為研究者關注的焦點[1-3]。
最新的研究表明,在不同任務之間共享嵌入?yún)?shù)功能,可以有效緩解數(shù)據(jù)的稀疏性。阿里巴巴團隊提出的全空間多任務模型(entire space multi-task model,ESMM)[4],以及該模型的強化版(entire space supervised multi-task model,ESM2)[5],通過對學習者行為進行分解產(chǎn)生額外的輔助信息來有效利用已有的數(shù)據(jù),學習者的相關行為使共享模塊的參數(shù)訓練能夠更準確挖掘?qū)W習者行為偏好。
本文通過分析學習者學習課程的行為,對ESMM模型進行改進,提出基于多任務自編碼器的課程推薦模型(multi-task autoencoder course recommendation model,MAEM),充分挖掘?qū)W習者在線學習的行為特征,為學習者提供個性化的課程推薦。本文主要貢獻如下:
(1)針對數(shù)據(jù)稀疏問題,MAEM充分挖掘?qū)W習者的行為信息,包括學習者注冊課程、學習者瀏覽章節(jié)列表和學習者學習完畢課程行為之間的隱含關系。由此構(gòu)建多任務模型,通過實驗分析將課程推薦任務分為兩個子任務:任務一是學習者瀏覽課程章節(jié)列表行為,任務二是完成課程50%的學習行為,主要在共享嵌入層學習通用特征表示,再分別計算子任務的概率,更好地預測學習者所需的課程,提高泛化能力。
(2)針對數(shù)據(jù)高噪聲、高維度和低質(zhì)量的問題,在有監(jiān)督的子任務訓練中使用相同的無監(jiān)督的自編碼器網(wǎng)絡進行數(shù)據(jù)處理,解決不同子任務的輸入數(shù)據(jù)無法統(tǒng)一處理的問題,從而達到共同優(yōu)化訓練共享嵌入層參數(shù),構(gòu)建提取特征與行為分解一體化的深度神經(jīng)網(wǎng)絡。
推薦算法用于幫助人們準確找到需要的信息,當前的主流研究以深度學習為基礎,在模型中嵌入特征處理、注意力機制、多任務學習、自編碼器完成推薦任務。
特征處理能夠有效的提取特征,并自動過濾無效信息與噪聲。在對特征的捕捉上,神經(jīng)因子分解機(neural factorization machin,NFM)[6]、深度因子分解機(deep factorization machine,DeepFM)[7]和極限因子分解機(eXtreme deep factorization machine,XDeepFM)[8]結(jié)合了因子分解機(Factorization machine,F(xiàn)M)建模二階特征交互中的線性結(jié)構(gòu),以及深度神經(jīng)網(wǎng)絡(deep neural networks,DNN)建模高階特征交互中的非線性結(jié)構(gòu),將數(shù)據(jù)集原始特征傳遞給深度神經(jīng)網(wǎng)絡,以顯式或隱式地學習特征交互。在高階特征的學習上,深度交叉網(wǎng)絡(deep &cross network,DCN)[9]和基于項目的神經(jīng)網(wǎng)絡(product-based neural networks,PNN)[10]保留了DNN的優(yōu)點,能夠自動且高效的學習高階特征交互。然而有用的交互通常是稀疏的,因此Liu B等[11]提出了一種基于卷積的特征生成網(wǎng)絡結(jié)構(gòu),自動從原始特征中拼接提取的特征。
注意力機制能夠表達用戶自身偏好的重要性程度。Xiao J等[12]提出注意力因子分解機(attentional factorization machine,AFM),AFM通過注意力機制來自動學習每個二階交叉特征的重要性,調(diào)節(jié)交叉特征對于預測結(jié)果的貢獻度。Alfarhood M等[13]提出協(xié)作式雙注意力自動編碼器(collaborative dual attentive autoencoder,CATA++),CATA++利用科學文章的內(nèi)容并通過兩個并行的自編碼器學習其潛在空間。
多任務模型可以學習不同任務的共性和錯誤,這將提高所有子任務的訓練效果和可靠性。Ma J等[14]提出了多門專家混合的多任務學習方法,從數(shù)據(jù)中明確學習任務之間的關系。Gao C等[15]提出了神經(jīng)多任務推薦的模型,學習不同類型行為之間的級聯(lián)關系。Ni Y等[16],提出構(gòu)建學習跨多個任務的通用用戶表示模型,實現(xiàn)更有效的個性化推薦。
自編碼器是一種使用反向傳播算法使輸出值等于輸入值的神經(jīng)網(wǎng)絡。對于自編碼器在推薦算法中的應用,Li X等[17]提出了協(xié)同變分自編碼器,通過無監(jiān)督方式學習內(nèi)容信息的隱含表示,可以在復雜的多媒體場景下完成復合推薦任務。Liang D等[18]提出了基于變分自編碼器的生成模型,將變分自編碼器應用于基于隱式反饋的協(xié)同過濾算法中,通過多項式似然生成模型克服線性因子模型在推薦算法中的局限性。
基于多任務自編碼器的課程推薦模型(MAEM),旨在解決課程推薦中的數(shù)據(jù)稀疏、數(shù)據(jù)噪聲、數(shù)據(jù)低質(zhì)量和高維度問題。模型的總體任務分為學習者瀏覽課程章節(jié)列表行為和完成課程50%的學習行為兩個子任務,由共享嵌入模塊、自編碼器與分解預測模塊、任務組合模塊3個模塊組成。該模型將學習者的在線學習課程行為作為輔助信息,推斷學習者對課程的偏好?;诙嗳蝿兆跃幋a器的課程推薦模型如圖1所示。
圖1 基于多任務自編碼器的課程推薦模型
共享嵌入模塊嵌入所有來自學習者字段和課程字段的稀疏ID特征和密集數(shù)值特征。其中,學習者字段包括學習者的ID、年齡、性別、學歷、注冊課程、瀏覽章節(jié)列表、學習50%以上課程、成績、學習理由、參與積極性、學習時長、首次學習時間、最后學習時間、與課程交互數(shù)、學習課程天數(shù)、瀏覽模塊比例、發(fā)帖次數(shù);課程字段包括課程的ID、科目、作業(yè)數(shù)量、開始日期、結(jié)束日期、開設天數(shù)。
子任務的嵌入層把大規(guī)模稀疏的輸入數(shù)據(jù)映射到低維的表示向量,該層的參數(shù)數(shù)量占整個網(wǎng)絡參數(shù)的絕大部分,需要大量的訓練樣本才能充分學習得到。池化層把所有實體嵌入向量求和得到一個唯一的向量。改進的模型中共享參數(shù)機制能夠使兩個子任務從各自的目標中共同訓練網(wǎng)絡參數(shù)。流程如下:
(1)提取嵌入向量E。首先將離散特征進行獨熱編碼,連續(xù)特征做離散化再進行獨熱編碼。通過嵌入將高維稀疏向量轉(zhuǎn)為低維稠密向量。對于所有嵌入向量E如式(1)所示
(1)
式中:E為全體特征向量,e為每名學習者特征向量,n為特征向量數(shù)量,D為向量維度。
(2)對嵌入向量E進行卷積提取其重要特征,第一層卷積層的輸出C1如式(2)所示
(2)
式中:k為卷積核大小,s為步長。再將該層的輸出C1使用最大池化層來捕捉最重要的交互特征。
(3)再將該層的輸出C1使用最大池化層來捕捉最重要的交互特征,那么第一層池化層輸出P1如式(3)所示
P1=(C1-Psize+2×Ksize)÷Ssize+1
(3)
式中:Psize為池化窗尺寸,Ksize為填充值,Ssize為步長。池化后的結(jié)果有兩處去向:
第一處:直接提取該層特征。對提取特征進行重組,將該層的結(jié)果乘以權(quán)重矩陣WS和偏置BS來打亂特征的輸入順序,由此保留全局特征,避免了CNN的局部特征感知對結(jié)果的影響。使用打亂后的特征來產(chǎn)生新特征R1如式(4)所示
R1=tanh(P1·WS+BS)
(4)
式中:WS表示提取特征矩陣參數(shù),BS表示提取特征矩陣偏置。由此,R1為第一層卷積層產(chǎn)生的新提取特征。
第二處:繼續(xù)重復上述步驟直至第m層卷積層。產(chǎn)生新的提取特征為R1,R2,…,Rm,m為卷積層層數(shù)。最后拼接所有卷積層提取特征,形成用于深度學習分解預測模塊的特征提取嵌入矩陣E′,如式(5)所示
E′=(R1,R2,…,Rm)D
(5)
自編碼器操作可以自動從數(shù)據(jù)樣本中進行自監(jiān)督學習。通過訓練自編碼器,可以使卷積結(jié)構(gòu)自動提取到的特征輸入編碼器再通過解碼器解碼后,保留盡可能多的信息,由此來提高模型的泛化程度。
自編碼器第一層為編碼層,用于接收提取特征;第二層為隱藏層,用于學習隱藏特征,并對提取特征進行降維與降噪;第三層為解碼層,用于完成自監(jiān)督訓練。其編碼過程的隱藏層hidei如式(6)所示
hidei=σe(Wi·E′+bi)
(6)
式中:i是隱藏層的數(shù)量,σe為編碼器對特征的距離度量,Wi為編碼的權(quán)重,bi為編碼的偏置。權(quán)重與偏置用于神經(jīng)元記憶學習者的行為特征。解碼結(jié)果E″如式(7)所示
E″=σd(W·hidei+b)
(7)
式中:σd為解碼器對特征的距離度量;W為解碼的權(quán)重;b為解碼的偏置。損失函數(shù)j(W,b) 如式(8)所示
(8)
自編碼器的訓練過程使用傳統(tǒng)的基于梯度的方式進行訓練。對處理后的數(shù)據(jù)進行分解預測操作,進行模型的參數(shù)訓練。
分解預測操作的總體任務PBrowse to Study旨在預估學習者能夠?qū)W習完畢該課程的概率,PBrowse to Study如式(9)所示
PBrowse to Study=P(Study|Browse,Show)
(9)
根據(jù)學習者在線學習過程,學習者先點擊符合自己需要的課程,再瀏覽課程的章節(jié)列表,最后學習完畢該門課程。所以在分解預測模塊中,將這一在線學習行為分為兩個訓練任務:子任務1(PBrowse):學習者瀏覽課程名稱→學習者瀏覽章節(jié)列表的概率;子任務2(PStudy):學習者瀏覽章節(jié)列表→學習者學習課程超過50%的概率。擁有學習50%以上課程行為的學習者在數(shù)據(jù)集中被標記為正樣本。
在總體任務中,E″是高維稀疏多域的特征向量,y表示是否瀏覽章節(jié)列表,有瀏覽行為則y取值為1,無瀏覽行為則y取值為0。z表示是否學習完畢50%課程,學習完畢50%課程z取值為1,未學習完畢z取值為0。y→z揭示了學習者行為的順序性,即瀏覽課程章節(jié)列表行為一般發(fā)生在學習完畢課程之前。通過對這兩個相關子任務的劃分,分別進行參數(shù)訓練,達到充分挖掘?qū)W習者偏好的目的。
在MAEM模型中,子任務之間的關系如下所示
PBrowse=P(y=1|E″)
(10)
PStudy=P(z=1|y=1,E″)
(11)
(12)
自編碼器與分解預測模塊通過兩個獨立的預測網(wǎng)絡來估計點擊并且瀏覽、瀏覽并且學習的概率,然后將結(jié)果傳輸?shù)饺蝿战M合模塊。
從模型的整體來看,對于一組給定的輸入數(shù)據(jù),模型能夠同時輸出學習者瀏覽課程章節(jié)列表的概率和學習者真正學習完畢這門課程的概率。子任務1與子任務2的網(wǎng)絡結(jié)構(gòu)完全相同,將輸出數(shù)值相乘得到學習者既瀏覽課程章節(jié)列表,又真正學習完畢這門課程的概率。在任務組合模塊中,根據(jù)自編碼器與分解預測模塊獲得的一個取值為0到1的實數(shù)值,得到整體任務的輸出結(jié)果。模型的損失函數(shù)為兩個子任務的損失加和。子任務損失使用交叉熵損失函數(shù)。最后輸出結(jié)果連接到只有一個神經(jīng)元的輸出層??倱p失函數(shù)LOSS如式(13)所示
(13)
式中:Labi是樣本標簽,表示第i條記錄的學習者是否擁有完成課程50%的學習行為,n表示所有樣本數(shù)。
模型采用Python3.6編程實現(xiàn),深度學習框架選用Tensorflow1.6.0。模型的初始學習率設置為0.001。3個隱藏層中的神經(jīng)元數(shù)量分別設置為512、256和128,Dropout大小設置為0.5,訓練批次大小為256。共享嵌入模塊提取特征有4層卷積層和池化層,4個卷積核,每個核的大小依次為9、11、13、15。池化窗尺寸大小為2,在自編碼器中,編碼器和解碼器中的神經(jīng)元數(shù)量為256,隱藏層中的神經(jīng)元數(shù)量為128。每組實驗進行300次迭代。將數(shù)據(jù)集隨機劃分為訓練集、驗證集和測試集。訓練集包含70%的數(shù)據(jù)。驗證集與測試集分別包含15%的數(shù)據(jù)。
實驗選用兩個公開教育數(shù)據(jù)集CNPC(canvas network person C-ourse)和HXPC(HarvardX person course academic),均為哈佛大學公開發(fā)布的學習者在線學習數(shù)據(jù)。CNPC數(shù)據(jù)集包含HarvardX-MITx2014年1月至2015年9月學習者的課程數(shù)據(jù),包括10類學科238門課程,一共有325 199條學習者課程行為數(shù)據(jù)。HXPC數(shù)據(jù)集包含edX平臺上哈佛大學課程第一年2013學年:2012年秋季,2013年春季和2013年夏季的學習者數(shù)據(jù),共有338 224名學習者行為數(shù)據(jù)。在CNPC和HXPC數(shù)據(jù)集上,有瀏覽章節(jié)列表行為的樣本占總樣本數(shù)量的21.94%和49.53%,而學習完畢50%課程樣本占總樣本數(shù)量的2.99%和6.09%;由此可見訓練數(shù)據(jù)存在著嚴重的稀疏性。詳細的實驗數(shù)據(jù)集統(tǒng)計數(shù)據(jù)見表1。
表1 實驗數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)
實驗選用準確性(ACC)、ROC曲線下方的面積大小(AUC)、平均絕對誤差(MAE)3個指標來評估推薦算法的性能。
(1)準確性(ACC)是指正確預測的樣本占預測樣本總數(shù)的比例。通常來說,準確率越高,模型效果越好。準確性ACC如式(14)所示
(14)
式中:TP表示預測為正樣本,而實際為正樣本。FP表示預測為正樣本,但實際為負樣本。TN表示預測為負樣本,但實際為正樣本。FN表示預測為負樣本,但實際為正樣本。
(2)ROC曲線下方的面積大小(AUC)是指ROC曲線下與坐標軸圍成的面積,這個面積的數(shù)值大于0小于1。計算ROC曲線下方的面積大小AUC如式(15)所示
(15)
式中:ranki代表第i條樣本的標號。從小到大對概率得分排序在第rank個位置。M,N分別是正樣本的個數(shù)和負樣本的個數(shù)。 ∑i∈positiveclass只把正樣本的序號累加。
(3)平均絕對誤差(MAE)是絕對誤差的平均值,能更好地反映預測值誤差的實際情況。MAE的值越小,說明預測模型描述實驗數(shù)據(jù)預測的誤差越小。計算平均絕對誤差MAE如式(16)所示
(16)
本文設計3組消融實驗來分析MAEM中每個模塊的影響:①子任務設置數(shù)量的影響;②特征提取的影響;③自編碼器的影響。
3.4.1 子任務設置數(shù)量的影響
本文設計3種任務劃分模型:①單任務模型(MAEM-NF-SS)不做子任務劃分,使用分解預測操作,直接判斷學習者學習超過50%的課程概率;②雙任務模型(MAEM)如2.2節(jié)所述;③三任務模型(MAEM-NF-ThS)劃分為學習者注冊課程→學習者瀏覽課程名稱概率、學習者瀏覽課程名稱→學習者瀏覽章節(jié)列表概率、學習者瀏覽章節(jié)列表→學習者學習超過50%的課程概率3個子任務。實驗結(jié)果見表2。
表2 CNPC和HXPC數(shù)據(jù)集上的單任務和多任務模型實驗結(jié)果
從表2中可以看出,在CNPC數(shù)據(jù)集上MAEM要優(yōu)于單任務(MAEM-NF-SS)和三任務模型(MAEM-NF-ThS),相較于單任務和三任務模型,MAEM在ACC上分別提高了11.43%、8.97%;在AUC上分別提高了2.17%、1.65%;在MAE上分別降低了56.04%、50.56%;同樣的,在HXPC數(shù)據(jù)集上,MAEM相較于單任務和三任務模型在ACC上分別提高了7.09%、6.48%;在AUC上分別提高了10.88%、9.59%;在MAE上分別降低了60.36%、58.34%。
由此,多任務比單任務模型的性能更優(yōu)越。因為多個任務之間可以共享一些學習者與課程的特征信息這是單任務學習所不具備的。
具體來說,引入多任務學習有3點好處:①單任務學習時,網(wǎng)絡有可能陷入局部極小值。多任務學習通過不同任務的相互作用,有利于優(yōu)化損失跳出局部極小值;②多個相關任務并行學習,包含任務相關部分與無關部分。進行某個子任務的訓練時,與該任務無關的部分相當于自動引入噪聲,可以提高學習的泛化效果;③通過添加子任務改變權(quán)值更新的動態(tài)特性,使同一權(quán)重根據(jù)不同任務做出改變。多任務并行學習,提升了共享嵌入模塊的學習速率,能夠以較大的學習速率提升學習效果。
但是并非任務越多效果越好,當設計的多任務網(wǎng)絡中超過3個任務,需要平衡不同類型的任務,同時兼顧特征共享部分和任務特定部分。這既需要學習任務間的泛化表示,也需要學習每個任務獨有的特征。否則在訓練過程中,整個網(wǎng)絡被簡單任務主導,導致任務之間的性能差異巨大。因此MAEM選擇使用兩個子任務構(gòu)建整體結(jié)構(gòu)。
3.4.2 特征提取的影響
在模型訓練中,如果對特征直接建模,則會忽略掉特征與特征之間的關聯(lián)信息,且真正有效的特征交互往往只占少部分,因此模型在這種情況下進行學習極為困難。本文設計3組實驗:不含提取特征數(shù)據(jù)和自編碼器模型(MAEM-NF-NA)、含提取特征數(shù)據(jù)與原特征數(shù)據(jù)模型(MAEM-AF-NA)和僅帶提取特征數(shù)據(jù)的模型MAEM之間的性能,其對比結(jié)果見表3。
表3 CNPC和HXPC數(shù)據(jù)集提取特征的實驗結(jié)果
從表3中可以看出,在CNPC數(shù)據(jù)集上MAEM優(yōu)于MAEM-NF-NA和MAEM-AF-NA,相比于MAEM-NF-NA和MAEM-AF-NA,MAEM在ACC上分別提高了20.24%、4.22%;在AUC上分別提高了3.08%、2.3%;在MAE上分別降低了67.65%、33.48%。同樣的,在HXPC數(shù)據(jù)集上,相比于MAEM-NF-NA和MAEM-AF-NA,MAEM在ACC上分別提高了9.03%、5.73%;在AUC上分別提高了9.3%、9.54%;在MAE上分別降低了65.56%、55.49%。
從對比結(jié)果可以看出,提取后特征更有利于模型訓練,即把m層卷積層提取出來的m組特征相拼接,作為子任務的輸入數(shù)據(jù),模型的性能有所上升,直接將新提取的特征作為子任務模塊的輸入,能夠解決數(shù)據(jù)高噪聲、高維度和低質(zhì)量的問題。
3.4.3 自編碼器的影響
為了探究自編碼器對模型的影響,依據(jù)自編碼器的作用設置了兩組實驗:未采用自編碼器的MAEM-NA-TwS模型,采用自編碼器的MAEM模型,實驗結(jié)果見表4。
表4 在CNPC、HXPC數(shù)據(jù)集上自編碼器的實驗結(jié)果
從表4中可以看出,MAEM要優(yōu)于MAEM-NA-TwS。在CNPC數(shù)據(jù)集上,MAEM相比MAEM-NA-TwS在ACC上提高了3.22%;在AUC上提高了1.27%;在MAE上降低了27.94%。同樣的,在HXPC數(shù)據(jù)集上,MAEM相比MAEM-NA-TwS在ACC上提高了5.65%;在AUC上提高了8.7%;在MAE上降低了55.16%。
采用自編碼器可以通過對數(shù)據(jù)進行降維來減少冗余信息,提高算法的精度。將擁有自監(jiān)督特性的自編碼器嵌入在多任務學習中,每個子任務間共享降維去噪后提取到的特征,解決不同子任務輸入數(shù)據(jù)無法統(tǒng)一處理的問題,從而優(yōu)化數(shù)據(jù)內(nèi)部的關聯(lián)特征,更好實現(xiàn)了數(shù)據(jù)的參數(shù)共享。
3.4.4 三模塊協(xié)同的影響
從表3和表4中可以看出,模塊之間的配合有助于模型訓練,MAEM要優(yōu)于無特征提取的MAEM-NF-NA和無自編碼器的MAEM-NA-TwS。在CNPC數(shù)據(jù)集上,相比于MAEM-NF-NA和MAEM-NA-TwS,MAEM在ACC上分別提高了20.24%、3.22%;在AUC上分別提高了3.08%、1.27%;在MAE上分別降低了67.65%、27.94%。同樣的,在HXPC數(shù)據(jù)集上,相比于MAEM-NF-NA和MAEM-NA-TwS,MAEM在ACC上分別提高了9.03%、5.65%;在AUC上分別提高了9.3%、8.7%;在MAE上分別降低了65.56%、55.16%。
特征提取與自編碼器處理后的數(shù)據(jù)用于不同的子任務,實現(xiàn)了數(shù)據(jù)參數(shù)的共享。這表明提取特征模塊和自編碼器模塊能夠相互補充,模塊間相互支撐的效果優(yōu)于單獨作用的效果。
本文選用當前最熱門7個推薦算法進行對比。所有實驗重復5次,并記錄平均結(jié)果,對比的7個算法如下:NFM[6]、AFM[12]、DeepFM[7]、DCN[9]、PNN[10]、ESM2[5]、CATA++[13](https://github.com/liulin7576/DL_CTR)。其中,NFM、DeepFM、DCN、PNN注重模型的特征學習能力;ESM2注重于挖掘用戶行為輔助信息;AFM、CATA++注重于挖掘用戶不同的興趣偏好。在公共數(shù)據(jù)集上不同模型的結(jié)果見表5。
表5 公共數(shù)據(jù)集上不同模型的比較
MAEM在所有數(shù)據(jù)集和評價指標中的性能最佳,與次優(yōu)的CATA++推薦算法相比,模型性能有很大的提高。在CNPC數(shù)據(jù)集上,MAEM比CATA++在ACC上提高了0.41%;在AUC上提高了1.94%;在MAE上降低了4.85%。同樣的,在HXPC數(shù)據(jù)集上,MAEM比CATA++在ACC上提高了2.97%;在AUC上提高了1.04%;在MAE上降低了39.91%。
與其它算法相比,大多數(shù)現(xiàn)有的推薦算法忽略了數(shù)據(jù)中存在的噪聲和行為間豐富的關系。AFM、NFM、DCN和CATA++模型更多的是把注意力放在自動學習每個二階交叉特征上,DeepFM和ESM2更關心的是理解學習者點擊行為背后隱藏的交叉特征,PNN模型則把重點放在了自動捕捉離散特征的潛在高階模式,它們都沒有考慮到數(shù)據(jù)稀疏性導致模型訓練困難的問題。
MAEM比其它熱門推薦算法在稀疏數(shù)據(jù)的環(huán)境下具有更好的性能的原因是MAEM將學習者的學習行為分解為兩個子任務,對共享嵌入層公共參數(shù)進行訓練。不同任務的局部極小值處于不同的位置,子任務的交互可以幫助隱藏層跳出局部極小值。多個子任務的相關部分有助于在共享嵌入層學習學習者通用特征表示。此外,MAEM這3個模塊的配合進一步提高了模型的效果,從而解決數(shù)據(jù)稀疏問題。
本文提出了一種基于多任務自編碼器的課程推薦模型(MAEM)。MAEM通過分解學習者在線學習行為,建立雙子任務學習結(jié)構(gòu),有效緩解了數(shù)據(jù)稀疏問題。采用自編碼器協(xié)同兩個子任務,解決不同子任務輸入數(shù)據(jù)無法統(tǒng)一處理的問題。MAEM優(yōu)化了數(shù)據(jù)內(nèi)部的關聯(lián)特征,構(gòu)建了提取特征與行為分解為一體化的深度神經(jīng)網(wǎng)絡。訓練效果的提高得益于共享兩個子任務的行為參數(shù)。對比實驗結(jié)果表明,3個模塊協(xié)同工作比單個模塊有效。通過與7種熱門推薦算法對比,有力地驗證了MAEM在課程推薦中的有效性。