System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向商品推荐场景的用户个性化模型构建方法技术_技高网

一种面向商品推荐场景的用户个性化模型构建方法技术

技术编号:40608500 阅读:3 留言:0更新日期:2024-03-12 22:15
本发明专利技术公开了一种面向商品推荐场景的用户个性化模型构建方法,包括:(1)服务器收集所有用户的模型参数,利用K近邻(KNN)算法为每个用户寻找最近邻的K个用户,以实现个性化模型的粗匹配;(2)每个用户根据服务器粗匹配结果,结合自己本地的数据和模型参数进行更细致的匹配,以获得与其特征更加契合的用户模型参数集合。(3)每个用户通过聚合这些细粒度的模型参数来构建个性化子模型,从而有效解决在用户使用本地数据训练模型时由于本地数据量不足导致的模型过拟合问题。本发明专利技术不仅解决用户在本地训练个性化模型时所面临的数据量不足问题,而且其总推荐模型准确率超过了传统服务器生成的整体推荐模型在用户群体上的准确率。

【技术实现步骤摘要】

本专利技术涉及一种面向商品推荐场景的用户个性化模型构建方法,属于推荐领域。


技术介绍

1、随着电子商务的不断发展,商品的数量和种类也急剧增加,消费者不得不投入大量时间来寻找所需的商品。这种浏览大量不感兴趣商品的过程无疑会使用户不断流失。因此,推荐系统已经成为人们生活中不可或缺的一部分。

2、随着移动设备的广泛应用,越来越多的应用希望在本地设备上进行数据处理和推理,从而为用户提供更流畅的体验。然而,由于每个用户的数据和需求都是独特的,仅依赖云端预训练的模型可能无法满足个性化需求。尽管可以使用每个用户的本地数据对这些预训练模型进行进一步的训练以实现个性化,但由于每个用户的本地数据量有限,这可能导致训练后的模型泛化能力不足,从而影响其在对未曾访问过的商品的推荐效果。

3、为了解决上述问题,许多技术方法尝试为每位用户获取所有用户的数据来训练模型。然而,这种策略面临一个显著的技术挑战:数据的庞大量可能超出了某些移动设备的处理能力。这不只是提高了设备上的数据处理复杂度,还可能对设备的操作效率产生不良影响,导致性能下滑。因此,为用户寻找相似用户的数据显得尤为关键。如何精准地找到这些相似用户数据已经成为了研究领域的焦点。本专利技术首先使用k近邻聚类算法进行相似用户的初步筛选,随后本地数据进行深度筛选,从而有效地解决了这一问题。


技术实现思路

1、本专利技术提出了一种面向商品推荐场景的用户个性化模型构建方法,旨在解决边缘端模型训练时的数据不足和模型过拟合问题。通过为每位用户精确匹配相似用户集合并利用构建用户个性化模型,本系统不仅确保了用户在有限的本地数据上能够训练出具有良好泛化能力的模型,而且还避免了向每个移动设备直接传输大量数据的需求。这样,系统既实现了高效的个性化推荐,也保证了其实用性。

2、由于矩阵分解模型是广泛应用于推荐系统的核心技术,本系统选择矩阵分解模型作为推荐模型。矩阵分解模型包括:(1)一个n×16的用户嵌入向量矩阵(记作uemb),其中n代表用户数量;(2)一个m×16的商品嵌入向量矩阵(记作iemb),其中m代表商品数量;(3)一个n×m的用户-商品评分矩阵(记作rating),代表n个用户对m个商品的评分。

3、在用户嵌入向量矩阵uemb中,第i行的用户嵌入向量uembi代表用户i的潜在因子,uemb中每一行向量对应一个用户;在商品嵌入向量矩阵iemb中第k行的商品嵌入向量iembk代表商品k的潜在因子,iemb中每一行向量对应一个商品。用户评分矩阵rating第i行第k列的元素ri,k代表用户i对商品k的评分。同时uembi与iembk的内积值就是用户i对商品k的评分ri,k,公式表示为:

4、ri,k=uembi·iembk

5、进一步,uemb与iemb内积即为用户-商品评分矩阵rating,公式表示为:

6、rating=uemb·iemb

7、本系统的主要参与方包括云端服务器和多个用户。云端服务器负责收集多个用户上传的商品模型参数,并利用聚类算法为每个用户匹配一组与其相似的用户商品模型参数集合。在每一轮模型训练的初始阶段,每个用户需要上传本地商品模型参数至云端;在每一轮模型训练结束阶段,每个用户需要对云端服务器匹配并下发的相似用户模型参数集合进行深度筛选。该系统的实现步骤如下:

8、步骤(1):在本系统方法运行初始阶段,云端服务器选择矩阵分解模型作为全局推荐模型,并使用均匀分布u(0.05)初始化模型参数

9、步骤(2):服务器统计数据集d中用户总数量n和商品总数量m;设置粗匹配的相似用户数k,设置损失阈值δ。

10、步骤(3):对于每一个用户i(1≤i≤n,n是用户总数),其把本地的用户数据放入模型中,利用本地数据和梯度下降算法来对模型参数进行反向传播,这一过程持续进行,直到模型性能达到预设阈值δ。一旦达到这个阈值,便认为已得到新的模型参数mi。随后,用户将mi提交至云端服务器。

11、步骤(4):云端服务器收到所有用户上传的模型参数mi后,对于特定的查询用户i(1≤i≤n,n是用户总数),服务器计算用户i的模型参数计算与其他所有用户模型参数mj(j≠i)之间的欧式距离。距离的计算公式为:

12、

13、其中,mi,k和mj,k分别表示用户i和用户j的模型参数向量中的第k个元素。

14、步骤(5):对于每个用户i,服务器根据步骤(4)计算得到的欧氏距离,从所有用户中选出距离用户i最近(值最小)的k个用户,并将这些用户的模型参数集合记为其中i1,i2,…,ik是与用户i最相似的k个用户的索引。

15、步骤(6):对于每个用户i,其从服务器获得相似用户的模型参数集合si后,将其打乱后平均划分为两个子集合和包含一半的模型参数,而包含剩余的一半的模型参数。

16、步骤(7):对于每个用户i,其计算集合中所有模型参数mm在自身数据集di上的预测评分用户i计算所有预测评分与数据集di的真实评分ratingi之间的差值(即损失)的平均值lossavg,具体公式为:

17、

18、其中n是集合的模型参数个数;m表示集合中的不同模型参数的索引。

19、步骤(8):对于每个用户i,其计算自身模型参数mi在自身数据集di上的预测评分用户i计算预测评分与数据集di的真实评分ratingi之间的差值(即损失)losslocal,具体公式为:

20、

21、步骤(9):对于每个用户i,基于其计算得到的lossavg和losslocal对商品嵌入向量矩阵参数集合筛选。具体流程如下:

22、1).对于中的每个商品模型参数mm,用户i计算模型参数mm在自身数据集di上的预测评分用户i计算预测评分与数据集di的真实评分ratingi之间的差值(即损失)lossi,m,具体计算公式为:

23、

24、2).对于中的每个模型参数mm,每个用户i都会使用该参数得到的预测损失值lossi,m与步骤(7)计算得到的平均损失值lossavg和步骤(8)中的本地损失值losslocal进行比较。如果满足以下条件:

25、lossi,m-lossavg<losslocal-lossi,m

26、则认为模型参数mm可以用于构建用户i的个性化模型。

27、步骤(10):经过步骤(9)的筛选,对于每个用户i,其获得更适合自己的模型参数集合s={mo,mp,…}。用户i计算自身和集合s中的模型参数平均值以生成个性化子模型参数mnew,具体公式为:

28、

29、其中n是集合s中模型参数的数量,mm代表集合s中的不同模型参数,mi是用户i自身的模型参数。

30、步骤(11):对于每个用户i,其利用个性化子模型参数mnew为其预估未曾访问过的商品的评分,根据这些评分可以为用户带来更好的推荐效果。<本文档来自技高网...

【技术保护点】

1.一种面向商品推荐场景的用户个性化模型构建方法,其特征在于包括以下步骤:

【技术特征摘要】

1.一种面向商品推荐场景的用户个性化模...

【专利技术属性】
技术研发人员:马金辉尹瑞平杨震
申请(专利权)人:北京工业大学
类型:发明
国别省市:

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

1