引用原文:
MOOCRC: A Highly Accurate Resource Recommendation Model for Use in MOOC Environments
原文链接:
https://link.springer.com/article/10.1007%2Fs11036-018-1131-y
摘要
随着MOOC平台的蓬勃发展,在线学习资源日益丰富。由于学习者在认知能力和知识结构方面存在差异,因此他们无法迅速找出他们感兴趣的学习资源。传统的协同过滤推荐技术在数据稀疏和冷启动的情况下表现效果不佳。此外,协同过滤也无法处理冗余推荐内容和高维非线性数据,导致资源推荐效率低下。
为了提高学习者的效率和积极性,本文提出了一种MOOC环境中的基于深度信念网络(DBN)的高度精确的资源推荐模型(MOOCRC)。该方法深入挖掘学习者特征和课程内容属性特征,并结合学习者行为特征以构建用户课程特征向量作为深度模型的输入。学习者的课程评分将作为带有监督学习的监督标签进行处理。MOOCRC模型通过无监督的预训练和有监督的反馈微调来训练;此外,通过反复调整模型参数来获得模型。为了验证MOOCRC的有效性,本文使用从华中师范大学starC MOOC平台获得的学习者选修数据进行了实验分析。实验表明,MOOCRC具有更高的推荐精度。
介绍
随着互联网技术和教育的紧密结合,例如Coursera,Udacity,XuetangX和网易云课题等MOOC平台对传统教育的生态产生了巨大影响,并迅速重塑了学习者的学习方式。面对海量质量参差不齐的课程资源,学习者经常会遇到选课难的问题。
基于个性的推荐系统(PRS)可以用于解决信息过载的问题,提供了一种在MOOC平台上提供个性化资源推荐的新颖方法。这些系统可以有效地使用户从无休止的资源搜索中解放出来。摆脱对资源的无休止的搜索。目前,基于协同过滤发推荐系统是最有效的个性化资源推荐系统[1]。PRS的核心部分是个性化推荐算法[2]。该算法确定整个个性化资源推荐系统的推荐策略,工作方法和推荐性能。PRS已被许多学者应用于教育领域的资源推荐。但目前为止,学者们提出的大多数教育资源推荐算法都是基于用户行为或资源内容本身的。在MOOC环境中使用时,由于在线课程数据和用户数据的数量庞大,课程数据和用户数据均为高维。因此,很难深入挖掘数据中的关系。
随着第三次人工智能热潮的到来,深度学习技术受到研究人员的青睐。它在特征提取中显示出良好的性能,并且可以使用相对复杂的结构来表征数据的内部结构。深度学习在推荐系统方面取得了显著成果。DBN [3]代表了深度学习领域的一个里程碑。它们可以使用相对较少的参数来近似复杂的函数,并且可以组合低级特征以形成更抽象的高级表示。鉴于其在函数逼近,特征提取和分类预测方面的高效性能,它们可以有效解决与传统推荐方法相关的问题,例如使用单一的相似度计算,数据稀疏性和冷启动方法。Zhao[4]提出了一种基于DBN和K近邻(KNN)算法的混合推荐模型,其中基于用户的KNN算法使用由DBN提取的用户特征进行预测,取得了良好效果。尽管DBN的使用已在其他领域取得了进展,但DBN仍不普遍用于MOOC资源推荐中。
为了提高学习者的学习效率和学习积极性,本文通过深度学习来研究个性化推荐策略。我们将推荐过程视为分类预测问题,并提出了一种在MOOC环境中使用的高精度资源推荐模型MOOCRC。这种推荐方法可以深入挖掘数据,并使用DBN的有效特征提取功能来解决由MOOC环境中生成的海量数据导致的数据稀疏性问题。此外,通过将个性化推荐过程视为分类预测问题,可以直观地获得课程资源的预测学习者分数。实验结果表明,本文所提出的课程推荐系统比传统课程推荐系统具有更高的效率和收敛速度,从而进一步提高了课程检索的效率。
创新点
(1)通过改进相似度计算方法,提出了一种基于DBN分类的推荐方法,为用户有效推荐课程。
(2)将用户特征属性,课程资源内容属性和用户行为特征属性组合为一个多维属性特征。将用户特征属性和课程资源内容属性一起处理为用户特征向量,然后合并用户行为特征。这种方法影响了整个网络中参数的更新,有效地解决了冷启动,数据稀疏和学习者对课程资源兴趣表达不正确的问题。
(3)优化了用于设置MOOCRC的每个参数的初始值和规则。
数据集
作者使用了来自华中师范大学starC MOOC平台的学习者选修数据进行实验分析。starC MOOC是一个基于edX开发的平台,目前有2142个课程资源,用户数量约12万。实验数据集包括两部分:随机选择的带有评级标签的54000个数据和112000个没有评级标签的数据。训练集为100000个未标记数据和50000个标记数据,验证集和测试集都包含4000个标记数据。
MOOCRC
由于DBN具有强大的特征检测和特征提取能力,作者提出了一种MOOC环境下基于DBN分类的推荐方法,即MOOCRC。MOOCRC是研究针对学习者的个性化推荐的关键,它主要由四个模块组成,这些模块执行数据收集,数据预处理,特征学习和分数预测。MOOCRC的系统架构如图1所示:
图1 MOOCRC系统架构
1.数据采集
MOOCRC利用学习者的丰富行为特征,并从学习者属性和课程属性中收集信息,以表达学习者的兴趣偏好。数据收集过程如下图2所示。
图2 数据收集过程
2.MOOCRC初始化
作者使用minibatch来处理与大量数据相关的问题,可见层神经元的数量设置为学习者课程资源特征向量的属性维数。根据Kolmogorov定理,经过计算和反复实验后,作者将迭代次数设置为pretrain_epochs = 100和train_epochs = 200,学习率设置为pretrain_lr = 0.01和finetune_lr = 0.1时,RBM层数为3,可见神经元数为40,每层隐藏神经元数为81、163和327,输出层神经元数为40。
3.MOOCRC的特征学习
MOOCRC的性能取决于DBN分类模型的训练程度。 模型训练过程分为无监督的预训练和监督的参数微调。 预训练阶段使用有限的BM逐层训练。 训练完每个图层后,该图层的输出将用作下一个模型训练输入。 训练过程使用CD-k算法结合Gibbs采样来执行无监督学习。 训练结束后,使用班级标签反馈微调网络进行进一步的参数调整; 最后,逼近系统的稳态,似然函数最大化。 此过程可以对高维数据进行特征提取和降维,然后生成预测的分类。
4.MOOCRC推荐算法
MOOCRC推荐算法是MOOCRC的核心部分,它决定了整个MOOCRC的推荐性能。
MOOCRC推荐算法包含数据维度确认,数据预处理,MOOCRC参数初始化,MOOCRC训练和评分预测。原文提供了MOOCRC的伪代码。
5.推荐流程
(1)收集多个兴趣特征,代表学习者的兴趣偏好作为原始特征数据。
(2)进行一系列数据预处理操作(例如特征映射,将字符数据转换为数字,删除数据以及对严重异常值进行归一化)之后,形成了标准数据集并将其分为训练集,验证集和测试集。
(3)使用DBN分类模型来学习训练集的特征,无监督贪婪算法用于预训练DBN中RBM的每一层。
(4)将训练后的DBN与BP监督学习特征向量以及课程等级标签一起用作输入,并使用BP错误回传的特性对整个网络进行微调,形成了最终的个性化推荐模型。
(5)使用该模型预测评分,并根据分数降序向学习者推荐具有较高预测分数的课程资源。
实验结果分析
作者主要使用均方根误差(RMSE)来计算预测分数与实际分数之间的差异,以反映推荐的准确性。
作者先采用MovieLens 1 M开放数据集来验证推荐准确性。MovieLens 1 M数据集上各种推荐算法的性能如图3所示。
图3 MovieLens 1 M数据集上各种推荐算法的性能
上图显示了不同推荐算法的RMSE随着迭代次数的变化而变化。从实验性能的角度来看,作者提出的MOOCRC推荐算法经过约10次迭代后基本达到收敛,并且随着迭代次数的增加,RMSE降低,推荐精度提高。其推荐准确性几乎不再受迭代次数的影响。推荐质量优于基于RBM的混合推荐算法。当迭代次数固定时,基于RBM的混合推荐算法和MOOCRC算法的推荐质量明显高于其他推荐算法。而且,MOOCRC的收敛速度比其他推荐算法还快。
作者采用starC MOOC数据集来验证推荐准确性。starC MOOC数据集上各种推荐算法的性能如图4所示。
图4 starC MOOC数据集上各种推荐算法的性能
上图显示了不同推荐方法的迭代次数增加时,RMSE的变化。作者提出的MOOCRC模型在大约40个纪元后收敛,并且随着纪元数的增加,RMSE减小,推荐精度也继续提高。此外,该方法的推荐质量优于基于RBM的混合推荐方法。当使用所有训练集对MOOCRC进行完全训练时,其RMSE低至67.48%。当时间段固定时,基于RBM的混合推荐方法和MOOCRC产生的效果明显优于其他推荐算法。对于基于RBM的混合推荐方法,推荐效果明显小于MOOCRC方法,因为没有使用监督的BP算法进行参数调整。
参考文献
[1] Schafer JB, Frankowski D, Herlocker J, et al (2007) Collaborative filtering recommender systems. The adaptive web. Springer Berlin Heidelberg, 291-324
[2] Stern DH, Herbrich R, Graepel T (2009) Matchbox: large scale online bayesian recommendations. In: Proceedings of the 18th international conference on World wide web. ACM, 111-120
[3] Hinton GE, Osindero S, Teh YW (2006) A fast learning algorithm for deep belief nets. Neural Comput 18(7):1527–1554
[4] Zhao C, Shi J, Jiang T, et al (2016) Application of deep belief nets for collaborative filtering. In: International Symposium on Communications and Information Technologies. IEEE, 201-205