论文阅读14+总结:Reinforcement learning approach towards effective content recommendation in MOOC environme
参考论文:Reinforcement learning approach towards effective content recommendation in MOOC environments
#论文笔记:Reinforcement learning approach towards effective content recommendation in MOOC environments#
MOOC推荐
LMS (Learning management system)学习管理系统: 通过web利用显隐反馈去获取更多信息,是一种通用的方法
RILS (reinforcement learning system)包含强化学习的学习管理系统: 本文提出的系统,利用显隐反馈获得学习者信息(学习者需求和能力信息)去进行推荐。系统中的RILEngine利用了CRBL算法。(与典型的RL基于state-action-reward不同)
CRBL(constructivist reward based learning algorithm):获取学习者信息的过程,并用信息去决定推荐策略
RILS系统
接口层:(search query interface)
得到学习者查询信息,传入处理层
处理层:(Profile analyzer , RILEngine)
Profile analyzer:接受查询信息和过去学习经验,获得学习者需求信息
RILEngine:基于CRBL算法,获取学生信息并利用这些信息得到推荐策略
数据层:(LRS,LOR)
LRS:存储学习者学习特定知识的信息和学习经验(学习者当前状态信息、学习过的课程(path)、在每一个learning instance下的学习者经验、reward信息)
LOR:存储并分类所有要推荐的内容,依据LOCAI [论文 9]进行小间隔形式表示
作者文中说了learning object,each learning instance,topic of learning path
topic:是要学习的一大块宏观概念(如人工智能下的topic有概率论、矩阵论、凸优化、机器学习、神经网络、深度学习)
each learning instance :是topic下需要学习的课程,包含在topic下:不同老师不同学校的概率论课程有很多
learning object:要推荐的内容,具体哪个老师那个学校讲的课程
对于整个系统的大致流程:
初始状态:学习者完成课程注册,学习者信息中的元素(skill,preference,knowledge)有相同的权重
→随着学习者进行the topics of learning path(人工智能研究),在each learning instance(人工智能下要学习的相关课程),最优策略(权重值)的确定是基于学习者采取的使状态发生改变的动作生成的学习者经验信息。每个动作后学习者产生显式的正负反馈,通过actual rating来反映
→CRBL算法在每个状态都预测用户的评分为predicted rating(见下面流程)
→最后学习者表现performance通过测试得到,可以加强学生概念理解。我们利用actual rating和performance来区分两种情形:
rating表示学习者是否喜欢这项推荐(preference)
performance表示学习者对于这项推荐是否能够很好的理解(难度级别level)
rating 高,performance低:可以保留用户的preference,推荐level低的以便学习者理解
performance高,rating低:找到用户的preference进行任何级别的推荐(?别的偏好万一不能很好理解概念了呢?
可能是所学的这门概率论课程讲的太简单,对应出的考验能力的题目没有很难,要针对这个概率论推荐更深入讲解的课程)
→在每一个learning instance(如概率论课程结束)结束后动态调整状态的权重值来决定最优推荐。
→用状态的权重值来找到候选的learning object(推荐的下一门课如矩阵论,推荐很多,按高低排序)
→一旦用户选用了learning object(矩阵论中一个特定老师的课程),就更新LRS里面存储的信息
文中说明了用户建模特征含义,未说明具体如何进行表示(state)
agent:系统
state:学习者信息(skill,preference,knowlege)
action:对于系统推荐的learning object的选择
reward:当建议的learning object 被用户采用,则计算奖励值1/abs(actual-predicted rating)+1
CRBL算法流程:
第一步:So(w1,w2,w3)为初始状态,这里作者实验中设定为0.3,0.3,0.4
第二步:对于每一个topic t(人工智能),依据关键字从LOR中获取课程列表
LOM是元数据信息,如课程名等在LOR中进行过小间隔处理
第三步:分析LRS存储的用户信息,得到学习者x的推荐策略Rx
1、将学习者信息(skill,preference,knowledge)进行语境分析(?具体分析了啥),并分析按reward值排列的learning instance(很多概率论课程)
2、增大可以最大化奖励值的属性
3、另Rx为当前策略(可以最大化reward值,满足学生需求)
4、依据满足当前状态值Sc的程度(?)预测推荐的learning object(特定学校老师的概率论课程,但这里推荐了n个)的评分p=[p1,p2,..,pn],按从高到低排列
5、得到从学生那里获得的对于这些课程的评分a=[a1,a2,…,an]
6、对于学习者应用的learning object,更新学习者的参数以反映学习者的preference
7、计算reward值;r=1/abs(a-p)+1
第四步:更新LRS中的用户信息和Q表
1、更新LRS中用户信息,包括状态值,reward值
2、更新Q值:(u这里应该是动作,即用户选的哪个课程)
3、更新Q表中的值