文献综述(或调研报告):
文献综述部分首先简要介绍基于邻域的推荐算法和基于模型的推荐算法,然后介绍近几年深度学习模型结合推荐系统的研究,包括基于玻尔兹曼机(RBM)和基于自编码器(AE)的推荐算法,以及基于其他深度学习模型比如卷积神经网络(CNN),循环神经网络(RNN)等构建的推荐算法。
推荐系统中最基本的算法是基于邻域的推荐算法,主要可以分为两大类,一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法[1]。通过收集用户过去的行为以获得其对物品的显示或隐式信息,根据用户对物品的偏好,发现物品或者用户的相关性,然后基于这些相关性进行推荐。基于领域的推荐算法特点是算法简单,通用性好,可操作性强,但存在冷启动和评分矩阵稀疏等问题。
基于模型的推荐算法中最常用的是矩阵分解(MF)模型,也称隐语义模型[2]。矩阵分解模型把原始的评分矩阵R分解成U和V两个矩阵相乘,U矩阵与V矩阵通过梯度下降法不断迭代求得,这样评分矩阵R中缺失的值就可以通过U矩阵中的某列和V矩阵的某行相乘得到。针对传统推荐算法稀疏性和冷启动的问题,文献[3]提出Collective Matrix Factorization(CMF)模型,通过引入多个不同的数据源或者辅助信息(称为side information)来解决这些问题,用户的side infirmation可以是用户的基本个人信息,用户画像信息等,而物品的side information可以是物品的具体介绍等。CMF模型分别通过分解评分矩阵R,用户的side information矩阵,物品的side information矩阵得到User或者Item的隐向量,进而进行推荐。基于模型的推荐算法的目的就是学习到User的隐向量矩阵U与Item的隐向量矩阵V,而由于深度学习模型强大的特征提取能力,运用深度学习模型来学习这些抽象表示的隐向量是近几年推荐算法的重要研究方向。
2007年Salakhutdinov首次将RBM模型应用于推荐系统[4],他提出了一个两层受限玻尔兹曼机(RBM)模型,将目标用户评价过的电影分数作为训练集,隐层的输出看作用户的特征表示,对其运用概率模型预测分数,获得了比矩阵模型分解更高的推荐准确性。
Sedhain提出用深度神经网络中的自编码器(Autoencoder)来预测用户对物品缺失的评分值[5]。自编码器是一个无监督学习模型,它利用反向传播算法,让模型的输出等于输入,目标函数通过计算输入与输出的损失来优化模型,而评分矩阵R中缺失的评分值通过模型的输出来预测,进而为用户做推荐。文献[6]在此基础上提出度量相似性的新方法:将高维、稀疏的用户行为向量编码为低维、稠密的用户特征向量,用二进制编码用户的隐含层特征,利用二进制编码的汉明距离度量用户之间的相似性,由于汉明距离可以在常数时间内完成计算,所以不需要预先计算和存储相似度矩阵,大大减少了模型训练的空间开销。文献[7]利用隐式反馈信息进一步改善基于自编码器推荐算法的性能。文献[8]使用栈式降噪自编码器(SDAE)构建推荐系统,栈式降噪自编码器是一个由多层自编码器组成的神经网络,特征提取能力更强,同时对输入的训练数据加入噪声,所以具有更强的鲁棒性和泛化能力。Wang Hao在SDAE的基础上,提出了Bayesian SDAE模型[9][10],并利用该模型来学习Item的隐向量,其输入为Item的side information。该模型假设SDAE中的参数满足高斯分布,同时假设User的隐向量也满足高斯分布,进而利用概率矩阵分解(PMF)[11]来拟合原始评分矩阵。其通过最大后验估计得到要优化的目标函数,进而利用梯度下降学习模型参数,从而得到User与Item对应的隐向量模型。
Google将推荐,广告中常用的LR模型和深度神经网络(DNN)模型结合起来应用于Google Play App[12],LR模型需要进行大量特征变换来保证模型的记忆能力,而DNN模型对稀疏、未知的特征组合做低维嵌入来保证模型的泛化能力,两者结合起来联合训练从而保证记忆能力和泛化能力的均衡。网易将循环神经网络(RNN)和前向神经网络(FNN)用于电商网站考拉的物品推荐[13],用RNN模型对用户的浏览模式进行建模并联合FNN模型从而给用户提供个性化,实时的推荐。van den Oord最先将卷积神经网络(CNN)运用到音乐推荐系统[14],使用CNN分析音乐本身的音频信息得到音频的隐含特征进而为用户做音乐推荐。Robin Devooght使用RNN提取用户行为的隐含特征[15],构建长短期记忆人工神经网络(LSTM),获得了很不错的推荐效果。文献[16]在传统基于内容推荐的基础上,引入DNN词向量方法,根据视频的媒咨信息和用户的历史行为,将视频特征和用户特征映射在高维空间向量,从而构建用户正负行为与视频向量的余弦距离模型,在点击率和覆盖率上得到提升,从整体上获得了较好的推荐效果。
在去年的推荐系统顶级会议RecSys上,Google利用DNN来做YouTube的视频推荐[17],通过对用户观看的视频,搜索的关键词做词嵌入,然后再使用用户的side information等信息作为DNN的输入,利用一个多层的DNN学习出用户的隐向量,然后在其上面加上一层softmax学习出Item的隐向量,进而为用户做Top-N推荐。此外,Donghyun Kim通过CNN提出一种卷积矩阵分解来做评分的预测[18],该模型结合了概率矩阵分解模型(PMF)[11]与CNN模型,利用CNN来学习Item的隐向量,对文档的每个词先做词嵌入,然后拼接所有词组成一个词向量矩阵,一篇文档即可用一个二维矩阵表示,其中矩阵的行即为文档中词的个数,列即为词向量的长度,然后在该矩阵上做卷积、池化以及映射等,即可得到Item的隐向量。User的隐向量和PMF中一样,假设其满足高斯分布,目标函数由矩阵分解以及CNN的损失函数组成,结合Item和User的隐向量即可对用户进行推荐。
本课题将在Donghyun Kim提出的CNN和PMF结合的ConvMF模型[11]上尝试进一步的改进,提高推荐系统的性能。
总体来看,近几年深度学习应用于推荐系统的趋势是利用各种深度学习模型强大的特征提取能力,从User的side information(例如用户听音乐的历史行为数据等)或者Item的side information(例如音乐自身的音频信息,电影详细介绍包含的文本信息等)提取隐含特征供推荐系统使用。目前结合深度学习的推荐系统已经在学术界和工业界得到广泛的研究和应用,毋庸置疑,推荐系统将成为深度学习最重要的领域之一。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。