Effective Feature Learning with Unsupervised Learning in MOOCs

《在慕课中使用无监督学习到的高效特征》

这篇文章是2019年发表在LAK会议上的一篇文章。随着互联网教育的兴起,网络教育在日常生活中已经越来越普及。接踵而至的就是世界各地学者对在线学习教育的各种研究。其中一个方向就是,根据学生在线表现对学生课程成绩进行预测。
而这篇文章,也是关于成绩预测的,不同的是,它的成绩预测方法并不着重于改造预测模型,而在于构建表征上。
作者认为,现在的很多人工智能方法(专家系统,知识图谱等除外)并不具备任何推理能力,它们其实都只是在学习数据的特征分布。所以有一种好的表征方式,要远好于去绞尽脑汁的想fancy模型。我相信很多研究者一定有和我一样的感觉。

1.Introduction

开头,作者都是不厌其烦,千篇一律地谈论成绩预测对于在线教育的研究意义。但是这篇文章着重于研究如何通过建立一个更好的学习状态的表征,来提高成绩预测的方法。
首先,本文数据来自于mooc,由香港科技大学的一堂叫做《Introduction to Computing with Java》十二章节的课程,有44,920个学生参加,只有九分之一的学生完成全部课程。
其次,作者的主要贡献有:

  1. 从杂乱无章的数据中初步攫取了一种具有(two-fold)两重意义的特征,即既包含内容意义,又包含时间意义的特征。(原文为raw feature in time-content domain)
  2. 提出了一种修正的LSTM-AE方法来对raw feature进行压缩,即一种提取embedding的方法。
  3. 这种压缩方法在预测模型上取得了很好的表现,并且有助于划分学生的学习表现

2.BACKGROUND

作者从mooc中得到的数据被作者洗成了包含两重意义的特征。通常情况下,我们用来做预测的特征一般都是,用户评论,观看时间,课后习题等巴拉巴拉的数据,这是content数据。而在这篇论文的数据,作者捕捉了用户在网上学习过程中,每一章节之间的行为动作。譬如,再学完一个章节之后,加载视频数量发生改变,于是有了学习本章之前的加载视频数量,和学完本章之后的视频加载数量。如下图所示
Effective Feature Learning with Unsupervised Learning in MOOCs
我们可以看到,作者有意的量化了用户在学习某一章节前后的行为。这些行为不同于content数据,独树一帜地形成了time数据(原文翻译照搬,自己意会),这也正是我说的,数据还是那个数据,就看你怎么构了,构的好,单车变摩托。
Effective Feature Learning with Unsupervised Learning in MOOCs
作者对特征进行了一个PCA的过程后,取出PCA后学习本章前的特征的first component,和学习前的first component。(注意:PCA中我们得人工定义源数据投影到K 个component中,也就是K是超参数。根据PCA的原理,first component是蕴含信息量最大,对投影后方差贡献最大的维度了。)上图显示,作者构建的这个特征经过PCA后,可以有效的对学生表现进行划分了。颜色代表grade,红线以上的为high grade,蓝线左边是low grade。
至此,我们就可以初步看到作者的意图了,PCA本质上也是个构建新表征的方法,PCA后的新特征,通过投影使我们可以直接看到学生成绩的分布情况。这么清晰的分布轮廓,我相信这时我们直接上机器学习方法也能得到很好的效果。

3.The Modified LSTM Auto-encoder

对于深度学习进行压缩的方法,自然要属于AE(自动编码器,就是两个DNN堆一起),还有基于RNN的encode-decode方法。有了LSTM以后,当然也会有LSTM-AE(就是基于LSTM的encode-decode),结构如下图所示。
Effective Feature Learning with Unsupervised Learning in MOOCs
LSTM-AE结构其实一目了然,无非就是把encode-decode算法的RNN换成了LSTM。这个编码算法存在着它的局限性,就是中间的产品embedding Z太依赖最近的特征。LSTM是对序列建模的算法,这样做的embedding很大的程度上被序列中的最后一个特征给主宰,而之前序列的特征的影响力呈指数级下降。
针对上述编码算法的缺陷,我们的主角出场了,就是修正的LSTM-AE,其结构如下:
Effective Feature Learning with Unsupervised Learning in MOOCs
我们看到编码器部分不变,而后面解码器变成两个了,其中一个解码器和LSTM-AE中的解码器一毛一样,不一样的是多了一个predicting 解码器。它居然用kt1k_{t-1}序列去预测ktk_{t}序列。熟悉word2vec的朋友们肯定很快反应过来了,似曾相识的画风。这不就是和word2vec一模一样的操作吗?!!!用序列的上下文,去训练中间特征的语义,这时候特征语义的训练空间不再是只依赖前项的local context,而是基于全局的上下文语义空间。但是,这样做也有它的局限性,就是embedding的size必须和模型输入的size一样大。因为predicting解码器要用原序列特征去预测后序序列,而embedding要作为输入参加预测操作,所以也必须和原序列同维度。
但是,这里我觉得可以,因为原特征相比于word2vec中极度稀疏的one-hot特征,信息丰富非常多。也就是说,原特征不存在稀疏的问题,根本不需要往低维语义空间去映射,原size就很ok。

4 EXPERIMENTS

首先,作者选取了两个baseline。分别是以下两种差分编码模型。
Effective Feature Learning with Unsupervised Learning in MOOCs
Effective Feature Learning with Unsupervised Learning in MOOCs
实验效果如下
Effective Feature Learning with Unsupervised Learning in MOOCs
Effective Feature Learning with Unsupervised Learning in MOOCs
根据对比我们可以发现,当一次输入7个序列的特征时,编码效果是最好的,MAE非常低。同时,embedding的size越大效果越好。而对比两种VAE压缩法,修正的LSTM-AE要明显好于它们。图12右图就是它们MAE的比较,假设CNN2-FC1的效果是1,比较的其它的算法MAE占比(率)。
Effective Feature Learning with Unsupervised Learning in MOOCs
Effective Feature Learning with Unsupervised Learning in MOOCs
上图表示了,压缩后的特征,再两种映射方法之后的分布情况。我们可以看到,当我们把三个序列喂进修正LSTM-AE时,学生的学情特征几乎一坨,难以区分开来。这种情况下我们去用任何预测器都不会取得很好的效果。而当序列为11的时候,我们可以明显看到low和high grade的学生的分布情况。在这种特征空间中,无论我们用那种预测器去做grade预测,一定都可以取得不错的结果。

ps:
1.看着这篇文章的修正LSTM-AE的时候,我想着,我如果把attention加进来又会怎么样,哈哈哈。真是天下文章一大抄,缝缝补补又一篇。
2.这篇文章的重点在于构建表征。构建表征时,如果你的数据很好,不是很稀疏(类似点击数据,词向量那样的数据时),这种方法不一定很有提高。也许用简单的PCA,也能打爆修正LSTM-AE,但是PCA的物理意义和LSTM-AE不同。在在线教育的研究中,有个常见的理论就是,平时成绩好的学生,最终预测成绩一定不差。所以LSTM这种基于序列的模型,就在这里相当有意义了,这也是为什么作者选这个模型做修正的原因吧,I think。

相关文章: