#推荐系统学习笔记
#绪论
用户有明确需求:搜索引擎直接搜商品名称
用户有大概方向:点击分类标签进行筛选
用户不知道需求:看首页推荐(最基础的是非个性化推荐:热门商品排行榜)
#第一章:推荐系统评价指标
用户满意度:用户调查或在线实验(购买率)得出
预测准确度:用户评分与预测评份的均方差,用来评价预测是否准确
覆盖率:推荐出来的物品占总物品集合的比例,或者用信息熵,gini
多样性:1-物品两两之间相似度求和/推荐商品数的平方
新颖性:要求平均流行度较低,对于用户看过的不再推荐
惊喜度:与用户历史兴趣不相似但用户觉得满意
信任度:增加透明度即提供推荐解释,包括利用社交网络信息来推荐
实时性:如今天新闻,及推荐给用户的新物品占总推荐物品比例(冷启动)
健壮性:水军恶意注入噪声数据,如果前后推荐列表变化不大则健壮
#第二章:利用用户行为数据
用户活跃度与物品流行度的关系:新用户多数点击热门商品,老用户才会点击冷门商品
召回率:用户喜欢的物品集合中,有多少比例被推荐
准确率:推荐的物品列表中,有多少比例是用户喜欢的
覆盖率:被推荐的商品占总商品数的比例
改进点:黄牛用户买书来倒卖,参考价值低,故应除以用户活跃度作为惩罚
###基于用户的协同过滤算法
用户u与v相似度:两人都喜欢的物品数/两人至少有一人喜欢的物品数
在用户登陆在首页时,找与u用户相似度最高的用户v,把v喜欢的商品推荐给u
在一些社交网站,例如微博,也会给你推荐与你相似度高的用户关注
###基于物品的协同过滤算法
物品i与j相似度:同时喜欢两物品的人数/至少喜欢两者之一的人数
在用户浏览或买了i物品时,推荐与i物品相似度最高的物品j
#第三章:推荐系统冷启动问题
###分类
用户冷启动:新用户到来时没有他的行为数据
物品冷启动:如果把新物品推荐给可能对它感兴趣的用户
系统冷系统:新开发的网站,用户物品都是新的
###提供非个性化推荐
就是当前时事热点,热门商品排行榜,就是不使用用户注册信息
###利用用户注册信息
用户注册时提供的年龄,性别,职业,兴趣,做精粒度个性化
具体来说就是抽几个关键的信息查数据库中符合信息的人群最喜欢的商品
若用第三方帐号登陆,可利用其社交网络上信息,推荐其好友喜欢的商品
###选择合适的物品启动
用户第一次访问推荐系统时,提供一些商品让其反馈其了解程度及兴趣
要求提供的商品比较热门(防止用户一个都不懂),有代表性,多样性
###利用物品内容信息
利用物品内容信息,如分类,作者,发行单位,这里主要是指客观的标签
对于经常买相关标签的商品的用户,首页的推荐链接以一定概率放新商品
对于某用户买了相关标签的商品后,下面的推荐链接以一定概率放新商品
###发挥专家作用
引入专家知识,或者说内测用户,打上主观标签,再建立物品相关度表
主要标签:心情,剧情,音乐,流派,观众,获奖,风格,态度,画面
#第四章:利用用户标签数据
国内实例网站:豆瓣(由用户自行给各商品打标签)
###算法思路
初始化:
统计每个用户打过的标签
统计每个物品被打过的标签
思路一:
对每个标签,统计被打过这个标签次数最多的物品
对每个用户,找到他常用的标签,推荐具有这个标签最热门的物品
思路二:
设用户u打过x个标签各m1,m2,...,mx次
设商品i被这x个标签打过n1,n2,...,nx次
则用户u对物品i的兴趣=m1n1+m2n2+...+mxnx
求出兴趣最高的商品进行推荐
问题:热门商品权重过大
改进一:除以log(1+y)作惩罚,y是物品i的点击次数
改进二:除以log(1+z)作惩罚,z是给物品i打过标签的用户数
###标签清理
让用户对标签进行反馈,清除评分人数足够多且不及格持续一段时间的标签
###补充
也有给用户打标签,在社交网格中根据你的标签来推荐相关用户让你关注
例如,你每浏览一次B站美食,就给你打一次美食标签,给你推荐美食UP主
#第五章:利用上下文信息
###时间上下文介绍
用户兴趣变化,物品生命周期,物品季节效应(或者说圣诞节热度上升)
###时间上下文应用
每一段时间更新一次相似度表,只考虑这段时间的用户行为
最近最热门,每三天或一周更新一次前度排行,且每天热度要乘上衰减因子
例如:最近三天热度=今天热度+昨天热度*alpha+前天热度*alpha*alpha
###地点上下文介绍
不同地方的用户兴趣存在很大的差别,获取用户位置信息至关重要
#总结:推荐系统入门到此暂告一段落
推荐系统学习笔记
猜你喜欢
转载自blog.csdn.net/cj1064789374/article/details/111657993
今日推荐
周排行