基于改进自编码器的在线课程推荐模型①

2022-05-10 12:12宋晓丽贺龙威
计算机系统应用 2022年3期
关键词:时序编码器准确率

宋晓丽,贺龙威

1(中国石油大学(华东),青岛 266580)

2(海洋石油工程(青岛)有限公司,青岛266520)

1 引言

随着互联网技术的发展,在线教育以其打破课堂时空限制等优势越来越受到人们的关注,尤其是新冠疫情爆发以来,人们对在线教育的需求大大增加.中国互联网络信息中心报告显示:2020年3月,我国在线教育用户规模达4.23 亿,较2018年底增长110.2%,占网民整体的46.8%.然而,随着在线教育的发展,信息过载现象愈发严重,如何使用户在短时间内找到适合自己的学习资源便成了一项巨大的挑战.为了解决信息过载的问题,科研人员提出了推荐系统的概念,通过对信息的个性化推荐,提高了人们的用户体验[1].

有关推荐系统算法的研究较多,主要分为3 类:基于内容的推荐算法、协同过滤的推荐算法和混合的推荐算法.许多在线教育网站采用传统的协同过滤的推荐算法[2],其基本思想是利用已有的用户选课信息来构建相似用户群体,进而进行课程的推荐,但传统的协同过滤算法存在冷启动和数据稀疏性等问题[3].

由于深度学习具有强大的非线性映射能力,在处理高维数据时,可以有效地将其映射到低维空间从而提取高层次的特征,随着近几年深度学习的发展,利用深度学习进行个性化推荐也得到了广泛的应用[4-6].由于自编码器具有强大的隐特征学习能力,能够有效处理数据的稀疏性问题[7].另外,由于用户在进行选课时往往会考虑到之前学过的课程,用户的选课序列具有明显的时序特点,LSTM (long short-term memory,长短期记忆网络)具有强大的时序建模能力,能够有效处理时间序列数据.根据上述特性,本文利用LSTM 改进自编码器,将其应用于在线教育的课程推荐领域,根据用户的课程学习历史来推荐之后的学习课程.

2 国内外研究现状

2.1 协同过滤推荐算法

协同过滤算法是根据用户的历史数据划分用户群体,根据群体内其他用户的偏好来为其进行推荐,分为两大类:基于用户的协同过滤推荐和基于物品的协同过滤推荐.

刘国丽等人[8]提出了一种融合专家信任的协同过滤推荐算法,在专家信任度计算公式中引入了项目平衡因子,提高了算法的推荐准确率.Li 等人[9]设计了一个应用协同过滤算法的个性化在线教育平台,实验验证了平台的性能和功能的有效性.为了解决在物联网情境下的推荐问题,Cui 等人[10]提出了一种结合时间相关系数和改进的K-means 聚类方法的推荐模型,实验结果表明了其在物联网情境下的优越性能.

2.2 基于深度学习的推荐算法

随着深度学习的发展,越来越多的研究人员将深度学习方法应用到推荐系统上.利用深度学习的非线性映射能力,对协同过滤算法中的用户矩阵和物品矩阵进行建模,使模型具有非线性表达能力.

王素琴等人[11]提出了一种基于LSTM和课程关联分类的推荐模型,首先利用GSP (generalized sequential pattern mining algorithm) 算法和谱聚类算法对课程进行分组,然后利用LSTM 进行课程的时间序列建模,最后利用Softmax 函数对课程进行分类,实验结果表明与协同过滤等算法相比,该算法具有更高的推荐准确性.卜祥鹏[12]提出了一种基于GRU (gated recurrent unit,门控循环单元)和课程关联关系的推荐模型,结合课程之间的关联关系,利用GRU和Softmax 函数进行课程推荐,实验结果表明与协同过滤或仅考虑课程关联的推荐算法相比,推荐的准确率更高.Sedhain 等人[13]利用自编码器将数据映射到非线性隐空间,实验证明与MF (matrix factorization,矩阵分解)和CF (collaborative filtering,协同过滤)相比,具有更低的均方误差.Strub[3]结合评价信息和诸如用户属性和物品描述等辅助信息,利用自编码器进行矩阵的分解,通过实验验证了所提方法的有效性.

3 相关概念

3.1 符号表示及问题定义

假设在当前的在线教育系统中,共有m位用户,n门课程,则用U={u1,u2,···,um}表示所有用户的集合,I={I1,I2,···,In}表示所有课程的集合.对于用户u∈U,其学习课程的序列可以表示为课程推荐的目的是已知t1-ti时间段内用户已经学习的课程,向其推荐ti+1时刻用户可能感兴趣的课程.

3.2 LSTM

长短期记忆网络是一类特殊的循环神经网络,最早由Hochreiter和Schmidhuber为了解决传统循环神经网络梯度消失的问题而提出[14].不同于前馈神经网络跟普通的循环神经网络,长短期记忆网络不仅可以处理点数据(例如图片),还可以处理间隔和延迟非常长的序列数据(例如语音跟视频).长短期记忆网络在诸如连笔字识别[15]、语音识别[16]以及时间序列数据异常检测[17]等任务中取得了优秀的成果.其结构如图1.

图1 LSTM 网络结构[18]

长短期记忆网络主要由3 个称为门的特殊结构来控制神经元的状态,这3 个门分别称为遗忘门、输入门跟输出门.

长短期记忆网络的工作由3 个阶段完成:

(1)遗忘阶段.该阶段来决定神经元需要遗忘哪些信息,对输入的信息进行选择性抛弃.

(2)选择记忆阶段.该阶段来决定给神经元添加哪些信息.

(3)输出阶段.该阶段来决定神经元的哪些信息会被输出.

3.3 自编码器

自编码器是一种以无监督学习的方法来学习数据编码的人工神经网络,其特点是学习目标跟输入数据相同,一般用途是通过训练神经网络来忽略无关信息以实现对数据的降维.

自编码器由两部分组成:对输入数据进行压缩编码的编码器和将编码重建为输入数据的解码器.其基本结构如图2所示.

图2 自编码器网络结构

对于编码器映射φ和解码器映射ψ有:

自编码器在编码阶段,将输入x∈Rd=X映射到隐藏层h∈RP=F,h常被称为编码、隐变量或隐表示,对于h有:

f为激活函数,常用的有Sigmoid 函数和ReLU 函数,W是输入x的权重矩阵,b为偏置单元.在训练过程中通过反向传播算法来更新W和b.

在解码阶段,将h映射到输出,x′和x结构相同:

通过最小化重构误差(例如均方误差),来训练自编码器:

4 基于改进自编码器的在线课程推荐模型

4.1 时序特征的提取

为了对用户选课数据的时序性建模,利用LSTM替换自编码器中的前馈神经网络,类似于RNN Encoder-Decoder[19]和EncDec-AD[20],将二者相结合.

所提时序特征提取方法如图3所示.

图3 时序特征提取方法

本文提出的时序特征提取方法包括输入层、编码层、LSTM 层、解码层和输出层5 部分.首先对输入数据进行预处理,包括数据增强和按窗口划分序列,随后将每一个序列送入编码器得到特征向量,再将此特征向量作为LSTM 网络的输入,最后将LSTM的输出送入解码器,得到对原始数据窗口下一个窗口的重建.通过最小化重构误差进行训练,训练完成后,提取LSTM网络输出作为提取的时序特征.

(1)对原始的时序数据进行预处理,将处理好后的数据输入到输入层.

预处理过程中采用了数据增强(data augmentation)技术,通过添加高斯噪音来提高模型的准确率.

其中,X′为增强后的数据,X为原始数据,γ为噪音的比例,m为原始数据的长度,σ2表示原始数据的方差,randn(m) 可以产生m条服从标准正态分布的数据.

然后,将添加噪音的数据以长度为p的窗口进行序列划分.

其中,xi∈X′,wt表示结束时刻为t的数据序列.

(2)将k个不重叠的窗口进行序列划分,经编码后得到的特征表示Et作为LSTM 网络的输入.

Wt表示结束时刻为t的窗口序列,eit表示Wt中的第i个窗口wit的特征表示,Et表示与窗口序列Wt相对应的特征表示.

(3)训练LSTM 网络,用一个序列Et中的前k-1个窗口作为输入数据,来预测接下来的后k-1个窗口.

LSTM的计算可以按照以下公式展开:

其中,Wf,Wi,Wc,Wo与bf,bi,bc,bo分别为t时刻LSTM单元中遗忘门、输入门、细胞状态、输出门的权重矩阵和偏置向量,σ为激活函数,*表示矩阵按元素相乘,ht-1表示t-1时刻隐藏层的状态.

应用梯度裁剪(gradient clipping)[21]来解决LSTM中的梯度爆炸问题.通过将超过阈值的梯度设定为固定值来使梯度值保持在合理水平.更确切地说,在梯度g更 新前,裁剪g的范数 ‖g‖:

其中,v是阈值的范数,g是要用来更新的参数.

采用真实值跟LSTM 预测值之间的均方误差(mean square error,MSE)作为损失函数,MSE计算公式如式(21)所示:

其中eit为真实数据值,为预测数据值.

(4)利用解码器将LSTM的输出重构为时间序列窗口.

4.2 在线课程的推荐

经过上一步提取到数据的时序特征后,将LSTM的输出作为输入,经过Softmax函数,得到模型最后的推荐结果.如图4所示.

图4 进行课程推荐

5 实验结果及分析

5.1 实验数据集

采用MOOC 真实数据集[22],共458 454 条选课记录,包含82 535 位用户和1 302 门课程.每条记录包含用户id、选课时间、课程id、课程名称、课程类别等属性.

5.2 数据预处理

(1)首先,将原始数据数据简化为三元组(用户id,选课时间,课程id).

(2)其次,从82 535 位用户中,剔除选修课程数量少于10 门的用户,剩余130 812 条数据,8 268 位用户.

(3)然后,再按照用户分组,共分为8 268 个组,在每个组内按照选课时间升序进行排序.

(4)最后,按照(用户id,课程id 时间序列)合并组内数据,得到最终数据集,共计8 268 条数据.

5.3 评价指标

本文采用Top-N推荐系统中常用的查准率(precision,P)、查全率(recall,R)、F1-分数(F1-Score,F1)3 个评价指标来衡量所提方法的推荐性能,表达式如下.

其中,R(u)表示根据用户在训练数据集上课程学习数据给用户做出的课程推荐列表,T(u)表示用户在测试数据集上的课程学习列表.

5.4 实验对比

对于Top-N课程推荐问题,本文取N∈{1,3,10},设置3 组对比实验,每组对比实验中,与协同过滤算法(CF)和基于传统的自编码器的推荐算法(AE) 进行对比.

实验结果如表1、表2、表3所示.

表1 N=1 时实验对比

表2 N=3 时实验对比

表3 N=10 时实验对比

由表1、表2、表3可得以下结论:

(1)在同一组对比实验内,所提方法在查准率、查全率、F1-Score3 个指标上的表现均要优于协同过滤算法和基于传统的自编码器的推荐算法.当N=1 时,与CF 算法相比,准确率提高22.8%,召回率提高26.2%,F1-Score 提高24.6%;与AE 算法相比,准确率提高9.9%,召回率提高7.7%,F1-Score 提高8.7%.当N=3 时,与CF 算法相比,准确率提高15.5%,召回率提高12.7%,F1-Score 提高14.1%;与AE 算法相比,准确率提高8.5%,召回率提高7.4%,F1-Score 提高7.9%.当N=10 时,与CF 算法相比,准确率提高13.3%,召回率提高14.2%,F1-Score 提高13.8%;与AE 算法相比,准确率提高3.1%,召回率提高2.6%,F1-Score 提高2.9%.实验结果表明,基于深度学习方法的推荐算法性能表现要优于传统的算法,这是因为深度学习算法可以提取更深层次的数据特征.本文所提方法由于采用了LSTM 对数据的时序特征进行建模,因此效果也要优于基于传统的自编码器的推荐算法.

(2)不同对比实验组间,随着N的增大,模型的3 个性能评价指标也越来越高,这是因为随着推荐课程的数量增加,包含用户喜欢的课程的概率也越来越大.

6 结论与展望

本文针对在线教育的课程推荐问题,提出了一种基于改进自编码器的在线课程推荐模型.首先,利用长短期记忆网络改进自编码器,使得模型可以提取数据的时序性特征;然后,利用提取到的数据特征进行在线教育的课程推荐;最后,在真实的MOOC 数据集上进行实验验证,实验结果表明所提方法与协同过滤算法和基于传统的自编码器的推荐算法相比,具有更高的准确性.

但是,本文工作仍存在以下不足:在LSTM 网络中,有众多的超参数需要手动设置,仅凭个人经验难以找到最合适的数值,接下来将研究如何利用神经网络搜索,去自动寻找最优的超参数.

猜你喜欢
时序编码器准确率
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
融合CNN和Transformer编码器的变声语音鉴别与还原
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
设定多圈绝对值编码器当前圈数的方法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
转炉系统常用编码器选型及调试
你不能把整个春天都搬到冬天来