推荐系统1
标签(空格分隔): 算法
2. 协同过滤算法
2.1基于用户最近邻推荐
主要思想:给定一个评分数据集和当前(活跃)用户的ID作为输入,找出与当前用户过去有相似偏好的其它用户,这些用户被称为对等用户或最近邻.
- 案例:有一个评分矩阵,有alice的部分评分,和其它用户的评分,想要预测alice对未评分物品的评分.可以利用相关系数来判断用户的相似度,找到近邻,从而预测.
物品1 | 物品2 | 物品3 | 物品4 | 物品5 | |
---|---|---|---|---|---|
alice | 5 | 3 | 4 | 4 | ? |
用户1 | 3 | 1 | 2 | 3 | 3 |
用户2 | 4 | 3 | 4 | 3 | 5 |
找到最近邻从而预测alice对物品5的喜好.
2.2基于物品的最近邻推荐
主要思想:利用物品间相似度,而不是用户间相似度来计算预测值.
- 案例:我们可以从上一个案例中,看到物品1的评分(3,4),物品5评分(3,5)很相似,与物品4部分相似,那么alice对物品1评5分,对物品4评4分,从而预测alice对物品5评分在4和5之间.
2.3关于评分
在实际问题中,用户只会对少量的物品进行评分,会导致矩阵很稀疏,这时可利用用户的个人信息来推荐,比如年龄,性别,职业,教育程度等.
2.4.1基于SVD推荐系统
原理:将给定矩阵M分解成3个矩阵的乘积,其中U和V分别称为左,右奇异向量,Σ对角线上的值称为奇异值.
M=UΣVT
2.4.2关联规则挖掘
关联规则挖掘是一种在大规模交易中识别类似规则关系模式的通用技术.
也就是尿布与啤酒,可以使用一个算法自动找出这些规则,所需数据是一个矩阵(若购买了则值为1).
物品1 | 物品2 | |
---|---|---|
alice | 1 | 0 |
用户2 | 1 | 1 |
2.4.3 基于概率分析的推荐算法
使用贝叶斯分类器,将预测问题看做分类问题.
- 案例:同样是alice的例子,数据为评分矩阵,通过计算条件概率来预测alice对物品5评分概率最大的那个值.
=max{p(alice评1分),p(alice评2分),p(alice评3分)…}
2.5.1 Slope One预测器
基于”热门度差异”,也就是对用户来说物品相互之间的评分差异.
- 案例:
物品1 | 物品5 | |
---|---|---|
alice | 2 | ? |
用户1 | 1 | 2 |
P(alice,物品5)=2+(2-1)=3
人们利用这些差值的平均值来预测
2.5.2 Google新闻个性化推荐引擎
组合使用基于模型和基于记忆的技术
3. 基于内容的推荐
3.1 内容表示和相似度
基于内容推荐系统的一般工作原理是,评估用户还没看到的物品与当前用户过去喜欢的物品的相似度.
3.1.1向量空间模型和TF-IDF
它的主要思想是,能够从文档内容本身或没有限制的文字描述中自动生成一列”特征”的列表
然后用一个布尔向量来描述文档,0代表该词没出现,1代表该词出现,但这向量一般很大,因此可以通过停用词去除等手段进行精简.
3.2 基于内容相似度检索
如果说协同过滤中物品选择问题可以描述成”推荐相似用户喜欢的物品“,基于内容推荐通常描述成”推荐与过去喜欢的物品相似的物品”
3.2.1 最近邻
要想估计用户对某个文档的感兴趣程序,最初的方法是查一下用户过去是否喜欢相似的文档.这需要两类信息,首先是用户对以前物品”喜欢/不喜欢”的评论目录,其次,是一个标准来衡量文档的相似度.
遇见未见物品d基于的想法是,让k个最相似的物品给n个候选物品”投票”,比如,如果k=5,当前用户喜欢其中4个最相似的物品,系统可能会猜测d也被喜欢的概率相对很高.
3.2.2 相关性反馈—Rocchio方法
该方法曾应用于检索系统SMART,特点是,用户不能只提交给系统基于关键词的查询词,还有反馈检索结果是否相关.
3.3其它文本分类方法
还有一种确定用户是否对一个文档感兴趣的方法,即将这类问题看做分类任务,分为喜欢和不喜欢两类,就可以通过有监督学习来自动决定用户是否对某个文档感兴趣.
3.3.1基于概率模型的方法
即利用朴素贝叶斯法,对基于布尔型特征向量进行学习和分类
文档编号 | recommender | intelligent | learning | school | label |
---|---|---|---|---|---|
1 | 1 | 1 | 1 | 0 | 1 |
2 | 0 | 0 | 1 | 1 | 0 |
3 | 1 | 1 | 0 | 0 | 1 |
3.3.2 其它线性分类器和机器学习
利用线性分类区,如SVM来进行分类(喜欢,不喜欢)
3.3.3 显示决策模型
利用决策树来根据文档是否出现关键词来区分相关或不相关
3.3.4 特征选择
使用卡方统计量来对关键词进行特征提取
4. 基于知识的推荐
4.1 介绍
基于知识的推荐系统不需要评分数据就能推荐,因此也就不存在启动问题.用户必须指定需求给出解决方案.比如:数码相机提供像素,尺寸,价格等
5. 混合推荐方法
5.1 混合推荐的时机
5.2 整体式混合设计
5.3 并行式混合设计
5.4 流水线混合设计
- 本文为推荐系统,人民邮电出版社笔记 ↩