读论文-一种改进的协同过滤的商品推荐方法

前言

《一种改进的协同过滤的商品推荐方法》

本文针对大量的商品信息无法被充分应用在帮助客户选择商品上的问题,提出了改进的协同过滤算法(new Pearson collaborative filtering,NP-CF)为用户进行个性化的电子商品推荐。

摘要

传统的电子商务平台无法实现对用户进行个性化优质商品的推荐,大量的商品信息无法被充分应用在帮助客户选择商品上。针对上述问题,提出了改进的协同过滤算法(new Pearson collaborative filtering,NP-CF)为用户进行个性化的电子商品推荐。该算法弱化了活跃用户的对商品相似度的贡献程度并且利用标准差的计算降低电子商品本身质量对相似度的影响,将两者计算获得的系数与皮尔逊关系数相结合,从而计算出更加准确的用户相似度,再利用相似度值计算商品的推荐值并且通过加权评价公式对该值进行加权处理。最后在真实的数据集MovieLens和人工数据集Mobile-Data上对该算法进行实验测试,且与传统的基于用户信息的协同过滤算法(user collaboratice filtering,User-CF)进行比对,该算法(NP-CF)整体上优化了推荐结果并且提高了推荐的准确率。

引言

随着全球科技的飞速发展,并且在当今社会疫情的背景下,网络购物已经成为人们日常购物的重要方式。根据中国报告大厅网络购物行业数据统计,网络在线的零售交易额正在以每年多于40%的速度增长,在国内电子购物发展非常迅猛的背景下,在线商品交易的用户数量已经高达8.6亿。但根据商务部的相关反映,网络购物中的一些违法犯罪行为突出,例如:侵犯消费者的合法权益、制售假冒伪劣商品等,已经成为侵权假冒的关键手段,为消费者推荐优质的商品也就变得非常必要。针对上述商品信息过载的问题,为了方便、便捷、有效地为用户提供所需的商品,推荐算法逐渐成为研究热点。通过分析用户行为以及物品内容特征,经过一系列的数据处理,帮助用户获得需要的信息。推荐算法在网络购物产品中得到了较为广泛的应用,但是商家为了提高销售量使得推荐的商品鱼龙混杂,导致消费者难以分辨出自己想要的商品。因此,想要为用户进行个性化推荐,就必须要对推荐算法有较为深入的研究。

目前,大众使用的较为主流的推荐算法是协同过滤算法,但传统的协同过滤算法常常伴有数据稀疏性以及冷启动的问题。因此,国内外许多专家提出了众多改进算法。

传统的协同过滤算法

协同过滤推荐算法(collaborative filtering, CF)是迄今为止较为热门的推荐技术。协同过滤推荐算法的目标是根据用户之前的喜好和其他志同道合的用户的意见,为该用户或者新用户推荐新项目或者预测他们将对哪些项目感兴趣。总的来说,该算法可以实现对某些特定项目的推荐与预测功能。传统的协同过滤算法主要分为两类:一是基于用户的相似度计算进行相关推荐,二是基于物品的相似度计算进行相关推荐。基于用户的协同过滤推荐算法(user collaborative filtering,User-CF)是通过计算用户之间的相似度得到与目标用户志趣相投的用户,并根据相似度较高的用户评分,将评分较高的项目信息推荐给目标用户。基于物品的协同过滤推荐算法(item collaborative filtering,Item-CF)是通过计算物品之间的相似度,举例来说:如果用户喜欢物品a,就会向用户推荐与物品a具有较高相似性的其他物品信息。

构建用户评分矩阵

用户评分矩阵数据模型的构建,主要是根据用户对物品的评分表,构建出相应的评分矩阵。针对一个系统具有多个用户与物品信息,记用户数目为M,物品数目为N,从而根据用户对物品的评分构建出M×N的用户-物品的评分矩阵,R=M×N,故Rij表示用户i对物品j的评分数据。User表示用户用Useri表征,Item表示物品用Itemj表征。为了更加直观地表现数据模型的构建过程,假设用户数M=3,物品数N=4,则构建出一个R=3x4阶的用户-评分矩阵,见下表。其中数据越低表示评分越低,若数值为0表示没有进行相关的评分。

image
image

根据上述表格分析:假设要为User1推荐物品,就先要找到与该用户有相同兴趣的用户,通过观察上表发现User2和User1均对Item1具有相同的评分,然而User3对该物品的评分较低为1分,因此选取User2为最近邻,可见User2对Item3的评分为4分并且User1未对该物品做出任何评分,故可以将Item3推荐给User1,预测User1对Item3的评分也是4分。这里将用户对电子商品的评分作为输入,设计出评分表。该表包含多个用户的评分组合。设计评分矩阵如下图所示。

image

传统的相似度计算

推荐系统的设计还离不开计算模型中的相似度,在构建完数据模型得到用户对电子商品的评分矩阵后,根据该矩阵计算数据模型内用户之间的相似度,继而得到相似度矩阵。常见的计算用户之间相似度的方法主要有:余弦相似度(cos)、杰卡德系数(Jaccard)以及皮尔逊相关系数(Pearson)等。

image

image

image

值得指出的是,基于上述传统的相似度计算公式,在用户评分矩阵极其稀疏的情况下很难通过直接计算得到真实的最近邻集合。

评分预测推荐结果

传统的基于用户评分信息的协同过滤算法在获得用户的相似度矩阵后,通过K近邻的方法获取与目标用户最为相似的K个用户集合,再通过加权评价公式进行项目推荐的预测评分。

常用的预测评分的公式如下:

image

该公式是推荐算法评分预测常用的公式,u, v表示两个不同的用户,i表示物品,Rv,i表示用户v对物品i的评分数据,S(u,v)是用户u与用户v之间的相似度值。通过计算用户对与i相似的商品给出的评分总和,以计算对用户u商品的评分预测,其本质上是对基于皮尔逊相关系数计算后所得的相似度以及最近邻评分的加权平均数,然后将所计算得到的加权平均数进行排序,从而进行评分预测。

改进的基于用户的协同过滤算法

传统的基于用户评分信息的协同过滤算法(user collaborative filtering,User-CF),利用一般的相似度计算公式时会受到活跃用户大量的评分信息以及商品本身质量属性的影响。首先,为了消除上述相关因素对相似度计算的影响,该文将活跃用户对商品相似度的贡献程度降低并且通过计算标准差降低电子商品本身质量对相似度的影响,将两者计算获得的系数与皮尔逊相关系数(Pearson)结合。其次,采取对推荐项目的推荐值进行加权处理,从而得到优化后的结果。

改进的相似度计算

在推荐系统中,最为主要的工作就是计算用户之间的相似度。因此,考虑到活跃用户以及商品自身质量对相似度计算结果的影响,该文对相似度计算的改进工作主要如下:

  1. 活跃用户的惩罚。活跃用户对商品的评分行为过多,由于该类浏览过多的商品对商品的甄别性较差,因此,非活跃用户的评分比活跃用户的评分更具有价值。

  2. 降低电子商品本身质量的影响。该文利用标准差的计算方式表示电子商品本身的质量因素对用户评分数值的影响。评分的标准差的值越高,表明电子商品本身的质量因素对用户评分的影响比重就越大,反之,则表明影响的程度越小。

选择最近邻

最近邻的搜索(nearest neighbor search, NNS)主要是在相似度计算的基础上,通过获得的相似度矩阵,找到最近邻集合。在K近邻实现的过程中,整个数据分为训练数据和测试的样本数据,在分类问题中,使用以下步骤实现K近邻的算法:

  1. 确定K的数值,该K值是特征空间中训练模型的数量;
  2. 根据之前相似度计算获得各个用户之间的数据点的距离;
  3. 在训练模型数据中搜索与最接近K值的各个数据点,其中这些数据点必须在训练模型的观察点内;
  4. 计算K值与各个数据点之间的距离,从而获得最近邻集合。

算法整体流程

通过改进的皮尔逊相关系数的公式计算获得用户的相似度矩阵,利用K近邻的方式选择K个最为相似的用户,对此K个用户的相似度值进行推荐值的计算公式如下:

image

然后通过如下公式进行评分预测:

image

算法流程:

算法:改进的协同过滤算法。
Input:User-Item 即用户与项目的评分矩阵。
Output:预测推荐的项目列表。
Steps:
(1)初始化:根据读入的用户、评分和项目的数据文件,通过
预处理构建 User-Item 的评分矩阵;
(2)实现求均值的函数 average_rating,计算用户评分的均值
Ru 和 Rv ;
(3)For u = 1 in User
(4)通过公式(5)计算对活跃用户的惩罚系数 IUF;
(5)根据公式(6)计算商品本身质量的离散系数 Di ;
(6)将步骤 4、5 计算获得的 IUF 与 Di 运用于公式(7),从而
利用改进后的皮尔逊相关系数公式计算用户之间的相似性
SimNP (u,v) ;
(7)End
(8)For n = 1 to N do
(9)遍历当前用户的相似度利用选择 K 近邻的方法,选择 K
个相似度值较高的用户形成最近邻集合;
(10)End
(11)For n = 1 to K do
(12)遍历(该过程在 for 循环内实现) 最近邻集合,通过公
式(8)计算当前项目的推荐值;
(13)利用公式(9)进行加权评分预测;
(14)最后根据预测评分的结果进行遍历,从而得到最终推
荐的项目列表。
(15)End

END

好了,今天的论文分享就到这了,明天见喽,拜拜。

posted @   想你时风起  阅读(88)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示