没有合适的资源?快使用搜索试试~ 我知道了~
mathorcup数学建模挑战赛获奖论文-第四届B题_10342c.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 188 浏览量
2024-03-14
22:06:39
上传
评论
收藏 597KB PDF 举报
温馨提示
试读
25页
mathorcup数学建模挑战赛获奖论文,历届,单项文件,内容丰富,大学生数学,数学竞赛,参考资料
资源推荐
资源详情
资源评论
基于协同过滤的书籍推荐模型
基于协同过滤的书籍推荐模型
摘要:文章根据题给数据,针对题目问题,基于协同过滤算法,共建立五个
模型,并不断优化,程序运行结果显示模型较能反映实际问题。
问题一,考虑用户偏好书籍类型、关注好友评分两个因素对其评分的影响,
建立线性拟合模型研究每个书籍标签在用户评分中的权重,并采用梯度下降法求
解模型,在此基础上定义偏好相似度定量研究用户与关注好友之间的偏好相似程
度,并作为另一个权重研究好友评分对用户评分的影响,并以影响系数反映用户
好友评分对其评分的影响。MATLAB 程序运行结果显示,用户关注好友对其影响
系数都较高,最终得出用户阅读偏好以及关注好友评分是影响用户评分的两个关
键因素的结论。
问题二,考虑偏好相同的用户在对书籍评分上比较相似的特点,采用基于协
同过滤算法的预测模型。首先采用皮尔逊相关系数描述两个用户之间的相似度,
并建立基于用户的协同过滤预测模型;在此基础上,考虑用户之间公共阅读书籍
较少的情况,采用杰卡德——皮尔逊相关系数更精确地描述用户之间的相似度,
并建立改进的协同过滤预测模型。
随后,考虑相似书籍会得到同一用户相似评分的特点,采用皮尔逊相关系数
描述书籍之间的相似度,建立基于项目的协同过滤预测模型。编写 MATLAB 程序
求解模型,并从“user_book_score.txt”附件中选择 20%的评分数据作为测试
集,结果显示三种模型的预测精度分别为 0.8347,0.9153,0.9319,最终使用
模型三来预测目标用户评分。
问题三,从用户偏好书籍类型以及用户对书籍评分预测值两个角度建模。利
用用户阅读历史数据,从用户已读书籍中某标签出现频数的角度出发,通过定义
偏好因子的概念定量描述用户对书籍标签的偏好程度,并基于偏好因子选出用户
最偏好的 Top10 标签,同时选出含有 Top10 标签的书籍组成候选推荐书籍集合。
结合问题二的预测模型,计算出用户对于候选集合的评分预测值,最后将书籍的
综合偏好因子以及评分预测值之积作为综合评估指标,选取评估指标值最大的三
本书作为推荐书籍。
最后,文章对三个问题中的模型进行了客观评价,指出各个模型的优缺点,
并针对模型的缺点指出了改进方向。
关键字:协同过滤 皮尔逊相关系数 线性拟合 偏好因子 梯度下降
更多数模资讯和学习资料,请关注b站/公众号:数学建模BOOM
精品课程:https://k.weidian.com/z=camKMb
基于协同过滤的书籍推荐模型
目录
一、问题重述
................................................................................................................
1
二、问题分析
................................................................................................................
1
三、基本假设
................................................................................................................
2
四、参数说明
................................................................................................................
2
五、模型建立与求解
....................................................................................................
3
5.1 数据预处理
.............................................................................................................
3
5.2 问题一模型
.............................................................................................................
4
5.2.1 数据筛选
.....................................................................................................
4
5.2.2 模型一、线性拟合模型
...........................................................................
4
5.2.3 模型二、社交关系模型
.............................................................................
7
5.3 问题二模型
............................................................................................................
8
5.3.1 协同过滤求相关系数
.................................................................................
8
5.3.2 模型一、PCC 预测模型
............................................................................
9
5.3.3 模型二、JacPCC 预测模型
.......................................................................
13
5.3.4 模型三、基于项目的评分预测模型
.......................................................
15
5.4 问题三、推荐模型
............................................................................................
16
六、模型评价
..............................................................................................................
20
6.1 问题一
..................................................................................................................
20
6.1.1 优点
............................................................................................................
20
6.1.2 缺点
............................................................................................................
20
6.2 问题二
..................................................................................................................
20
6.2.1 优点
............................................................................................................
20
6.2.2 缺点
............................................................................................................
20
6.3 问题三
..................................................................................................................
21
6.3.1 优点
............................................................................................................
21
6.3.2 缺点
............................................................................................................
21
参考文献:
....................................................................................................................
22
基于协同过滤的书籍推荐模型
1
一、问题重述
互联网技术的发展将我们带进一个信息爆炸的时代,大量信息充斥着人们的
生活。对于信息收集者来说,如何从大量的信息中寻找自己感兴趣的或是需要的
信息成为极其困难的事情;而对于信息发布者来说,如何使自己的信息脱颖而出
又成为其占领市场份额、盈利的必要条件。推荐机制成为解决信息冗余问题的一
个重要工具,并在各大搜索关键词推荐、话题推荐、电子商务的产品推荐、社交
网络交友推荐都有着广泛的应用。
题目给出了某著名网上书店的用户行为信息,包括对于书籍的评分数据、书
籍的标签信息以及用户的社交关系,要求根据这些数据完成以下问题:
(1)分析影响用户对书籍评分的因素;
(2)通过建立模型,预测 predict.txt 附件中的用户对未看过书籍的评分;
(3)针对 predict.txt 附件中的用户,给每个用户推荐 3 本没看过的书籍。
二、问题分析
信息化时代将每个个人联系起来,计算机网络全面普及的背景使得信息的分
享成为可能,网络推荐机制为人们获取所需的信息提供了方便。网站制作者可根
据用户以往搜索关键词、关注话题、好友关注话题等项目设置推荐项目,而用户
筛选有用信息的方式大多也是根据这些项目来选择的。
首先,针对题目给出的数据进行处理。题目所给可用于分析的数据为用户—
书籍—得分数据、书籍—标签数据、用户—社交数据以及用户—所读书籍的数据,
可先将这些数据制作成一系列矩阵后进行分析。针对问题一,我们认为用户对书
籍的评分,一般受个人偏好的影响,附件中有部分书籍的标签可以反映书籍的类
型,虽然全是用 ID 数字表示的,但同一个数字代表同一种书籍标签,总的书籍
标签数是一定的,因此,可以从每种标签在用户评分中的权重中来考虑;其次,
用户在选择书籍上也会参考自己所关注好友的选择。对于各种因素对其评分的影
响,可采用主成分分析、多元线性拟合的方法进行分析。此处采用多元线性拟合
的方法先对书籍标签的影响作分析。
基于协同过滤的书籍推荐模型
2
针对问题二,需要对所给用户对书籍的评价进行预测,可采用协同过滤的方
法挖掘“user_book_score.txt”附件中的统计信息。目前已有多种算法用于计
算样本之间的相关系数,包括基于用户的协同过滤算法,改进后的协同过滤算法,
以及基于项目的协同过滤算法,前两种算法都是基于一个假设:如果两个用户具
有相似的偏好,当其中一个用户对某一商品有一定评价时,另一用户应当对着商
品有相似的评价。当两个用户具有最高的相似度时,就可以用一个用户对某本书
的评价近似估计另一个用户对相同书本的评价。而基于项目的皮尔逊则是基于另
一个假设:当两个项目具有较高的相似度时,同一个用户给两个项目的评价应较
为接近。因此,可以采用基于项目的协同过滤去估计相似项目的到的同一用户给
的评分。在问题二中,采用三种算法分别进行预测,并选择部分已有评分数据作
为测试集,最终评估算法的精确度,采用精确度最高的算法作为最终的预测算法。
针对问题三,给用户推荐书籍时,考虑用户阅读历史,挖掘出用户所青睐的
书籍标签,并筛选出用户所喜欢书籍类型 top10,并结合问题二的模型,考虑书
籍标签以及书籍预测评分两个因素,最终给出综合评分指标最高的三本书作为推
荐书籍。
三、基本假设
(1)题目所给数据真实可靠;
(2)用户只对看过的书籍作评价;
(3)用户对所看书籍都理性评价;
(4)所选择数据为随机抽查获得的;
(5)用户选择书籍时会参考推荐信息与书籍评分。
四、参数说明
符号 说明
T
书籍标签矩阵
ji
t
,
书籍
i
拥有第
j
个标签数目
基于协同过滤的书籍推荐模型
3
ji
x
,
第
j
个标签对用户
i
的权重
ji
r
,
第
i
个用户对第
j
本书的评分;
ji
r
,
第
i
个用户对第
j
本书评分估计值
i
J
对用户
i
评分估计均方根值;
i
r
第
i
个用户评分均值;
ji
r
,
第
i
个用户对第
j
本书的预测评分;
k
U
I
用户
k
u
评价过的书籍集合;
i
U
第
i
个用户的邻居用户集合;
j
P
第
j
个项目的相邻项目集合;
ji
U
,
对项目
i
和
j
都有评分的用户集合;
),( vusim
用户
u
与
v
之间的皮尔逊相关系数;
),cos( vu
用户
u
与
v
之间的余弦相似度;
i
u
任意一个用户集合
i
u
;
u
目标集合;
ji
C
,
用户
i
和
j
共同关注的书籍集合;
),(
k
uuJ
用户
u
与
k
u
的杰卡德系数;
ji,
用户
i
对标签
j
的偏好因子;
iu
F
,
用户
u
对书籍
i
的综合评价指数;
rec
I
推荐书籍集合;
五、模型建立与求解
5.1 数据预处理
首先,对题目所给附件中的数据作预处理。将每个附件中的数据导入 JAVA
程序中,并将“book_tag.txt”、“user_read_history.txt”、“user_social.txt”
文件中同一书籍的不同标签、同一用户历史所读的书籍以及同一用户对于不同单
方向的好友整理成一系列向量。同时,为方便后期分析,找出“predict.txt”
附件里面 6 个用户对应的好友、历史所读书籍分别构成一个向量,并通过编程找
剩余24页未读,继续阅读
资源评论
阿拉伯梳子
- 粉丝: 1573
- 资源: 5735
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功