《推荐系统实践》读书笔记
2024-02-22 15:09:26 0 举报
AI智能生成
推荐系统实践
作者其他创作
大纲/内容
3. 推荐系统冷启动问题
3.1 冷启动问题简介
用户冷启动
物品冷启动
系统冷启动
3.2 利用用户注册信息
人口统计学信息
年龄、性别、职业、民族、学历、居住地
用户兴趣的描述
从其他网站导入的用户站外行为数据
基于注册信息的个性化推荐流程
获取用户的注册信息
根据用户的注册信息对用户进行分类
给用户推荐他所属分类中用户喜欢的物品
粒度越细,精度和覆盖率越高
3.3 选择合适的物品启动用户的兴趣
思路
通过让用户对物品进行评分来收集用户兴趣
物品特点
比较热门
具有代表性和区分性
启动物品集合需要有多样性
3.4 利用物品的内容信息
内容相似度和ItemCF相结合
3.5 发挥专家的作用
心情
剧情
类别
时间
地点
观众
获奖
风格
态度
画面
标记
4. 利用用户标签数据
标签是一种无层次化结构的、用来描述信息的关键词
作者、专家打标
用户打标
4.1 UGC标签系统的代表应用
4.2 标签系统中的推荐问题
问题
如何利用用户打标签的行为为其推荐物品
如何在用户给物品打标签时为其推荐合适该物品的标签
4.2.1 用户为什么进行标注
4.2.3 用户打什么样的标签
表明物品是什么
表明物品的种类
表明谁拥有物品
表达用户的观点
用户相关的标签
用户的任务
4.3 基于标签的推荐系统
4.3.1 实验设置
4.3.2 基础算法
统计每个用户最常用的标签
对于每个标签,统计被打过这个标签次数最多的物品
对于一个用户,首先找到他常用的标签,然后找到具有这些标签的最热门物品推荐给这个用户。
4.3.3 算法的改进
1. TF-IDF
2. 数据稀疏性
计算标签相似度进行标签扩展
3. 标签清理
why
不是所有标签都能反应用户的兴趣
将标签作为推荐解释
how
去除词频很高的停止词
去除因词根不同造成的同义词
去除因分隔符造成的同义词
4.3.4 基于图的推荐算法
4.3.5 基于标签的推荐解释
标签云
让用户认同推荐的标签
让用户认同基于某个标签推荐的结果
客观事实类标签比主观感受类标签对用户更有作用
4.4 给用户推荐标签
4.4.1 为什么要给用户推荐标签
方便用户输入标签
提高标签质量
4.4.2 如何给用户推荐标签
1. 推荐给个系统最热门的
2. 推荐此物品上的最热门标签
3. 推荐用户常使用的标签
4. 将2和3融合,进行线性加权
4.4.3 实验设置
结论:方法2结果较好,方法4在不同的融合系数下差距大
冷启动问题
从物品的内容本身抽取关键词作为标签
标签扩展
4.4.4 基于图的标签推荐算法
4.5 扩展阅读
5. 利用上下文信息
5.1 时间上下文信息
5.1.1 时间效应简介
用户的兴趣是变化的
物品也是有生命周期的
季节效应
5.1.2 时间效应举例
5.1.3 系统时间特性的分析
系统的时间特性
数据集每天独立用户数的增长情况
系统的物品变化情况
物品平均在线天数
相隔T天系统物品流行度向量的平均相似度
用户访问情况
5.1.4 推荐系统的实时性
5.1.5 推荐算法的时间多样性
生成推荐结果时加入一定的随机性
对一直出现的推荐结果降权
使用不同的推荐算法
5.1.6 时间上下文推荐算法
1. 最近最热门
2. 时间上下文相关的itemCF算法
3. 时间上下文相关的userCF算法
5.1.7 时间段图模型
5.1.8 离线实验
5.2 地点上下文信息
兴趣本地化
活动本地化
1. 好的推荐系统
1.1 什么是推荐系统
1.2 个性化推荐系统的应用
电子商务
电影和视频网站
个性化音乐电台
物品空间大
消费每首歌的代价很小
物品种类丰富
听一首歌耗时很少
物品重用率很高
用户充满激情
上下文相关
次序很重要
很多播放列表资源
不需要用户全神贯注
高度社会化
社交网络
社交网络信息对用户进行个性化的物品推荐
信息流的会话推荐
给用户推荐好友
个性化阅读
基于位置的服务
个性化邮件
个性化广告
上下文广告
搜索广告
个性化展示广告
1.3 推荐系统评测
推荐系统实验方法
1. 离线实验
2. 用户调查
3. 在线实验
评测指标
1. 用户满意度
2. 预测准确度
3. 覆盖率
4. 多样性
5. 新颖性
6. 惊喜度
7. 信任度
8. 实时性
9. 健壮性
10. 商业目标
评测维度
用户
物品
时间
2. 利用用户行为数据
2.1 用户行为数据简介
日志
浏览
点击
购买
评分
评论
2.2 用户行为分析
2.2.1 用户活跃度和物品流行度的分布
长尾分布
用户活跃度:用户产生过行为的物品总数
物品流行度:对物品产生过行为的用户总数
2.2.2 用户活跃度和物品流行度的关系
用户越活跃,越倾向于浏览冷门的物品
2.3 实验设计和算法评测
2.3.1 数据集
2.3.2 实验设计
训练集和测试集的划分
多次试验防止过拟合
2.3.3 评测指标
准确率:最终的推荐列表中又多少比例是发生过的
召回率:有多少比例的用户-物品评分记录包含在最终的推荐列表中
覆盖率:最终推荐列表中包含多达比例的物品
2.4 基于领域的算法
2.4.1 基于用户的协同过滤算法
1. 基础算法
1)找到和目标用户兴趣相似的用户集合
2)找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户
2. 用户相似度计算的改进
惩罚两用户共同兴趣列表中热门物品对他们的相似度影响
3. 实际在线系统使用的例子
2.4.2 基于物品的协同过滤算法
1. 基础算法
1)计算物品相似度
2)根据物品的相似度和用户的历史行为给用户生成推荐列表
2. 用户活跃度对物品相似度的影响
活跃用户对物品相似度贡献小于不活跃用户
3. 物品相似度的归一化
增加推荐的准确度
提高覆盖率和多样性
2.4.3 UserCF和ItemCF的综合比较
UserCF
性能:适用于用户较少的场合
领域:时效性较强,用户个性化兴趣不太明显的领域
实时性:用户有新行为,不一定造成推荐结果的立即变化
冷启动:新用户对少量物品产生行为猴不能立即进行推荐;新物品上线后,如有行为发生,则会推荐给其他用户。
推荐理由:无
ItemCF
性能:适用于物品数明显小于用户数的场合
领域:长尾物品丰富,用户个性化需求强烈的领域
实时性:有新行为,一定导致结果事实变化
冷启动:新用户只要对一个物品产生行为,就可推荐其他物品;但新物品没有办法立即推荐给用户
推荐理由:可让人信服
哈利波特问题
热门物品对算法的影响,对热门物品施加惩罚
2.5 隐语义模型
2.5.1 基础算法
思路:对于某个用户,首先得到他的兴趣分类,然后从分类中挑选他可能喜欢的物品
问题
如何给物品进行分类
如何确定用户对哪些类的物品感兴趣,以及感兴趣的程度
对于一个给定的类,选择哪些属于这个类的物品推荐给用户,以及如何确定这些物品在一个类中的权重
隐语义模型
按照用户行为进行分类
分类粒度可调节
可给出一个物品属于每个类的权重
多维度分类
通过统计用户行为计算物品在分类中的权重
LFM
隐性反馈数据集抽取负样本:采样并保持正负样本量相当;选取热门却没有用户行为的物品
重要参数
隐特征的个数F
学习速率alpha
正则化参数lambda
负样本/正样本比例ratio
2.5.2 基于LFM的实际系统的例子
雅虎首页
2.5.3 LFM和基于领域的方法的比较
LFM有较好的理论基础,是一种学习方法
离线计算的空间复杂度,LFM在大量用户物品时能节省内存空间
离线计算的时间复杂度,由于进行迭代,LFM的时间复杂度稍高于领域算法
LFM不能进行在线实时推荐
LFM无法进行推荐解释
2.6 基于图的模型
2.6.1 用户行为数据的二分图表示
2.6.2 基于图的推荐算法
相关性较高的顶点
两个顶点之间有很多路径相连
连接两个顶点之间的路径长度都比较短
连接两个顶点之间的路径不会经过出度比较大的顶点
随机游走的personalRank算法
6. 利用社交网络数据
6.1 获取社交网络数据的途径
6.1.1 电子邮件
6.1.2 用户注册信息
6.1.3 用户的位置数据
6.1.4 论坛和讨论组
6.1.5 即时聊天工具
6.1.6 社交网站
社交图谱
兴趣图谱
6.2 社交网络数据简介
社交网络数据类型
双向确认的社交网络数据
单向关注的社交网络数据
基于社区的社交网络数据
社交网络数据中的长尾分布
入度反应用户的社会影响力:影响力大的用户占少数
出度代表一个用户关注的用户数:关注很多人的用户占少数
6.3 基于社交网络的推荐
优点
社交网络可以解决冷启动的问题
好友推荐可以增加推荐的信任度
6.3.1 基于领域的社会化推荐算法
6.3.2 基于图的社会化推荐算法
6.3.3 实际系统中的社会化推荐算法
6.3.4 社会化推荐系统和协同过滤推荐系统
6.3.5 信息流推荐
0 条评论
下一页