首页> 中国专利> 运用动态偏向值提高预测准确度的电影推荐系统算法

运用动态偏向值提高预测准确度的电影推荐系统算法

摘要

本发明公开了一种运用动态偏向值提高预测准确度的电影推荐系统算法,基于每位用户的特征值矩阵和每部电影的特征值矩阵得到用户的预测评分值,通过这种算法预测计算后的电影推荐系统准确率提高了10%,明显提高了预测准确度,运用于实用APP的电影推荐系统中,可以更加准确地向电影观众推荐他们喜好的电影,极大地增加电影观看票房值,提高了用户满意度,有利于用户资源的增长,效果显著。

著录项

  • 公开/公告号CN112364064A

    专利类型发明专利

  • 公开/公告日2021-02-12

    原文格式PDF

  • 申请/专利权人 南京信息职业技术学院;

    申请/专利号CN202010877676.4

  • 发明设计人 王璇;杜宇超;杜军;

    申请日2020-08-27

  • 分类号G06F16/2457(20190101);G06F16/2458(20190101);

  • 代理机构32224 南京纵横知识产权代理有限公司;

  • 代理人韩红莉

  • 地址 210023 江苏省南京市栖霞区仙林大学城文澜路99号

  • 入库时间 2023-06-19 09:52:39

说明书

技术领域

本发明涉及一种运用动态偏向值提高预测准确度的电影推荐系统算法,属于计算机技术 领域。

背景技术

如今的电商市场中,使用推荐系统来满足用户个性化需求成为了发展趋势,许多电脑和 手机APP的电影栏目会根据用户的观看喜好向他们推荐喜欢的电影。从上世纪90年代开始 出现邮件推荐系统的算法,到21世纪初,使用协同过滤方法的推荐系统得到逐步发展,比如 用K近邻算法通过找出拥有相似喜好的用户给予合适的推荐。目前在推荐系统中应用最广泛 的是基于协同过滤方法的梯度下降算法。即使此算法已将准确度提高了10%,但预测准确性 仍然不理想,使用均方根误差衡量,梯度下降算法的误差大约是0.88。同时,在实际使用电 商平台时,大多数平台内嵌推荐系统也总是出现有偏差的推荐结果,从而用户满意度下降, 长期用户资源流失。

发明内容

本发明所要解决的技术问题是克服现有技术的缺陷,提供一种运用动态偏向值提高预测 准确度的电影推荐系统算法,明显提高预测准确度,大大提高向电影观看用户推荐结果的准 确度,提升了用户使用满意度。

为达到上述目的,本发明提供运用动态偏向值提高预测准确度的电影推荐系统算法,包 括以下步骤:

定义用户数量为u位、电影数量为m部,u范围为[1,U],m范围为[1,M];

电影预测评分值矩阵r

定义电影预测评分值矩阵r

将电影预测评分值矩阵分解为每位用户的特征值矩阵和每部电影的特征值矩阵,定义每 位用户的特征值矩阵如下:

其中,

其中,

所有用户对所有电影的预测评分值由对应的两个特征向量p

T表示矩阵的转置,每位用户的特征值矩阵和每部电影的特征值矩阵的数据个数总计是 U*N+M*N=(U+M)*N。

优先地,所有用户对所有电影的预测评分值r

公式中,r

优先地,所有用户对所有电影的的实际评分值R

公式中,q

优先地,每轮预测计算中,添加基于每部电影的偏向值动态更新,添加基于每位用户的 偏向值动态更新:

b

b

公式中,b

优先地,预测计算的步骤如下:

①固定一个特征因素f

②基于特征因素f

③加入偏向值并计算对应的所有用户对所有电影的预测评分值r

④添加动态偏向值法,预测计算对应的电影的偏向值b

⑤随机梯度下降算法,预测计算对应的电影的特征向量q

⑥计算特征因素f

⑦n数值增加1,进入下一个特征因素f

⑧重复①-⑦,反复多次预测计算。

优先地,遍历数据集中所有的所有用户对所有电影的实际评分值R

计算得出所有用户对所有电影的预测评分值r

优先地,根据添加动态偏向值法的随机梯度下降算法的计算,得到所有用户对所有电影 的预测评分值

优先地,n类电影包括喜剧、爱情、家庭、伦理、战争、武打和悬疑。

优先地,L=0.001,K=0.02。

优先地,针对每位用户,按照其对所有电影的预测评分值将M部电影从高到低排序,并 将预测评分值排序中排名前十部的电影推荐给该用户。

本发明所达到的有益效果:

通过本发明算法预测计算后的电影推荐系统准确率相较于现有技术提高了10%,明显提 高了预测准确度,运用于实用APP的电影推荐系统中,可以更加准确地向电影观众推荐他们 喜好的电影,极大地增加电影观看票房值,提高了用户满意度,有利于用户资源的增长,效 果显著。

具体实施方式

以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护 范围。

运用动态偏向值提高预测准确度的电影推荐系统算法,包括以下步骤:

定义用户数量为u位、电影数量为m部,u范围为[1,U],m范围为[1,M];

电影预测评分值矩阵r

定义电影预测评分值矩阵r

将电影预测评分值矩阵分解为每位用户的特征值矩阵和每部电影的特征值矩阵,定义每 位用户的特征值矩阵如下:

其中,

其中,

所有用户对所有电影的预测评分值由对应的两个特征向量p

T表示矩阵的转置,每位用户的特征值矩阵和每部电影的特征值矩阵的数据个数总计是 U*N+M*N=(U+M)*N。

进一步地,所有用户对所有电影的预测评分值r

公式中,r

进一步地,所有用户对所有电影的的实际评分值R

公式中,q

进一步地,每轮预测计算中,添加基于每部电影的偏向值动态更新,添加基于每位用户 的偏向值动态更新:

b

b

公式中,b

进一步地,预测计算的步骤如下:

①固定一个特征因素f

②基于特征因素f

③加入偏向值并计算对应的所有用户对所有电影的预测评分值r

④添加动态偏向值法,预测计算对应的电影的偏向值b

⑤随机梯度下降算法,预测计算对应的电影的特征向量q

⑥计算特征因素f

⑦n数值增加1,进入下一个特征因素f

⑧重复①-⑦,反复多次预测计算。

进一步地,遍历数据集中所有的所有用户对所有电影的实际评分值R

计算得出所有用户对所有电影的预测评分值r

进一步地,根据添加动态偏向值法的随机梯度下降算法的计算,得到所有用户对所有电 影的预测评分值

进一步地,n类电影包括喜剧、爱情、家庭、伦理、战争、武打和悬疑。

进一步地,L=0.001,K=0.02。

进一步地,针对每位用户,按照其对所有电影的预测评分值将M部电影从高到低排序, 并将预测评分值排序中排名前十部的电影推荐给该用户。

下面具体描述本发明的过程:

1.分解预测评分值矩阵

为了将预测分析的用户数和电影部数进行合理统计分析,首先使用矩阵分解模型。u位 用户、m部电影的大型电影预测评分值矩阵,u的最大值为U,m最大值为M,每行代表一 个用户,每列代表一部电影,比如r

将电影预测评分值矩阵分解为两个小型特征矩阵——每位用户的特征值矩阵和每部电影 的特征值矩阵。每位用户的特征值矩阵,行标用户从1、2、3……u(最大值U),列标是电影 的各特征值,比如喜剧、爱情、家庭、伦理、战争、武打、悬疑等等用f

每部电影的特征值矩阵,行标f

将电影预测评分值矩阵分解为两个小型特征矩阵后,一样能记录所有用户的所有电影的 预测评分值,因为每个预测评分值可由对应的两个特征向量p

将稀疏矩阵思想应用于市场调研得到的真实数据集R_um矩阵的存储,能进一步节约算法 的空间复杂度。

2.优化预测评分值矩阵,使预测更加接近用户的喜好

每个预测评分值的计算再添加3个偏向值——所有用户对所有电影评分的总平均值、所 有用户对某一部电影m的平均评分值与总平均值μ的差b

这样的预测评分值更加能突出电影的特征与用户的喜好。

3.按照添加动态偏向值的随机梯度下降算法进行预测计算

(1)随机梯度下降算法:用户的实际评分R

q

(2)动态偏向值的添加:每轮预测计算中,添加基于每部电影与每位用户的偏向值动态 更新:

b

b

b

(3)具体预测计算步骤如下:

①固定一个特征因素f(通常从第一个f

②基于特征因素f

③加入偏向值并计算对应预测评分r

④应用添加动态偏向值法,分别预测计算对应电影的偏向值b

⑤应用随机梯度下降算法,分别预测计算对应电影的特征向量q

⑥计算预测的评分值r

⑦进入下一个特征因素f

⑧反复多遍预测计算,即重复①-⑦。

4.算法准确度RMSE的计算

按照上面的预测计算后,遍历数据集中所有实际评分与预测评分,计算对应电影m、用 户u的预测准确度的均方根误差RMSE如下:

按照上面预测计算步骤计算的电影观众评分值,预测计算的次数越多,准确度越高,RMSE 值每下降0.10,准确度对应提高10%。

5.向用户推荐他们喜欢的电影

根据以上的添加动态偏向值的随机梯度下降算法的计算,随时可以得到预测评分值,按 照评分值r

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说, 在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为 本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号