一种基于深度学习的电影推荐方法与流程

文档序号:14249651阅读:1287来源:国知局
一种基于深度学习的电影推荐方法与流程

本发明涉及电影推荐技术领域,尤其涉及一种基于深度学习的电影推荐方法。



背景技术:

推荐系统是根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户的个性化信息推荐系统。与搜索引擎相比,推荐系统通过研究用户的兴趣偏好,进行个性化计算,由系统发现用户的兴趣点,从而引导用户发现自己的信息需求。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,让用户对推荐产生依赖。

目前的推荐系统主要分为三类:基于内容的推荐系统、基于协同过滤的推荐系统和混合型推荐系统。基于内容的推荐系统其实本质上可以简化为一个回归问题,其将电影内容、情节作为特征值进行提取分类,然后预测用户对电影的评分,最后根据评分结果进行推荐。基于协同过滤的推荐系统一般以通过计算用户之间的相似度和电影之间的相似度的方式,来学习用户间和电影间潜在的特征,根据这个潜在的特征对用户评分进行预测。混合型推荐系统又称组合推荐系统,意在将多种推荐技术进行混合相互弥补缺点,从而获得更好的推荐结果。目前研究最多的当属内容推荐和协同过滤推荐的混合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后通过加权的方式组合其结果。

针对现有的推荐算法,基于协同过滤的推荐算法是通过使用某一用户数据,来发现拥有偏好相似度较高的用户和电影,这会导致越热门的电影越会被推荐;另外一个比较严重的问题是每当有一个新电影上映之后,由于没有用户观看,所以根据用户数据来做推荐的协同过滤就束手无策了,也就是常说的冷启动问题。基于内容的推荐算法虽然能够避免冷启动等问题,但是对数据特征内容有良好的结构性,要求特征内容容易抽取,这又是影响推荐准确率的一个难以解决的问题。基于混合型推荐算法的推荐结果通常存在一个问题,即尽管有多种混合推荐的方法,但是在某一具体问题中并不见得都十分有效,所能做到的也是弥补问题为主。

深度学习的概念源于人工神经网络的研究,含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习的概念由hinton等人于2006年提出,基于深度置信网络(dbn)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。目前深度学习主要应用于图片识别、文本处理、机器翻译、计算机视觉、情感识别等方面,在推荐系统中的应用并没有其他几个方向成熟和广泛。

针对以上现有技术缺陷的分析,本发明可以借助深度学习领域的算法和模型来解决这些问题,并尽可能提升推荐准确度。



技术实现要素:

针对上述问题中存在的不足之处,本发明提供一种基于深度学习的电影推荐方法。

为实现上述目的,本发明提供一种基于深度学习的电影推荐方法,包括:

步骤1、采用replicatedsoftmax模型作为受限玻尔兹曼机的可见层,基于上述改进的受限玻尔兹曼机构建深度玻尔兹曼机;

步骤2、将用户数据预处理成二维向量input(评分,电影)输入至replicatedsoftmax模型中;

步骤3、深度玻尔兹曼机随机初始化学习参数,所述学习参数包括权值参数和偏好参数;

步骤4、从可见层向隐藏层逐层正向推断,并从隐藏层向可见层逐层反向推断;

步骤5、通过吉布斯采样分别获得隐藏层状态和可见层的softmax状态;

步骤6、完成采样后利用对比散度法进行快速学习,不断地对学习参数进行调整,不断迭代上述操作,最后训练出适配该用户的模型。

作为本发明的进一步改进,在步骤1中,深度玻尔兹曼机没有关联记忆层,且每一层均为无向图。

作为本发明的进一步改进,在步骤2中,输入的评分为评分向量。

作为本发明的进一步改进,在步骤2中,若电影的总分为5分,用户对该电影的评分为4分,则评分向量为[0,0,0,1,0]。

作为本发明的进一步改进,在步骤6中,若未完成采样,则返回步骤3。

与现有技术相比,本发明的有益效果为:

本发明将深度学习的概念引入了电影推荐方法中,引入了受限玻尔兹曼机和深度玻尔兹曼机的概念,并将replicatedsoftmax模型适配电影推荐算法,并在该模型的引导下设计了针对电影推荐的深度网络模型。深度网络结构训练出来的模型除了拥有不俗的特征提取能力以外,还能够解决传统协同过滤所带来的过拟合,冷启动等问题,将其运用在电影推荐的方向具有不错的前景。

附图说明

图1为现有条件受限玻尔兹曼机网络结构图;

图2为现有replicatedsoftmax模型的网络结构图;

图3为本发明一种实施例公开的两层条件受限玻尔兹曼机的网络结构图;

图4为本发明一种实施例公开的多层受限玻尔兹曼机组成深度玻尔兹曼机的模型图;

图5为本发明一种实施例公开的基于深度学习的电影推荐方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图对本发明做进一步的详细描述:

本发明提供一种基于深度学习的电影推荐方法,其将传统的条件受限玻尔兹曼机进行改进,设计了一个适配以电影评分为基准的条件受限玻尔兹曼机,并使用两层条件受限玻尔兹曼机组成深度结构模型,利用深度学习的优势进行推荐。该模型能够解决传统协同过滤推荐算法存在的几个比较严重的问题,例如过拟合、冷启动等问题。同时条件受限玻尔兹曼机的对比散度快速学习算法也极大地提升了模型的学习能力;该方法包括:

步骤1、采用replicatedsoftmax模型作为受限玻尔兹曼机的可见层,基于上述改进的受限玻尔兹曼机构建深度玻尔兹曼机;

步骤2、将用户数据预处理成二维向量input(评分,电影)输入至replicatedsoftmax模型中;

步骤3、深度玻尔兹曼机随机初始化学习参数,所述学习参数包括权值参数和偏好参数;

步骤4、从可见层向隐藏层逐层正向推断,并从隐藏层向可见层逐层反向推断;

步骤5、通过吉布斯采样分别获得隐藏层状态和可见层的softmax状态;

步骤6、完成采样后利用对比散度法进行快速学习,不断地对学习参数进行调整,不断迭代上述操作,最后训练出适配该用户的模型。

进一步,输入的评分为评分向量;若电影的总分为5分,用户对该电影的评分为4分,则评分向量为[0,0,0,1,0]。

进一步,若未完成采样,则返回步骤3。

本发明一种基于深度学习的电影推荐方法的具体实现过程如下:

1、算法问题分析

深度学习是一个很广泛的概念,本发明主要旨在使用多层受限玻尔兹曼机组成一个深度网络结构,所以对受限玻尔兹曼机的改进比较重要。

受限玻尔兹曼机实际上是一个能量模型,其能量函数e(v,h)为:

e(v,h)=-atv-bt-htwv,其中w为可见单元和隐藏单元之间的边的权重,a和b是可见层与隐藏层之间的偏置bias;

分布函数p(v,h)为:

其中:

z=∑v,he-e(v,h),z为归一化因子,也作配分函数。

由上述公式可知,当能量模型的能量函数越小时,分布函数p(v,h)对应的概率就越大。实际上,受限玻尔兹曼机是一种可通过输入数据集学习概率分布的随机生成神经网络。

如图1所示的现有普通的受限玻尔兹曼机网络结构图,图中v代表可见层,h代表隐藏层,其他参数为学习参数,w代表权重矩阵,也就是v是本发明的输入层,常用的受限玻尔兹曼机的输入可见层及隐含层为二值模型,即二值受限玻尔兹曼机;二值受限玻尔兹曼机先对数据进行归一化,然后使用二值可见单元的实值概率取代激活情况,也一般是可见单元为实值,隐单元为二值的受限玻尔兹曼机的情况。而本发明是基于电影评分来进行训练和预测,二值模型并不能符合本发明的要求,这也是本发明主要需要解决的问题。

为解决上述问题,在本发明中,使用replicatedsoftmax模型作为第一层受限玻尔兹曼机的基础上,再增加普通玻尔兹曼机作为二层,而replicatedsoftmax模型为受限玻尔兹曼机的发明者hinton在2013年提出的一种模型,旨在使用神经网络对文本文章进行建模的,因此将replicatedsoftmax模型应用到电影推荐方面可解决本发明可见层的输入问题。

2、算法模型设计策略

上节提到,使用replicatedsoftmax模型的思路来改进受限玻尔兹曼机,使受限玻尔兹曼机能够更好地适配电影推荐算法。接下来详细讲解改进思路,并建立一个深度网络结构的深度玻尔兹曼机。

如图2所示的replicatedsoftmax模型,replicatedsoftmax模型实质上也是一个受限玻尔兹曼机模型,两层神经网络,输入层各个节点代表词语,中间隐含层的节点是0至1随机变量,表示文本主题。整体上,沿用受限玻尔兹曼机的模型。不过,与标准受限玻尔兹曼机不同的是:首先输入层的节点是由一篇文章的词数决定,而词数也不确定;其次由于输入层的不确定性,网络权重个数也不确定,网络权重仅仅由隐含层决定,所有输入层节点与某一个隐含层节点的关联权重都相同。

本发明根据replicatedsoftmax模型,可以对传统受限玻尔兹曼机的输入层进行改进,使用replicatedsoftmax模型的输入层,由于每一个用户都有不同的观影历史,所以针对每一个用户都建立一个模型,每一个模型都有一个输入层神经元,每个神经元代表一步电影,而每一个输入层的神经元都是一个softmax模型。softmax模型则是replicatedsoftmax模型中提及,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签可以取两个以上的值。这里就可以对应为电影评分,比如电影评分总共有1,2,3,4,5一共5种评分,那么每个softmax对应的向量为[0,0,0,0,0],若用户对该电影评分为5,则softmax单元对应向量为[0,0,0,0,1]。这样也就解决了传统二分受限玻尔兹曼机在输入层上的问题,本发明改进后的模型如图3所示。

由于深度结构目前对于文本特征提取、分析、压缩上有非常好的效果,根据深度学习模型在特征提取和探测上的优势,本发明会将利用多层受限玻尔兹曼机组成深度玻尔兹曼机,利用深度玻尔兹曼机的特征表达能力和预测能力来进行更快更准确的打分,大致模型如图4所示。

深度玻尔兹曼机与深度置信网络不同的是没有了关联记忆层,且每一层都是无向图,当推断至某一层的概率分布时,需要通过该层的上层和下层同时使用吉布斯采样并估计该层的概率分布,使用了跟深度置信网络相同的预训练逐层学习,利用多步吉布斯采样和对比散度法进行训练。

3、电影推荐方法流程

如图5所示,首先本发明要根据用户数据对数据进行整理与清洗,对每一个用户的数据进行统计,该用户看了多少部电影,分别是什么评分情况,因为每个用户的评分和观影情况都不一样,所以需要统计用户情况,并将用户的打分数据形成softmax结构的输入。本发明使用一个二维向量input(rate,movie)来记录该用户的softmax模型,rate代表的是评分,例如对theshawshankredemption评分为10,则对应的softmax评分表示为[0,0,0,0,0,0,0,0,0,1]。数据完成预处理之后,模型会使用随机函数随机初始化权值参数w,偏好参数bias,以及其他学习参数,接下来通过逐层预训练的方式进行预学习,逐层正向反向推断隐含层及softmax函数的概率,通过吉布斯采样分别获得隐藏层状态和可见层的softmax状态,完成采样后利用hinton提供的对比散度法进行快速学习算法不断地对学习参数进行调整,不断迭代上述操作,最后将训练出适配该用户的模型。

逐层预训练时会使用对比散度法,对比散度学习方法由hinton提出,能够有效地训练受限玻尔兹曼机,而且能够避免求取对数似然函数梯度的麻烦,因此在基于玻尔兹曼机构建的深度模型中广泛使用,也是本发明要使用的学习方法。对比散度算法使用估计的概率分布与真实概率分布之间k-l距离作为度量准则。在近似的概率分布差异度量函数上求解最小化。执行对比散度学习算法时,对每个批次的各训练样本运行k步吉布斯采样。吉布斯采样是生成马尔科夫链的一种方法,也是本发明所采用的方法。马尔科夫链则是一组事件的集合,是具有马尔可夫性质的离散事件随机过程,在该过程中,在给定当前知识或信息的情况下,当前以前的历史状态对于预测当前以后的未来状态是无关的。以上是该算法运行时的主要步骤。

4、实验模拟

本发明使用均方根误差rmse来衡量用户真实评分数据和预测评分数据的差距,它是观测值与真值偏差的平方和观测次数n比值的平方根,在实际测量中,观测次数n总是有限的,真值只能用最可信赖(最佳)值来代替.方根误差对一组测量中的特大或特小误差反映非常敏感,所以,均方根误差能够很好地反映出测量的精密度。均方根误差,当对某一量进行甚多次的测量时,取这一测量列真误差的均方根差(真误差平方的算术平均值再开方),称为标准偏差,以σ表示。σ反映了测量数据偏离真实值的程度,σ越小,表示测量精度越高,因此可用σ作为评定这一测量过程精度的标准。具体公式如下:

使用的数据集为movielens1m数据集,包含6040位用户对3900部电影共计100209条评分,抽取其中的部分作为训练集进行训练,起初随着隐藏单元数逐渐增多,rmse值逐渐降低,到达100左右时开始反弹,模型效果呈现先变好后变差的趋势。不同稀疏度实验尝试使用20%、40%、60%作为训练数据集,同时验证协同过滤和深度玻尔兹曼机对不同稀疏度的预测结果,随着稀疏度的减小,二者的推荐效果均越来越好,但是当稀疏度较高时,深度玻尔兹曼机的rmse要比协同过滤低一些,即深度玻尔兹曼机结构对数据稀疏度有着更好地适应能力。最后从数据集中挑出部分较新,用户观影流量较少的电影集合,对协同过滤和深度玻尔兹曼机进行预测,协同过滤的rmse要比深度玻尔兹曼机高出不少,也就说明了拥有深度结构的受限玻尔兹曼机能够有效地应对协同过滤中存在的冷启动问题。

本发明将深度学习的概念引入了电影推荐方法中,引入了受限玻尔兹曼机和深度玻尔兹曼机的概念,并将replicatedsoftmax模型适配电影推荐算法,并在该模型的引导下设计了针对电影推荐的深度网络模型。深度网络结构训练出来的模型除了拥有不俗的特征提取能力以外,还能够解决传统协同过滤所带来的过拟合,冷启动等问题,将其运用在电影推荐的方向具有不错的前景。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1