基于时间与区域粒度的农资协同过滤算法

文档序号:9751553阅读:273来源:国知局
基于时间与区域粒度的农资协同过滤算法
【技术领域】
[0001] 本发明涉及人工智能领域的个性化服务技术,具体来说是一种基于时间与区域粒 度的农资协同过滤算法。
【背景技术】
[0002] 在现在电子商务中往往使用个性化服务技术,来挖掘用户潜在需求,提高用户使 用体验。协同过滤算法是个性化服务技术中应用最成功最广泛的算法之一,协同过滤算法 是根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个 顾客其"可能喜欢的品项",也就是借由社群的喜好提供个人化的资讯、商品等的推荐服务。 在用户个性化需求挖掘中,需找用户相似群体的用户相似度计算方法成为重中之重。如何 更真实的找到和目标用户相似的用户成为学术界的一个研究热点。

【发明内容】

[0003] 本发明的目的是为了解决现有协同过滤算法在农资领域预测准确度较低和相似 度计算时用户商品评分矩阵过于庞大的缺陷,提供了一种基于时间与区域粒度的农资协同 过滤算法。本发明采用的技术方案是:
[0004] -种基于时间与区域粒度的农资协同过滤算法,包括下述步骤:
[0005] 步骤S1,通过已有的农业统计规律调研结果建立时间与地域粒度矩阵Am*n;
[0006] 步骤S2,进行K个年度的用户行为数据采集,将采集来的用户行为数据按照数据年 份划分为K份,对每份数据再按照时间与地域粒度划分为m*n粒度;
[0007] 步骤S3,根据划分后的数据建立K个年度的用户所在时间与区域粒度的用户商品 评分矩阵;
[0008] 步骤S4,分别对K个矩阵的用户相似度进行计算,将K个年度的用户商品评分矩阵 得到的用户相似度加权后求和得到基于时间与区域粒度的用户相似度;找到和目标用户最 相似的N个用户;
[0009] 步骤S5,基于N个最相似的用户的兴趣给当前目标用户进行推荐。
[0010] 进一步地,步骤S4中具体包括:分别对K个矩阵的用户相似度进行计算,加权后求 和得到基于时间与区域粒度的用户相似度TA-S(a,b),计算公式如公式(1)和(2)所示:
[0011] (1)
[0012] (2)
[0013]其中,1(表示实验数据所选用的年数(1(6[1,3]),人1表示年度权重值\6(〇,1),且 与K值成反比;i分别表示用户a,用户b的评分平均值,ral表示用户a对物品i的评分, rbi表示用户b对物品i的评分;
[0014] 进一步地,步骤S5中,基于N个最相似的用户的兴趣给当前目标用户进行推荐,推 荐算法公式如公式(3)所示:
[0015]

[0016] 其中I(a,i)表示用户a对物品i的预测评分值,&分别表示用户a,用户b的评 分平均值,^1表示用户b对物品i的评分,1(吧3表示用户a的近邻集合。
[0017] 本发明的优点:本发明提供的基于时间与区域粒度的农资协同过滤算法,与现有 技术相比,引入了时间与区域粒度的概念。该方法通过对用户不同年度同一时间粒度的用 户相似度加权求和得到新的用户相似度,能够更贴切真实的反映农资领域的用户的相似 度。在评分预测的准确性上有所提高。
【附图说明】
[0018] 图1为本发明的算法流程图。
[0019] 图2为本发明与现有算法性能对比图。
【具体实施方式】
[0020] 下面结合具体附图和实施例对本发明作进一步说明。
[0021 ]基于时间与区域粒度的农资协同过滤算法,包括下述步骤:
[0022] 步骤S1,时间与区域粒度划分,根据农业规律,将全国全年的数据划分为M*N个粒 度;也就是通过已有的农业统计规律调研结果建立时间与地域粒度矩阵A m*n;
[0023] 步骤S2,进行K个年度的用户行为数据采集,将采集来的用户行为数据按照数据年 份划分为K份,对每份数据再按照时间与地域粒度划分为m*n粒度;这样就可以将采集来的 用户行为数据按照年度与时间与区域粒度矩阵划分为K*m*n个粒度;
[0024] 步骤S3,根据划分后的数据建立K个年度的用户所在时间与区域粒度的用户商品 评分矩阵;
[0025] 步骤S4,分别对K个矩阵的用户相似度进行计算,加权后求和得到基于时间与区域 粒度的用户相似度TA_S(a,b),计算公式如公式(1)和(2)所示:
[0026] (1)
[0027]
(2)
[0028] 其中,K表示实验数据所选用的年数(Ke [1,3]),,表示年度权重值λΕ (〇,1),且 与Κ值成反比;》v, &分别表示用户a,用户b的评分平均值,ral表示用户a对物品i的评分, rbi表示用户b对物品i的评分;
[0029] 然后找到和目标用户最相似的N个用户;
[0030] 步骤S5中,基于N个最相似的用户的兴趣给当前目标用户进行推荐,推荐算法公式 如公式(3)所示:
[0031]
(3)
[0032] 其中I(a,i)表示用户a对物品i的预测评分值,& >在分别表示用户a,用户b的评 分平均值,^1表示用户b对物品i的评分,1(吧3表示用户a的近邻集合。
[0033] 预测目标用户对物品的评分值(根据公式三计算),然后将预测评分值最高的几个 物品推荐给目标用户。
[0034]在针对本算法的实验过程中,本文选用某省2013年1月到2016年1月,328个用户对 150个农资物品(包括农药,种子种苗,肥料,农膜,中小农具等)所产生的8167条交易与评价 数据,评分值范围为1 一5。实验中随机选用整个实验数据集的80%作为训练集,剩余的作为 测试集。与传统基于用户的协同过滤算法性能对比如图2所示。图2中的纵坐标为用户对物 品的预测评分和真实评分的RMSE(均方根误差)指标,越小代表性能越好。
【主权项】
1. 一种基于时间与区域粒度的农资协同过滤算法,其特征在于,包括下述步骤: 步骤SI,通过已有的农业统计规律调研结果建立时间与地域粒度矩阵Am*n; 步骤S2,进行K个年度的用户行为数据采集,将采集来的用户行为数据按照数据年份划 分为K份,对每份数据再按照时间与地域粒度划分为m*n粒度; 步骤S3,根据划分后的数据建立K个年度的用户所在时间与区域粒度的用户商品评分 矩阵; 步骤S4,分别对K个矩阵的用户相似度进行计算,将K个年度的用户商品评分矩阵得到 的用户相似度加权后求和得到基于时间与区域粒度的用户相似度;找到和目标用户最相似 的N个用户; 步骤S5,基于N个最相似的用户的兴趣给当前目标用户进行推荐。2. 如权利要求1所述的基于时间与区域粒度的农资协同过滤算法,其特征在于; 步骤S4中具体包括:分别对K个矩阵的用户相似度进行计算,加权后求和得到基于时间 与区域粒度的用户相似度TA-S(a,b),计算公式如公式(1)和(2)所示:(1 ) (2) 其中,K表示实验数据所选用的年数化e [1,3]),、表示年度权重值Ae (0,1 ),且与K值 成反比;分别表示用户a,用户b的评分平均值,表示用户a对物品i的评分,rbi表示 用户b对物品i的评分。3. 如权利要求2所述的基于时间与区域粒度的农资协同过滤算法,其特征在于; 步骤S5中,基于N个最相似的用户的兴趣给当前目标用户进行推荐,推荐算法公式如公 式(3)所示:(3) 其中Ka, i)表示用户a对物品i的预测评分值,G分别表示用户a,用户b的评分平 均值,rbi表示用户b对物品i的评分,KNSa表示用户a的近邻集合。
【专利摘要】本发明提供一种基于时间与区域粒度的农资协同过滤算法,包括步骤:通过已有的农业统计规律调研结果建立时间与地域粒度矩阵;进行用户行为数据采集;将采集来的用户行为数据按照时间与区域粒度矩阵划分;建立用户所在时间与区域粒度的用户商品评分矩阵;根据用户商品评分矩阵计算用户相似度;找到最相似的N个用户,基于N个最相似的用户的兴趣给当前用户进行推荐。与传统基于用户的协同过滤算法相比,本算法解决了协同过滤算法在农资领域预测准确度较低和相似度计算时用户商品评分矩阵过于庞大的缺陷。
【IPC分类】G06Q30/02
【公开号】CN105512919
【申请号】CN201610098741
【发明人】董恒, 孙丙宇, 王伟, 汪六三, 李文波
【申请人】无锡中科富农物联科技有限公司, 安徽中科物联科技有限公司, 江苏物联网研究发展中心
【公开日】2016年4月20日
【申请日】2016年2月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1