一种基于改进因子分解机的个性化推荐方法技术

技术编号:23191063 阅读:20 留言:0更新日期:2020-01-24 16:19
本发明专利技术公开了一种基于改进因子分解机的个性化推荐方法,通过对因子分解机算法进行改进,将原始因子分解机模型中特征之间的交互强度的权重度量不再利用内积,而是利用平方欧氏距离,既传承了因子分解机本身具有的优点,又具有了提取序列特征的优势。另外,将改进后的因子分解机模型与深度神经网络结合,克服了因子分解机提取二阶以上关联特征计算量巨大的缺点,因子分解机模型负责提取低阶特征(即一阶及二阶特征)之间的关联特征及用户行为的序列特征,深度神经网络负责提取更高阶的特征,从而更加准确高效的进行推荐。最后,作为端到端模型,与其它神经网络模型相比,不需要特征工程的操作,更加方便。

A personalized recommendation method based on improved factorizer

【技术实现步骤摘要】
一种基于改进因子分解机的个性化推荐方法
本专利技术涉及推荐算法的
,尤其涉及到一种基于改进因子分解机的个性化推荐方法。
技术介绍
随着大数据时代科技高速发展,用户通过互联网和电子产品获得的信息资源越来越丰富。每天有数以千万计的信息涌入生活,造成了”信息过载”的问题,用户经常需要从海量的商品中挑选出自己需要的,尤其在用户没有明确目标的情况下,挑选商品既费时又费力。如何从海量商品中快速且有针对性地对用户作出推荐便成为一个商机。鉴于这种情况,推荐系统应运而生。现如今已经有很多网站推出了“猜你喜欢”,“今日推荐”等功能,旨在给用户推荐符合心意的商品,如果这些推荐符合用户兴趣,则既可以增加网站利润和用户黏度;也可以节省用户获取自己想要物品的时间。因此推荐系统可谓是一种“双赢”的技术。而推荐算法作为推荐系统的核心,对推荐结果起着关键的作用,同时面临着极大的挑战,如何准确而迅速的为用户推荐符合心意的商品(这里的商品可以是音乐,电影,物品等)引起人们的思考。其中,常见的推荐方法比如基于用户的协同过滤推荐方法和基于物品的协同过滤推荐方法,本质上与机器学习中的最近邻思想相似,但存在缺点:当用户数据和商品数据量增大的时候,运算负担十分大,准确率下降;无法提取无法提取用户行为数据中的隐含特征和序列特征。因此推荐效果不理想。在深度学习领域,基于卷积神经网络的方法并未考虑用户行为数据的上下文相关的本质,提取到的特征并没有完全发挥深度学习的优势;基于循环神经网络的推荐方法可以提取序列特征,但是在数据处于高维且稀疏的情况下效果不佳。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种可以更好的提取数据的序列特征、隐含特征、低阶特征以及高阶特征,从而为用户进行更为精准推荐的基于改进因子分解机的个性化推荐方法。为实现上述目的,本专利技术所提供的技术方案为:一种基于改进因子分解机的个性化推荐方法,包括以下步骤:S1.获取用户历史行为数据;S2.将用户历史行为数据转换成用户数*物品数的矩阵格式,并进行one-hot编码处理;处理后的数据分为训练数据和测试数据;S3.构建由因子分解机和深度神经网络组成的模型;S4.通过步骤S2得到的训练数据对模型进行训练,得到优化模型;S5.将步骤S2得到的测试数据输入到优化模型中,得出个性化推荐结果。进一步地,所述步骤S3中,因子分解机的模型增添特征组合,具体如下:上式中,特征Xi和特征Xj之间的关联特征权重Wij由特征Xi和特征Xj所对应的隐向量Vi和Vj的内积表示。进一步地,将所述因子分解机中隐向量的内积改进为平方欧式距离;具体为:通过学习每个特征Xi的嵌入向量和平移向量用平方欧氏距离代替内积来度量特征之间的交互强度:进一步地,所述步骤S3构建的由因子分解机和深度神经网络组成的模型如下:因子分解机yFM和深度神经网络yDNN的输出共同经过sigmoid激活函数得到的输出作为整个模型的输出进一步地,所述深度神经网络yDNN中,其中m表示输入的个数,xk表示第k个输入,wk表示第k个特征的权重,b表示偏差。与现有技术相比,本方案原理及优点如下:(1)对因子分解机算法进行改进,将原始因子分解机模型中特征之间的交互强度的权重度量不再利用内积,而是利用平方欧氏距离,既传承了因子分解机本身具有的优点,又具有了提取序列特征的优势。(2)将改进后的因子分解机模型与深度神经网络结合,克服了因子分解机提取二阶以上关联特征计算量巨大的缺点,因子分解机模型负责提取低阶特征(即一阶及二阶特征)之间的关联特征及用户行为的序列特征,深度神经网络负责提取更高阶的特征,从而更加准确高效的进行推荐。(3)作为端到端模型,与其它神经网络模型相比,不需要特征工程的操作,更加方便。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一种基于改进因子分解机的个性化推荐方法的工作流程图;图2为因子分解机原理图;图3为深度神经网络示意图。具体实施方式下面结合具体实施例对本专利技术作进一步说明:本实施例所述的一种基于改进因子分解机的个性化推荐方法,包括以下步骤:S1.获取用户历史行为数据;原始数据的格式为:{用户,物品,评分};S2.将用户历史行为数据转换成用户数*物品数的矩阵格式,并进行one-hot编码处理;处理后的数据分为训练数据和测试数据;S3.构建由因子分解机和深度神经网络组成的模型;其中,因子分解机的模型增添特征组合,具体如下:上式中,特征Xi和特征Xj之间的关联特征权重Wij由特征Xi和特征Xj所对应的隐向量Vi和Vj的内积表示。然后,将因子分解机中隐向量的内积改进为平方欧式距离;具体为:通过学习每个特征Xi的嵌入向量和平移向量用平方欧氏距离代替内积来度量特征之间的交互强度:这部分因子分解机的原理如图2所示。而深度神经网络中,其输入和输出之间会学习到一个线性关系:其中m表示输入的个数,xk表示第k个输入,wk表示第k个特征的权重,b表示偏差。构建得到的由因子分解机和深度神经网络组成的模型如下:即:因子分解机yFM和深度神经网络yDNN的输出共同经过sigmoid激活函数得到的输出作为整个模型的输出S4.通过步骤S2得到的训练数据对模型进行训练,得到优化模型;在训练过程中,需要调节和学习的参数有因子分解机模型的参数w0,wi,vi,vj,和深度神经网络的参数wk,模型损失函数定义为均方误差函数通过梯度下降法来更新参数,当损失函数训练到最小的时候,得到最优训练参数。S5.将步骤S2得到的测试数据输入到优化模型中,得出个性化推荐结果。下面对上述方法步骤作详细解析:由于步骤S2数据进行one-hot编码之后,将会变得高维且稀疏。举个例子:原始数据如下表1所示:用户物品是否点击用户1物品11用户2物品20用户3物品31表1进行one-hot编码之后,如下表2所示:表2依次类推,如果用户和物品很多,那么经过one-hot编码后的数据将变得高维且稀疏。另外,推荐过程还存在着特征组合问题:传统机器学习进行建模的时候,都是将各个特征独立考虑,并没有考虑到特征与特征之间的相互关系。一般的线性模型为本文档来自技高网
...

【技术保护点】
1.一种基于改进因子分解机的个性化推荐方法,其特征在于,包括以下步骤:/nS1.获取用户历史行为数据;/nS2.将用户历史行为数据转换成用户数*物品数的矩阵格式,并进行one-hot编码处理;处理后的数据分为训练数据和测试数据;/nS3.构建由因子分解机和深度神经网络组成的模型;/nS4.通过步骤S2得到的训练数据对模型进行训练,得到优化模型;/nS5.将步骤S2得到的测试数据输入到优化模型中,得出个性化推荐结果。/n

【技术特征摘要】
1.一种基于改进因子分解机的个性化推荐方法,其特征在于,包括以下步骤:
S1.获取用户历史行为数据;
S2.将用户历史行为数据转换成用户数*物品数的矩阵格式,并进行one-hot编码处理;处理后的数据分为训练数据和测试数据;
S3.构建由因子分解机和深度神经网络组成的模型;
S4.通过步骤S2得到的训练数据对模型进行训练,得到优化模型;
S5.将步骤S2得到的测试数据输入到优化模型中,得出个性化推荐结果。


2.根据权利要求1所述的一种基于改进因子分解机的个性化推荐方法,其特征在于,所述步骤S3中,因子分解机的模型增添特征组合,具体如下:



上式中,特征Xi和特征Xj之间的关联特征权重Wij由特征Xi和特征Xj所对应的隐向量Vi和Vj的内积表示。


...

【专利技术属性】
技术研发人员:王艺航熊晓明
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1