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