(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号(43)申请公布日(21)申请号201910175261.X(22)申请日2019.03.08(71)申请人天津理工大学地址300384天津市西青区宾水西道391号(72)发明人李文杰 翟星宇 薛花 张德干 (74)专利代理机构天津佳盟知识产权代理有限公司12002代理人刘书元(51)Int.Cl.G06F16/735(2019.01)G06N3/04(2006.01)G06N3/08(2006.01)G06Q10/04(2012.01)(54)发明名称一种基于CNN和BP神经网络的推荐方法(57)摘要一种基于CNN和BP神经网络的推荐方法,主要内容是通过目标用户的一系列行为来估算目标用户的爱好,将用户可能喜欢的项目序列推荐给目标用户。在推荐模型中,核心的内容是基于评分预测的模型。通过本发明提出的新模型CNN-BP来预测用户的下一个消费行为,先是使用卷积神经网络CNN对行为序列进行分析,得出每种未观看项目的基本概率;然后使用逆向传播神经网络BP计算最终概率;最后,依据最终概率集选出前N项,并将这前N项项目作为目标用户下次最可能观看的项目推荐给用户。本方法是以电影的推荐模型为例,实验结果表明,CNN-BP模型可以更准确地预测目标用户的下一次观看行为,并为推荐系统提供了更优异的性能。权利要求书3页说明书10页附图4页CN109902201A2019.06.18CN109902201A1.一种基于CNN和BP神经网络的推荐方法,其特征在于该方法主要包括如下关键步骤:第1、用户不同类型行为:第1.1、对初始数据集进行处理,获得用户-用户属性矩阵、用户-项目总评分矩阵和流行元素行为矩阵;第1.2、构建用户偏好矩阵,来表示用户对电影属性的偏好;第2、CNN模型的隐藏层:第2.1、利用卷积层来提取特征;第2.2、利用池化层来压缩特征;第2.3、全连接层;第2.4、CNN网络中过拟合问题;第3、基于CNN网络的评分预测:第3.1、基于CNN网络的评分预测的算法过程;第4、利用BP来获得最终概率:第4.1、最终概率的计算方式。2.根据权利要求1所述的基于CNN和BP神经网络的推荐方法,其特征在于:步骤第1.1中所述的用户-用户属性矩阵、用户-项目总评分矩阵和流行元素行为矩阵,分别将其对应的矩阵记为V、F′和N,V的形式如下:其中:k代表用户属性的个数,用户的属性即用户的ID,性别,年龄段,职业等;矩阵里的元素代表了用户ui在其自身的客观特征属性gk上的值;F′的形式如下:其中:矩阵中元素代表了用户ui对观看过且包含了特征属性gk的所有电影的总评分;N的形式如下:其中:是由数字0和1组成的,0代表了电影mj不包含流行元素gk;1代表电影mj包含权 利 要 求 书1/3页2CN109902201A2项目特征属性gk。3.根据权利要求1所述的基于CNN和BP神经网络的推荐方法,其特征在于:步骤第1.2中用户偏好矩阵记为P′,P′的形式如下:其中:矩阵中元素代表了在时间因素下用户ui对项目特征属性gk的偏好程度。4.根据权利要求1所述的基于CNN和BP神经网络的推荐方法,其特征在于:步骤第2.1中包括以下步骤:首先是局部感知;其次是参数共享,利用参数共享来达到参数数量的大量减少,得到有效的特征提取的结果;最后是卷积,用于特征的提取。5.根据权利要求1所述的基于CNN和BP神经网络的推荐方法,其特征在于:步骤第2.3是整合池化后得到的特征,并进行归一化处理,然后输出一个对每种分类情况的概率,最后以此概率为依据进行分类。6.根据权利要求1所述的基于CNN和BP神经网络的推荐方法,其特征在于:步骤第2.4中CNN网络中过拟合问题包括过拟合问题和费时问题,是利用对模型中相关的部分参数进行丢弃,从而减少模型中参数的数量,降低了出现过拟合问题的概率。7.根据权利要求1所述的基于CNN和BP神经网络的推荐方法,其特征在于:步骤第3.1中基于CNN网络的评分预测的算法过程如下:1)获取聚类后的聚类簇和行为数据,对流行元素的数据进行预处理;2)将聚类簇中的数据分成两部分,一部分用来作为训练集,另一部分用来作为测试集;3)对CNN网络进行初始化,首先定义上述提到的各种网络参数,然后利用随机的方法给CNN网络中的权重值和偏置值赋值;4)从训练集中选取部分数据,将其作为输入数据,输入到CNN中的输入层,到隐藏层的公式:hi=Relu(Wxi+b) (10)其中:Relu是激活函数,W权重值,b是偏置值;5)然后进入池化层,对其采用池化方法,本文采用的是最大池化方法;6)在CNN网络输出结果后,通过训练集中的输出结果和实际CNN网络输出结果的差值来构建误差函数,然后分别对误差函数求偏导,关于权重值W和偏置值b的偏导,通过计算结果来反向调整前面每一层中的W和b;7)通过不断的迭代来更新权重值W和偏置值b;8)如果误差函数的值满足设定的要求或迭代的次数达到了设定的上限,代表训练结束,否则返回继续迭代。8.根据权利要求1所述的基于CNN和BP神经网络的推荐方法,其特征在于:权 利 要 求 书2/3页3CN109902201A3步骤第4.1是将计算得到的四种原始概率作为BP模型的输入,通过BP模型来训练合适的权重值W和偏置值b,然后通过更新后的权重值、偏置值和原始概率来计算用户在不同行为的影响下对每个可能的电影项目的最终概率;将计算得到的四种原始概率作为BP模型的输入,通过BP模型来训练合适的权重值W和偏置值b,然后就可以通过更新后的权重值、偏置值和原始概率来计算用户在不同行为的影响下对每个可能的电影项目的最终概率;其中四种原始概率是在基于用户客观属性行为、项目属性总评分行为、用户偏好行为和流行元素行为这四种行为的情况下,目标用户对未观看电影项目的原始概率。权 利 要 求 书3/3页4CN109902201A4一种基于CNN和BP神经网络的推荐方法技术领域[0001]本发明涉及推荐模型,具体提供一种基于CNN和BP神经网络的推荐方法。背景技术[0002]针对推荐系统面临的各种问题,在以往各种传统的推荐算法中,已经有了很多的研究成果并被各领域广泛的应用,比如基于内容的推荐算法、基于知识的推荐算法和混合推荐算法等等。近年来,深度学习在自然语言处理和图像处理上都有着很好的效果,主要有卷积神经网络CNN、递归神经网络和BP神经网络等,进而有许多学者将神经网络应用在推荐系统中。[0003]在国外,Falk J[1]等人提出一种基于前馈神经网络的推荐系统,最后统计和评估推荐系统的性能。Netflix[2]等人提出一种基于深度神经网络DNN的视频推荐系统,该模型的输入为用户观看的历史行为和用户的信息,然后利用多层的DNN网络模型来学习,最后直接进行Top-N推荐。而Murat Aykanat[3]等人则是利用卷积神经网络CNN与支持向量机SVW来实现精确的分类。在国内,练绪宝[4]提出了一种基于卷积神经网络CNN与排序学习的推荐系统,在电商平台上,采用卷积神经网络CNN来预测用户下次需要购买的商品,相关实验表明了该方法在一定程度上对推荐的质量做出了贡献。吴烯[5]则是提出了一种利用卷积神经网络CNN的原理来达到匹配的推荐,主要目的是在精度不下降的前提下,尽可能的减少算法的时间和提高算法的准确度,并将该方法和传统的算法进行分析与比较。孙倩[6]研究了将神经网络应用在推荐算法中,主要是针对如何缓解数据稀疏性问题,因此在评分预测时引入了神经网络,并依据用户评分的共有部分来找到用户的最近邻居集,评分矩阵的稀疏性得到了缓减。[0004]在整理研究现状时发现,随着日益增长的信息资源,传统的推荐系统是不能够完全的应对,而在对深度学习的不断研究后,其已经在图像、语音和文本分类等领域有了突破性的成果。由于神经网络具有鲁棒性、学习能力、非线性和并行性等特点,以及大量学者的研究实践都已经说明神经网络可以应用于推荐系统中,且神经网络具有更好的效果。但是,基于深度学习的推荐系统仍然主要是针对用户的评分行为,并主要通过单一的神经网络来训练学习。所以,本方法加入了更全面的用户行为,然后不再使用单一的模型,而是采用了两个模型的融合,最后用训练好的新模型进行电影的评分预测。[0005]传统预测评分的计算公式有着一定的局限性,致使推荐的精度不是很准确,所以本方法提出了一个新模型来提升推荐的精度。主要研究的内容有:首先,在上述三种历史行为的基础上,本方法引入了一个流行元素的当下行为,然后基于这四种行为用CNN模型来训练,将输出的四种概率作为BP模型的输入,最后输出一个最终概率。本方法利用神经网络来对电影进行预测评分,主要是为了提升推荐的精度。[0006][1]Matthias Jüttner,Falk J,Rucker W M.A neural network based recommendation system for solvers and preconditioners for systems of linear equations[C].Electromagnetic Field Computation,IEEE,2017说 明 书1/10页5CN109902201A5[0007][2]Hidasi B,Karatzoglou A,Baltrunas L,et al.Session-based Recommendations with Recurrent Neural Networks[J].Computer Science,2015[0008][3]Aykanat M,Ozkan K,Kurt B,et al.Classification of lung sounds using convolutional neural networks[J].Eurasip Journal on Image&Video Processing,2017,(1):65[0009][4]练绪宝.基于排序学习和卷积神经网络的推荐算法研究[D].大连理工大学,2016[0010][5]吴烯.基于卷积神经网络的推荐算法[D].华南理工大学,2016[0011][6]孙倩.基于LM-BP神经网络的推荐算法的研究与应用[D].北京交通大学,2016发明内容[0012]本发明提出一种新的评分预测模型,目的是提升推荐的精度。因此在本方法中提出一个新模型CNN-BP来预测用户的下一个观看行为,然后再为用户推荐预测项目。本方法中先是使用卷积神经网络CNN对用户的四种行为序列进行分析,即用户的主观评分行为、用户客观行为、基于时间的用户偏好行为以及当下流行元素的行为,以至于可以得出每种未观看项目的四种基本概率。然后使用逆向传播神经网络BP来计算对应的最终概率。最后,依据计算出来的最终概率集来选取这其中最高最终概率的前N项项目,并将这前N项项目作为目标用户下次最可能观看的项目,将它们一一推荐给用户。本方法是以电影的推荐模型为例,实验结果表明,CNN-BP模型可以更准确地预测目标用户的下一次观看行为,并为推荐系统提供了更优异的性能。[0013]本发明提供的基于CNN和BP神经网络的推荐方法主要包括如下关键步骤:[0014]第1、用户不同类型行为:[0015]第1.1、对初始数据集进行处理,获得用户-用户属性矩阵、用户-项目总评分矩阵和流行元素行为矩阵;[0016]第1.2、构建用户偏好矩阵,来表示用户对电影属性的偏好;[0017]第2、CNN模型的隐藏层:[0018]第2.1、利用卷积层来提取特征;[0019]第2.2、利用池化层来压缩特征;[0020]第2.3、全连接层;[0021]第2.4、CNN网络中过拟合问题;[0022]第3、基于CNN网络的评分预测:[0023]第3.1、基于CNN网络的评分预测的算法过程;[0024]第4、利用BP来获得最终概率:[0025]第4.1、最终概率的计算方式。[0026]本发明的优点和