Kara0807的个人博客分享 http://blog.sciencenet.cn/u/Kara0807

博文

基于用户行为分析的个性化推荐算法

已有 5391 次阅读 2020-5-7 13:33 |个人分类:智能科学与技术学报|系统分类:论文交流

基于用户行为分析的个性化推荐算法

贾俊, 张斌, 李志远, 魏玮, 魏浩  

 

 


摘要】随着商业智能系统和数据挖掘技术的发展,用户的行为数据对企业决策产生了重要的影响。网络电子商务平台可以利用这些数据分析后的结果,对特定的用户推送他们感兴趣的商品,这样能增强用户黏度,提高平台的商业价值。提出一种基于用户行为分析的个性化推荐算法,将用户的行为信息转化为用户评分矩阵,且提出一种改进的正则化非负矩阵分解算法,在原始正则化非负矩阵分解算法的基础上加入偏置信息。改进算法充分挖掘用户在网页上点击、购买、浏览、收藏等行为信息,将用户感兴趣的商品及时推送给用户。实验结果验证了本文所提出的两种算法的有效性和高效性。        

关键词:  行为分析 ; 非负矩阵分解 ; 偏置 ; 个性化推荐

引用格式  贾俊, 张斌, 李志远, 魏玮, 魏浩.基于用户行为分析的个性化推荐算法. 智能科学与技术学报[J], 2019, 1(4):  421-426 doi:10.11959/j.issn.2096-6652.201947

Personalized recommendation algorithm based on user behavior analysis

JIA Jun, ZHANG Bin, LI Zhiyuan, WEI Wei, WEI Hao

 

 Abstract With the development of business intelligence system and data mining technology,user behavior data has an important impact on enterprise decision-making.For the network e-commerce platform,the results of these data analysis can be used to push items of interest to specific users,which can enhance the user experience and the business value of the platform.A personalized recommendation algorithm based on user behavior analysis was proposed,which transforms user behavior information into user rating matrix,and an improved regularized nonnegative matrix decomposition algorithm was also proposed,which adds bias information to the original regularized nonnegative matrix decomposition.This algorithm can fully mine the user behavior information such as click,purchase,browse,collect,etc.,and actively push the items of interest to the users.The experimental results verify the effectiveness and efficiency of the algorithm.       

Keywords: behavior analysis ; nonnegative matrix decomposition 

Citation JIA Jun.Personalized recommendation algorithm based on user behavior analysis. Chinese Journal of Intelligent Science and Technology[J], 2019, 1(4):  421-426 doi:10.11959/j.issn.2096-6652.201947 


1 引言

随着互联网与信息技术的飞速发展,互联网用户数呈指数增长。用户倾向于通过互联网在线选购心仪的商品。据统计,2019年天猫双十一最终成交额为2 684亿元,如何从海量数据中快速获取所需数据,更好地为用户提供服务,一直是学术界与产业界的研究热点。在用户无法准确描述自己真正的需求及偏好时,传统的推荐系统无法为用户推荐其喜欢的商品,这会导致大量用户的流失。获得用户的评分数据时,可以使用协同过滤推荐技术为用户自动推荐商品,但是与评分数据相比,用户在网络上的点击、购买等行为数据更容易被获取,因此本文提出一种基于用户偏好程度的模型构建方法,通过用户的点击、购买、浏览、收藏等行为信息自动构建用户评分矩阵。

协同过滤推荐技术是通过用户评分矩阵,根据相似用户的喜好或者通过相似物品来进行推荐。由于每个用户只可能与有限个商品有过交互行为,因此这个评分矩阵通常非常稀疏。如果可以估计评分矩阵中的空缺值,那么就可以知道用户对该商品的喜好程度,从而可以为用户自动推荐其喜好的商品。矩阵分解(matrix-factorization,MF)[1]是一种填充空缺值的有效方式,其基本思想是将原始矩阵分解为两个低秩矩阵,然后利用这两个矩阵来重构原始矩阵的同时填充原始矩阵中的空缺值。但是MF的方法会使得重构后的矩阵含有负数,这不符合评分矩阵的物理含义,因此文献[2-3]将非负约束引入MF 过程中,提出了非负矩阵分解(nonnegative matrix factorization,NMF)算法,该算法在更新每个参数的过程中,通过重新调整学习率来抵消负值部分,因此只剩下非负的部分。但是在用户评分矩阵中,已知评分个数远远小于空缺评分个数,因此,如果不进行适当的参数调整,NMF 过程就无法对矩阵进行有效恢复。文献[4]指出参数调整过程可以通过在NMF过程中引入最大期望(expectation maximization, EM)算法或指标矩阵来实现,但是这种方式会大大增加计算复杂度。文献[5,6,7]指出正则化是提高基于MF的协同过滤模型的有效方式。

本文的主要创新点如下。

• 提出了一种用户偏好程度模型构建方法,通过将点击、购买、浏览、收藏等用户行为转化为用户对物品的偏好程度,构建用户评分矩阵。

• 提出了一种改进的正则化非负矩阵分解(bias_RSNMF)算法,在原始正则化非负矩阵分解的基础上加入了偏置信息,可以准确恢复用户评分矩阵,从而提高为用户自动推荐喜好商品的精度。

本文剩余的部分安排如下:第2节详细介绍了用户偏好程度模型构建方法与改进的正则化非负矩阵分解算法,第3节介绍本文所提出的基于用户行为分析的个性化推荐算法的实验结果,第4节对本文的工作进行总结与展望。

2 基于用户行为分析的个性化推荐算法

首先介绍用户偏好程度模型的构建方法,通过该方法可以将用户在网络上的行为数据转为用户评分矩阵(但是该矩阵中含有大量空缺值);然后通过加入偏置的正则化非负矩阵分解方法恢复用户评分矩阵,从而获得用户对无交互行为的物品的喜好程度。

2.1 用户偏好程度模型构建方法

在用户的行为特征中,共有5种行为数据,分别为:type_a点击、type_b加购、type_c购买、type_d收藏和type_e浏览。其中购买行为基本表示用户喜欢该物品,因此在偏好程度中占到最高权重,评分为1;而加购和收藏比购买的权重稍微低一些,但是却比其他行为的权重高,所以在表达式中加大了这两种行为的权重;点击和浏览的权重最低,在表达式中选取低权重。构建用户u对物品i的喜爱程度loui,如式(1)所示。

 2.2 加入偏置的正则化非负矩阵分解算法

3 实验分析

本文使用的数据集为京东开源用户行为数据,对数据集进行预处理后,样本数量为 332 600对用户商品。在真实条件下,无法直接获得用户对大量物品的评分,但是可以通过用户行为间接分析用户评分,从而获得用户-物品矩阵。京东开源用户行为数据集包含用户真实的点击、购买、收藏、浏览等信息,根据这些用户行为信息,可以利用本文提出的用户偏好程度模型构建方法计算用户-物品矩阵。

本实验使用Spark分布式平台进行分析。预处理后的数据存储在分布式文件系统(HDFS)中,运行过程中Spark会将任务分片,也会对数据集进行分布式存储,然后进行处理。本实验中数据集的训练集与测试集按照 9∶1 划分,同时采用十折交叉验证的方式进行实验。

本文使用均方根误差(RMSE)作为评价指标。


图1

图1   正则化参数λ的调节


在FunkSVD迭代过程中容易出现过拟合现象,因此在目标函数中增加正则化项来防止过拟合,由于正则化项的加入会增大计算复杂度,因此实验结果表明 RSNMF(regularized single-element based NMF)算法[9]的RMSE低于FunkSVD算法,但所用时间高于FunkSVD算法,本文所提算法的RMSE低于RSNMF算法的RMSE,但是运行时间并没有比RSNMF算法高很多,这充分表明了本文所提算法的有效性。

图2可以看出FunkSVD算法的RMSE较高, RSMF算法[10]与bias_MF算法由于增加了正则化项与偏置,其RMSE更低一些。NMF算法由于使用了乘法迭代方式,保证了迭代过程中评分的非负性,所以比FunkSVD算法的误差更低一些。RSNMF算法比 FunkSVD 算法的 RMSE 低 2.9%。本文所提bias_RSNMF 算法比不加偏置的 RSNMF 算法的RMSE低1.7%。不加偏置的RSNMF算法捕捉的是用户和物品之间的交互,即大部分评分值只和用户、物品相关,而忽视了用户和物品之间的交互。加入了偏置的RSNMF算法考虑了用户和物品之间的交互,使得准确率上升。RSNMF 算法中集成了Tikhonov正则化,Tikhonov正则化是机器学习任务中广泛采用的一种策略,在矩阵分解中,可以提高预测精度。而 FunkSVD 算法没有加入正则项,所以 RSNMF 算法的准确度优于 FunkSVD 算法。从图2 可以看出本文所提的 bias_RSNMF 算法的RMSE明显低于常用矩阵分解算法,证明了本文所提算法的误差较低。

图2

图2   不同算法的RMSE对比


图3可以发现FunkSVD算法的运行速度最快,这也保证了该算法在大数据量的推荐领域的广泛应用。RSMF算法与bias_MF算法由于增加了正则化项与偏置项,迭代时间略有增加。bias_RSNMF算法比 RSNMF 算法的单次迭代时间增加 2%, FunkSVD、RSNMF都是基于单个元素的矩阵分解,但是RSNMF需要再次遍历所有用户和所有物品,导致其循环次数多于 FunkSVD 算法,所以FunkSVD 算法的单次训练迭代时间是最短的,bias_RSNMF算法在RSNMF算法的基础上加入了偏置导致时间有所上升,但是上升的幅度不是很大,准确度却有明显提升,这表明本文所提算法可以大幅提高准确度,且运行时间不会增加太多。

图3

       图3   6种算法单次训练迭代时间比较


4 结束语

针对购物网站上用户评分矩阵较难获得这一问题,本文提出了一种用户偏好程度模型构建方法,该方法通过分析用户的点击、购买、浏览、收藏等行为,计算用户对物品的偏好程度,构建用户评分矩阵,有效解决了评分矩阵难以获得的问题。针对用户评分矩阵中存在大量空缺值,难以在用户无法准确描述自己真正的需求及偏好时进行有效推荐的问题,本文提出了一种加入偏置的正则化非负矩阵分解的算法,通过在原始正则化非负矩阵分解的基础上加入偏置项,有效利用了用户和物品之间的交互信息,使得RMSE明显下降。


作者简介




https://blog.sciencenet.cn/blog-951291-1232018.html

上一篇:【招聘】青岛智能产业技术研究院2020年4月招聘
下一篇:电动汽车智能动态无线充电系统的研究现状与展望
收藏 IP: 159.226.181.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 04:09

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部