CN110059220A - 一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 - Google Patents
一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 Download PDFInfo
- Publication number
- CN110059220A CN110059220A CN201910292355.5A CN201910292355A CN110059220A CN 110059220 A CN110059220 A CN 110059220A CN 201910292355 A CN201910292355 A CN 201910292355A CN 110059220 A CN110059220 A CN 110059220A
- Authority
- CN
- China
- Prior art keywords
- vector
- film
- user
- scoring
- deep learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
一种基于深度学习与贝叶斯概率矩阵分解的电影推荐算法,属于电影推荐技术领域。在众多推荐***中,矩阵分解模型因为其准确高效,易于实现得到广泛应用,但矩阵分解原理是将用户评分矩阵分为用户与项目特征向量,当评分矩阵稀疏时,推荐准确度将大大降低,为了解决这个问题,本方法将深度学习与基于协同的推荐算法相结合,利用堆栈自编码器学习用户与项目的辅助信息,贝叶斯概率分解矩阵从辅助信息和原有的评分中预测用户偏好。本方法在预测评分准确度方面有明显提升。
Description
技术领域
本方法属于电影推荐技术领域,具体设计结合深度学习与贝叶斯概率矩阵分解的电影推荐算法。
背景技术
随着互联网的快速发展,数据爆发式增长,带来一定便利的同时也带来了困扰。针对海量影视数据,用户真正需要的信息则难以寻找。为了解决信息过载的问题,推荐***应运而生。个性化推荐***从众多数据中提取出有用的信息,通过收集用户的行为日志等数据,分析用户的兴趣并向其推荐相应信息。
基于协同过滤的推荐算法是目前应用较为广泛的推荐算法之一。它利用用户之前的评分计算用户或电影相似度,学习用户与电影之间的潜在特征,从而进行评分预测。但这会造成无法推荐冷门电影,当新电影上映时,因为没有评分数据无法进行相似度计算。且仅靠评分无法准确挖掘用户,电影的潜在特征。
近年来,深度学习模型在计算机视觉和自然语言处理领域展示出了巨大的潜力,深度学习可以有效捕捉到用户和物品之间的关系,将用户或物品用向量表示,获取他们的复杂特征。在Netflix Prize竞赛上,有人首次提出将深度学习加入到推荐算法中,受限玻尔兹曼机的出现使得竞赛上了一个新台阶。之后基于深度学习的推荐算法的相关研究急剧增加。但是众多算法依然存在耗时长,参数设置繁琐的问题。
针对以上技术缺陷,本发明借助深度学习和基于模型的协同过滤的推荐算法解决这些问题。
发明内容
本发明解决的技术问题是:普通算法推荐准确度不高,易受稀疏数据和冷启动问题的影响,基于深度学习的推荐算法耗时长。
针对上述问题,本发明提供了一种基于深度学习与贝叶斯概率矩阵分解模型的算法,步骤如下:
步骤1.从网上公开数据集获得用户,电影信息以及用户对电影的评分。
步骤2.利用word2vec预处理用户与电影信息,将其转变为向量。
步骤3.将用户向量输入用户侧栈式降噪自编码器,经过多次迭代,获取用户特征向量;将电影特征向量输入电影侧栈式降噪自编码器,经过多次迭代获取电影特征向量。
步骤4.将用户特征向量与电影特征向量作为贝叶斯概率矩阵分解的初始值。
步骤5.根据特征向量计算贝叶斯概率矩阵分解的参数,依照参数更新特征向量,多次重复,直至用户特征向量与电影特征向量内积与现有评分之间的误差低于0.4。
步骤6.根据预测评分进行电影推荐。
本发明从用户与项目两方面着手,通过堆栈降噪自编码器提取特征向量,将用户与项目的辅助信息融合到贝叶斯概率矩阵分解模型中,这使得该模型可以同时学习到用户,项目的潜在特征以及用户与项目之间的隐式关系,拥有更准确的特征属性,提高了推荐质量,减少
了计算时间。
附图说明
图1为栈式降噪自编码器模型图
图2为本发明贝叶斯概率矩阵分解模型图
图3为贝叶斯概率矩阵分解采样流程图
图4为本发明基于深度学习和贝叶斯概率矩阵分解的整体模型图
具体实施方式
下面结合附图对本发明做进一步的详细描述:
本发明提供了一种基于深度学习和贝叶斯概率矩阵分解的电影推荐算法,该方法包括以下步骤:
步骤1.从网上公开数据集获得用户,电影信息以及用户对电影的评分。共有6040位用户,3952部电影,1000209个评分,评分从1至5,均为整数。用户的职业均用数字代表,如15为科学家。用户,电影信息和用户评分形式如下表。
表1.用户信息
表2.电影信息
表3.评分数据
步骤2.利用word2vec预处理用户与电影信息,将其转变为向量。因电影标题由多个词汇构成,且有大写字母,所以先将所有大写字母转换为小写字母,将所有标题中的词汇组成词汇表,所有词由one-hot编码转化为词向量,然后对word2vec网络输入需要预测词的上下文向量进行该词预测,至少训练10次,保留网络参数,所有词乘以相应参数即可获得最终词向量。取该电影标题所有的词向量的平均值获得该电影标题向量,将电影标题向量和电影流派向量取平均值获得电影向量。将用户性别,职业也利用word2vec转化为相应的向量表达,取两个向量的平均值作为用户向量。
步骤3.将用户向量输入用户侧栈式降噪自编码器,如图1,向原始用户向量加入噪声,生成第一个DAE输入向量,利用DAE的重构原理迭代训练约50 次,所有向量重构误差总和低于50,得到第一个隐藏层的各项参数和特征向量1,公式如下
h=fθ(x)=s(Wx+b)。
h为第一个隐藏层的特征向量,x为加入噪声后的输入,W为输入层到隐藏层的权重,b为隐藏层神经元的偏置,s为sigmoid激活函数。第二步将上层的输出即提取出的特征向量作为第二层DAE的输入向量,通过同样方式训练约50次得到隐藏层2的输出,得到最后的输出,即用户特征向量。
将电影向量输入电影侧栈式降噪自编码器,向原始电影向量加入噪声,生成第一个DAE的输入向量,利用DAE的重构原理经过约50次迭代训练,所有向量的误差总和低于50,获得第一个隐藏层的各项参数和特征向量。第二步将上层的输出即提取出的特征向量作为第二层DAE的输入向量,同样方式训练约50次获得隐藏层的输出,即得到最终输出,电影特征向量。
步骤4.将用户特征向量与电影特征向量作为贝叶斯概率矩阵分解的初始值。将6040位用户的特征向量组合为用户特征矩阵U,3952部电影的特征向量组合为电影特征矩阵V。将他们作为贝叶斯概率矩阵分解模型中起始U,V。
步骤5.如图2,3,现有评分R与预测评分R*的差即R-R*服从均值为0,精度为α的高斯分布,α设置为0.1,用户与项目的特征向量先验分布为:
其中M为用户数目,N为电影数目,μU,μV为高斯分布均值,ΛU,ΛV为精度矩阵,{μU,ΛU},{μV,ΛV}被定义为超参数ΘU,ΘV,超参数服从高斯-威沙特分布共轭先验,如下式
Θ0为参数μ0,v0,W0的集合,为均值为μ0,精度矩阵为(β0ΛU)-1的高斯分布概率密度函数,μ0设置为0,β0设置为6,是自由度为v0,尺度矩阵为W0的威沙特分布,v0设置为10,W0设置为10×10的单位矩阵。
因贝叶斯概率矩阵分解中预测的评分R*的分布函数为复杂的二重积分,无法直接求解,利用采用马尔科夫链-蒙特卡洛方法采样得预测评分的近似分布,即:
为用户ui对电影vj的预测评分,R为现有评分,T为总采样次数,为用户ui第t次采样的用户向量,为电影vj第t次采样的电影向量。
具体采样过程为:第一步根据起始特征矩阵U,V采样得全局超参数,第二步利用全局超参数重新采样得U,V,第三步重复第一,二步约50次,直至最终预测评分与实际评分的误差低于0.4。最终预测评分计算公式为:
预测评分与实际评分之间的误差用RMSE计算,如下式:
其中N为评分数,r是实际评分,r*是预测评分。
步骤6.根据预测得出的评分对用户进行推荐,分数高且用户未观看的为推荐电影。
实验模拟
本发明使用MovieLens 1M的数据集,包含6040位用户,3952部电影,近10万条评分,每人均至少20条评分数据。随机抽取部分评分数据作为训练集进行训练,尝试不同稀疏度的数据测试本发明的预测结果准确度,随着稀疏度的增加,准确度有部分降低,但较普通协同过滤方法适应能力更强,使用较深度学***稳。
本发明将深度学习与贝叶斯概率矩阵分解相结合,具有很强的特征提取能力,并且解决了推荐***中常见的冷启动问题,推荐能力也有一定提高。
Claims (4)
1.基于深度学习和贝叶斯概率矩阵分解的电影推荐算法,其特征在于,包括以下步骤:
步骤1.从网上公开数据集获得用户,电影信息以及用户对电影的评分;
步骤2.利用word2vec预处理用户与电影信息,将其转变为向量;
步骤3.将用户向量输入用户侧栈式降噪自编码器,经过多次迭代,获取用户特征向量;将电影特征向量输入电影侧栈式降噪自编码器,经过多次迭代获取电影特征向量;
步骤4.将用户特征向量与电影特征向量作为贝叶斯概率分解矩阵的初始值;
步骤5.根据特征向量计算贝叶斯概率矩阵分解的参数,依照参数更新特征向量,多次重复,直至用户特征向量与电影特征向量内积与现有评分之间的误差低于0.4;
步骤6.根据预测评分进行电影推荐。
2.根据权利要求1所述的基于深度学***均值获得该电影标题向量,将电影标题向量和电影流派向量取平均值获得电影向量;将用户性别,职业也利用word2vec转化为相应的向量表达,取两个向量的平均值作为用户向量。
3.根据权利要求1所述的基于深度学习和贝叶斯概率矩阵分解的电影推荐算法,其特征在于,步骤3具体为:
向原始用户向量加入噪声,生成第一个DAE输入向量,利用DAE的重构原理迭代训练50次,所有向量重构误差总和低于50,得到第一个隐藏层的各项参数和特征向量1,公式如下
h=fθ(x)=s(Wx+b);
h为第一个隐藏层的特征向量,x为加入噪声后的输入,W为输入层到隐藏层的权重,b为隐藏层神经元的偏置,s为sigmoid激活函数;第二步将上层的输出即提取出的特征向量作为第二层DAE的输入向量,通过同样方式训练约50次得到隐藏层2的输出,得到最后的输出,即用户特征向量;
将电影向量输入电影侧栈式降噪自编码器,向原始电影向量加入噪声,生成第一个DAE的输入向量,经过50次迭代训练,所有向量的误差总和低于50,获得第一个隐藏层的各项参数和特征向量;第二步将上层的输出即提取出的特征向量作为第二层DAE的输入向量,同样方式训练50次获得隐藏层的输出,即得到最终输出,电影特征向量。
4.根据权利要求1所述的基于深度学习和贝叶斯概率矩阵分解的电影推荐算法,其特征在于,步骤5具体为:
现有评分R与预测评分R*的差即R-R*服从均值为0,精度为α的高斯分布,α设置为0.1,用户与项目的特征向量先验分布为:
其中M为用户数目,N为电影数目,μU,μV为高斯分布均值,ΛU,ΛV为精度矩阵,{μU,ΛU},{μV,ΛV}被定义为超参数ΘU,ΘV,超参数服从高斯-威沙特分布共轭先验,如下式
Θ0为参数μ0,v0,W0的集合,为均值为μ0,精度矩阵为(β0ΛU)-1的高斯分布概率密度函数,μ0设置为0,β0设置为6,是自由度为v0,尺度矩阵为W0的威沙特分布,v0设置为10,W0设置为10×10的单位矩阵;
利用采用马尔科夫链-蒙特卡洛方法采样得预测评分的近似分布,即:
为用户ui对电影vj的预测评分,R为现有评分,T为总采样次数,为用户ui第t次采样的用户向量,为电影vj第t次采样的电影向量;
具体采样过程为:第一步根据起始特征矩阵U,V采样得全局超参数,第二步利用全局超参数重新采样得U,V,第三步重复第一,二步,直至最终预测评分与实际评分的误差低于0.4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292355.5A CN110059220A (zh) | 2019-04-12 | 2019-04-12 | 一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910292355.5A CN110059220A (zh) | 2019-04-12 | 2019-04-12 | 一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110059220A true CN110059220A (zh) | 2019-07-26 |
Family
ID=67318965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910292355.5A Pending CN110059220A (zh) | 2019-04-12 | 2019-04-12 | 一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110059220A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659411A (zh) * | 2019-08-21 | 2020-01-07 | 桂林电子科技大学 | 一种基于神经注意力自编码器的个性化推荐方法 |
CN111553744A (zh) * | 2020-05-08 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 联邦产品推荐方法、装置、设备及计算机存储介质 |
CN111612573A (zh) * | 2020-04-30 | 2020-09-01 | 杭州电子科技大学 | 一种基于全贝叶斯方法的推荐***评分推荐预测方法 |
CN112966148A (zh) * | 2021-03-05 | 2021-06-15 | 安徽师范大学 | 基于深度学习和特征融合的视频推荐方法和*** |
CN113139089A (zh) * | 2021-05-14 | 2021-07-20 | 西安建筑科技大学 | Sddne模型协同过滤模型的电影推荐方法、***、介质及设备 |
CN113239277A (zh) * | 2021-06-07 | 2021-08-10 | 安徽理工大学 | 一种基于用户评论的概率矩阵分解推荐方法 |
CN113536116A (zh) * | 2021-06-29 | 2021-10-22 | 中国海洋大学 | 基于双流sliced wasserstein自编码器的跨域推荐方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273438A (zh) * | 2017-05-24 | 2017-10-20 | 深圳大学 | 一种推荐方法、装置、设备及存储介质 |
CN107491540A (zh) * | 2017-08-24 | 2017-12-19 | 济南浚达信息技术有限公司 | 一种结合深度贝叶斯模型和协同异构信息嵌入的电影推荐方法 |
CN108509539A (zh) * | 2018-03-16 | 2018-09-07 | 联想(北京)有限公司 | 信息处理方法电子设备 |
CN109284406A (zh) * | 2018-09-03 | 2019-01-29 | 四川长虹电器股份有限公司 | 基于差异循环神经网络的意图识别方法 |
CN109299396A (zh) * | 2018-11-28 | 2019-02-01 | 东北师范大学 | 融合注意力模型的卷积神经网络协同过滤推荐方法及*** |
CN109408702A (zh) * | 2018-08-29 | 2019-03-01 | 昆明理工大学 | 一种基于稀疏边缘降噪自动编码的混合推荐方法 |
-
2019
- 2019-04-12 CN CN201910292355.5A patent/CN110059220A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273438A (zh) * | 2017-05-24 | 2017-10-20 | 深圳大学 | 一种推荐方法、装置、设备及存储介质 |
CN107491540A (zh) * | 2017-08-24 | 2017-12-19 | 济南浚达信息技术有限公司 | 一种结合深度贝叶斯模型和协同异构信息嵌入的电影推荐方法 |
CN108509539A (zh) * | 2018-03-16 | 2018-09-07 | 联想(北京)有限公司 | 信息处理方法电子设备 |
CN109408702A (zh) * | 2018-08-29 | 2019-03-01 | 昆明理工大学 | 一种基于稀疏边缘降噪自动编码的混合推荐方法 |
CN109284406A (zh) * | 2018-09-03 | 2019-01-29 | 四川长虹电器股份有限公司 | 基于差异循环神经网络的意图识别方法 |
CN109299396A (zh) * | 2018-11-28 | 2019-02-01 | 东北师范大学 | 融合注意力模型的卷积神经网络协同过滤推荐方法及*** |
Non-Patent Citations (3)
Title |
---|
HAO WANG 等: "Relational stacked denoising autoencoder for tag recommendation", 《AAAI"15: PROCEEDINGS OF THE TWENTY-NINTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE》 * |
RUSLAN SALAKHUTDINOV 等: "Bayesian Probabilistic Matrix Factorization using Markov Chain Monte Carlo", 《PROCEEDINGS OF THE 25TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING(ICML2008)》 * |
李梦梦 等: "基于栈式降噪自动编码器的动态混合推荐算法", 《计算机工程》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659411A (zh) * | 2019-08-21 | 2020-01-07 | 桂林电子科技大学 | 一种基于神经注意力自编码器的个性化推荐方法 |
CN110659411B (zh) * | 2019-08-21 | 2022-03-11 | 桂林电子科技大学 | 一种基于神经注意力自编码器的个性化推荐方法 |
CN111612573A (zh) * | 2020-04-30 | 2020-09-01 | 杭州电子科技大学 | 一种基于全贝叶斯方法的推荐***评分推荐预测方法 |
CN111612573B (zh) * | 2020-04-30 | 2023-04-25 | 杭州电子科技大学 | 一种基于全贝叶斯方法的推荐***评分推荐预测方法 |
CN111553744A (zh) * | 2020-05-08 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 联邦产品推荐方法、装置、设备及计算机存储介质 |
CN112966148A (zh) * | 2021-03-05 | 2021-06-15 | 安徽师范大学 | 基于深度学习和特征融合的视频推荐方法和*** |
CN113139089A (zh) * | 2021-05-14 | 2021-07-20 | 西安建筑科技大学 | Sddne模型协同过滤模型的电影推荐方法、***、介质及设备 |
CN113239277A (zh) * | 2021-06-07 | 2021-08-10 | 安徽理工大学 | 一种基于用户评论的概率矩阵分解推荐方法 |
CN113536116A (zh) * | 2021-06-29 | 2021-10-22 | 中国海洋大学 | 基于双流sliced wasserstein自编码器的跨域推荐方法 |
CN113536116B (zh) * | 2021-06-29 | 2023-11-28 | 中国海洋大学 | 基于双流sliced wasserstein自编码器的跨域推荐方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110059220A (zh) | 一种基于深度学习与贝叶斯概率矩阵分解的电影推荐方法 | |
CN107133224B (zh) | 一种基于主题词的语言生成方法 | |
CN106295796B (zh) | 基于深度学习的实体链接方法 | |
CN111241294B (zh) | 基于依赖解析和关键词的图卷积网络的关系抽取方法 | |
CN107273913B (zh) | 一种基于多特征融合的短文本相似度计算方法 | |
CN109783657A (zh) | 基于受限文本空间的多步自注意力跨媒体检索方法及*** | |
CN110516085A (zh) | 基于双向注意力的图像文本互检索方法 | |
CN109271537B (zh) | 一种基于蒸馏学习的文本到图像生成方法和*** | |
CN111881262B (zh) | 基于多通道神经网络的文本情感分析方法 | |
CN109478204A (zh) | 非结构化文本的机器理解 | |
CN103678329B (zh) | 推荐方法及装置 | |
CN105718532B (zh) | 一种基于多深度网络结构的跨媒体排序方法 | |
KR102352251B1 (ko) | 자질 선별을 통한 고성능 기계독해 방법 | |
CN106844368A (zh) | 用于人机对话的方法、神经网络***和用户设备 | |
CN110442781A (zh) | 一种基于生成对抗网络的对级排序项目推荐方法 | |
CN108228576B (zh) | 文本翻译方法及装置 | |
CN106610955A (zh) | 基于词典的多维度情感分析方法 | |
CN110825850B (zh) | 一种自然语言主题分类方法及装置 | |
CN103778227A (zh) | 从检索图像中筛选有用图像的方法 | |
CN108765383A (zh) | 基于深度迁移学习的视频描述方法 | |
CN111221962A (zh) | 一种基于新词扩展与复杂句式扩展的文本情感分析方法 | |
CN111368088A (zh) | 一种基于深度学习的文本情感分类方法 | |
CN112232087A (zh) | 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法 | |
CN109598586A (zh) | 一种基于注意力模型的推荐方法 | |
Yang et al. | Learning to answer visual questions from web videos |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190726 |