机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 6262|回复: 0
打印 上一主题 下一主题

神经网络的学习成绩预测与学习推荐

[复制链接]

115

主题

116

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
跳转到指定楼层
楼主
发表于 2018-12-27 15:33:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作为学习者学习某门课程效果的最直观体现,根据学习者相关学习背景、学习行为数据对学习者所将获得的课程成绩展开预测研究,并基于此进行学习行为建议,有助于促使学习者的学习行为更有针对性,改善学习者的学习效率。----------------------------------问题的提出随着在线学习时代的到来,很多的学习(如在线培训、继续教育等)迁移到网上进行,影响学习成绩的学习成本也就发生了变化, 除了传统学习成本的要素外,还包括了诸 如在线学习、回答问题、提交作业、在线浏览和下载学习资源等的相关因素。以往学习推荐系统只提出一些学习成绩提升建议,学习者很难直观看到这些学习行为推荐对于提高成绩的帮助大小,这些推荐系统普遍存在缺乏对具体学习目标进行针对性推荐的弊端。借助机器学习的科学方法进行学习成绩预测,并在此基础上进行学习行为推荐,有一定的实际应用价值。----------------------------------数据处理使用决策树算法对来自edX 上的学习数据进行挖掘,筛选出对学习结果有影响的数据项。数据来自于edX 慕课平台的64 万多条培训学习记录数据。由于慕课平台上学习者的学习目的不尽相同,存在着大量没成绩和成绩为 0 的数据,根据研究的需要对这些无价值数据进行初步清洗,删除无成绩和成绩为 0 的数据项,实际剩余74 000 余条有效数据。为便于理解,根据数据集中标题项的内容,将题项转换成中文,并去掉数据 为0、 1或空值的项,获得如图1所示的表格,其中共 16 个数据项。----------------------------------数据归约 将一些数据转换为便于分析的数值等。通过对源数据进行相应数据规约,有助于提高此后对于数据集进行数据挖掘的效率,归约结果如图2 所示。图中我们将获得的源数据进行了初步的预处理。课程id:该edX 数据集中共记录了16 门学科的课程成绩,这里将edX 所记录的 16 门学科的课程id 按 1~16 编号。学历:空值和未正确填写均置 0,然后 依次中学以下学历——1、中学——2、本科——3、硕士——4、博士及博士后——5。性别:1——男,2——女;其他各项 中的空值统一设置为 0。出生年月:根据数据集发布时间 - 出生 年份转换为实际学习时年龄,其中,存在 部分出生年月明显虚假(诸如2011—2013年出生),统一置零;其余部分,以20 为临界点,年龄小于或等于20置 1,每增加 5 岁 +1,60 岁以上置为 10。其他诸如国籍、注册时间、最后登录时间等在本研究中缺乏实际参考价值,将 不作为参考项,故不予修改。----------------------------------数据项筛选 为实现对学习成绩进行比较精确的预测,这里借助树类模型中常用的信息增益思想来对经过上一步预处理的数据项进行初步筛选,方便之后神经网络的训练。作为典型的树类模型,在决策树中,信息增益的大小常用于判断各项数据对成绩值的影响大小。熵是在信息论中广泛使用的一个度量标准,它刻画了任意样例的纯度。数据的信息属性是与任务相关的,对于分类任务, 标签值y 包含的信息量为Info(y)=ln p(y),其中,p(y)为y出现的概率, p(y) 越小,y 包含的信息量越大。将熵定义为信息的期望值。一个可以分为m类的数据集S, 它的信息熵为随机得到的一个label 包含的信息量的期望值为假设E(Saim)为目标数据项分为m 类的熵, Si(i={0,1,2,…,k}) 为按其他各分类策略分类 后满足目标分类情况的熵,那么,Gain[i] 即为按数据项Si 对数据进行分类得到的关于 Saim 的信息增益,信息增益Gain 值越大,则说明数据项Si 和数据项Saim 的关联性越大。通俗地说,信息增益Gain 是 Si 的 数据和Saim的数据间联系程度的一种量化, Gain[i] 的值越大,则说明 Si 和 Saim 间的联系越紧密。假设按数据项Si 对数据进行分类能得到 n 个类,关于求 Gain 值的公式为利用spss数据分析软件,其自带的决策树功能足以满足本研究进行数据筛选的需要。spss 系统将自变量根据其对成绩的影响度大小(实际上就是根据熵增益大小进行的排序)实现了从大到小的排列。----------------------------------数据预测 通过决策树算法的初步筛选后 , 剩余数据列多为对成绩影响较大的数据。利用BP 神经网络对这些数据进行训练,可以得到数据间存在的一定规律。通过这个规律来进一步训练神经网络,可以对学习者的学习成绩进行预测。本文中成绩预测及推荐本质上也是在通过对具体数据预测的基础上进一步逆向推导来求出达成相应学习结果的学习因素数值,下面使用 BP 算法来对前文中处理好的edX 数据集进行训练,得到训练好的神经网络,以此作为学习成绩预测的核心部分。借助 matlab 的 BP 神经网络工具箱,对数据进行训练。按 matlab 默认比率70%、15%、15% 将 7.4 余万条数据分为(Training)、验证样本( Validation)、 测试样本数据(Testing)三部分,用以对应相应需求。根据数据筛选得到的结论,将以学习章节数、课程访问天数、课程交互次数、视频播放次数、课程 id、论坛发 帖数、学历作为输入条件,将是否获得证书作为输出结果,得到如图 4 所示的误差直 图。图中,Targets 表示实际值,Outputs 借 助训练好的神经网络对训练(train)、测试 (test)、验证(validation)数据来进行计算后得出的输出值,通过 Targets-Outputs 来 求误差(Error)的大小以直方图的方式展示,图中间的竖线代表 0 误差。图 5 为误差范围 分布表,观察图 4 和图 5 可以直观地看出整 个预测的结果误差在0.1 以内的占绝大多数 (将近70%),而其中误差在0.05 以内的 又占据较大的比例。也就是说,通过以上7 条数据对学习者是否能获得证书进行预测,具有极高的可信度。由以上实验可知,通过BP 算法分析 edX 的数据集并以此预测成绩,有不错的预测精度,虽然还存在误差,但在一定程度上是可容许的。借助信息增益的思想筛选出对成绩影响较大的因素,继而借助BP 神经网络对其进行训练,以实现成绩值的预测是可行有效的。----------------------------------学习推荐学习推荐的本质是将影响最终学习成绩的某个或某几个数值置空为缺省数据项,通过遗传算法结合之前训练好的神经网络计算出这些缺省的数据项值,以此作为达成目标学习成绩所需要在相应缺省数据项上的满足条件,继而进行相应学习推荐。遗传算法使用概率化的寻优方法,能自主获取并指导优化的搜索空间并对搜索方向进行自适应调整,进而在无须知道确切规则的情况下得到尽可能满足相应方程的解。遗传算法计算缺省项的优势在于,可以同时计算多个缺省数据,求出需要达到预期目标所需要付出的学习努力值。还可以根据遗传算法的原理得到动态的求解答案,透过这些不稳定的动态答案还可发现一些不同于以往学习经验的新学习思路。由前文中神经网络的训练结果,我们得到一个根据学习章节数、课程访问天数、课程交互次数等共7 项数据,来求最终成绩值的算式。将这个训练好的神经网络算式导出,写作BPnet(N) 函数,其中N 为影响最终成绩的7 个数据项,函数返回结果为 grade 成绩值。使用GA-BP 实现求缺省数据项的公式为 GA(A,grade)=X(grade=BPnet(N),N={A、 X})式中, A指已知数据项,grade指目标成绩值; X 指要求得的缺省数据项;N 为已训练好的 神经网络中影响最终学习成绩值的因素集合,N 由 A、X 共同组成。将matlab 中训 练好的神经网络BPnet 导出,引入遗传算 法 GA,通过遗传算法递归得到为达成目标 grade 所需要缺省数据的近似值。图 7 为使用遗传算法求缺省数据的部分代码,其作用是求适应度函数,该段代码读入训练好的BP网络,通过遗传算法求缺省数据。遗传算法每轮在一定的范围内生成mem 个随机数元素组成的基因种群填充缺省数据,通过将这些伪随机元素代入 evaluate(•) 函数中求得相应的适应度,进一 步选择出适应度优秀的基因,并淘汰低适应度的基因。在此基础上,通过不断的基 因交叉、变异获得新的种群;通过不断迭 代获得适应度尽可能优秀的基因。这里求 适应度函数公式为1/(s+1),其理想适应度 值为 1,即当适应度值为 1 时,遗传算法所 得数组 x 中新获得值即为最优解。再通过将 这些所得到的缺省数据返回输出给学习者,就能为学习者提供较为有针对性的学习指 导推荐。学习者若围绕这些学习推荐来进 行相应学习活动,通常能更高效地完成既 定学习目标。由于训练好的BP 神经网络输出推导式可以视作一个有固定输出值的线性方程,而遗传算法在解决有固定输出结果的线性方程时,当遗传算法的迭代次数足够时,总能得到令人满意的结果。如图8 所示,随机选取 1 000 个样本,在迭代次数为 10 000 时,使用遗传算法基本能得出正确 的缺省数据值。误差计算方式为Error=out-BP(X, GA(X, out)) 式中,out 为成绩值;X 为缺省了某项或某几项的影响成绩因素组成的数组;BP()、 GA()分别表示为使用训练好的神经网络 求成绩的函数、使用遗传算法求缺省数据的函数。通过dt-bp-ga 对学习行为数据集进行训练并查找出了其中影响学习成绩的内在规律,实现了对学习者学习成绩 的预测及达到期望学习目标的学习建议推荐。在研究进行的过程中,发现了对于学习成绩预测与推荐尚存在如下几个问题:① 影响一个学生测试成绩的因素多种多样, 很大程度上不单取决于所记录的少量数据。② 缺少公开的研究学习数据集。③ 当用来实验的数据量较小时,可能出现结果精度上的较大偏差。
了解更多干货文章,可以关注微信小程序“八斗问答”

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-4-19 18:47 , Processed in 0.052016 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表