推荐算法简述

1. 推荐系统定义
组成部分:系统用户,推荐对象,推荐算法。
推荐流程:首先建立用户模型,根据推荐对象的信息建立对象模型,最后根据推荐策略、用户信息、对象信息进行个性化推荐。
推荐算法简述
一般形式化定义:用户集合U,资源C。有效函数f描述资源c对用户u的推荐度。
f: .R表示用户的评分。
2. 主流推荐算法
基于内容;协同过滤,基于知识推荐和混合推荐。

基于内容推荐算法
不需要用户对资源做评价,把推荐对象的特征提取出来,根据用户以往选择的内容特征学习偏好,最后把与用户偏好兴趣匹配高的对象推荐给用户
推荐算法中,f(u,c)为被推荐对象c对用户u的效用函数,主要对象是用户资料模型和对象内容特征。
对象模型一般采用TF-IDF模型表示,用户资料模型(采用神经网络,决策树,贝叶斯分类)
f(u,c)=score(用户模型,对象模型)。可用二者余弦相识度计算。

协同过滤算法
基于内存的协调过滤和基于模型的协调过滤
基于内存的协调过滤(启发式协调过滤)
利用用户的历史数据来获取预测结果。1.可以分为基于用户的协调过滤2.基于资源的协调过滤。
启发式算法:是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。现阶段,启发式算法以仿自然体算法为主,主要有蚁群算法、模拟退火法、神经网络等。
基于用户的协调过滤基本步骤:
1、寻找与用户历史评分相似的用户形成近邻用户集。
2.根据近邻用户的历史偏好和评分为用户进行推荐或者评分预测。
相识度计算方法:皮尔逊相关数,余弦相识度,Jaccard系数。
对评分要进行归一化:用户评分存在波动性,和不用用户的评分差异。
问题:数据稀疏,评分稀疏,计算量大,稀疏引起的不准确。

基于模型的协同推荐算法:利用用户对项目的评分构建评分模型,通过模型实现对未知评分的预测,常用模型有贝叶斯网络、聚类算法、降维技术、图模型、回归模型。
1、 贝叶斯网络模型:用户或资源都具有某些吸引人的特征,用户对该类特征的偏好是短期的。可以分析用户或者项目特征值。用户和项目属性组成特征集,分为推荐给用户的项目集c1和不推荐给用户的项目集合c2。计算所属类别推荐给用户。
2、 基于聚类:分为用户和项目聚类,通过用户对项目的评分进行聚类。
3、 基于降维技术:常用奇异值分解,概率潜在语义分析、主成分分析、最大边际矩阵。
4、 基于图模型的协同过滤算法:将用户的历史行为数据用图的形式表示,分析不同节点间的关系构建关系网络图。有2分图和3分图。

基于知识的推荐
(可以解决冷启动的问题)通过用户的需求爱好、产品知识、功能知识为用户推荐项目,该方法是推理技术。
分为:基于约束的推荐、基于实例的推荐、基于知识推理的推荐系统。不需要用户的历史行为。问题:如何获取。如何表示领域知识以及推荐采用什么交互方式。

混合式推荐算法
多种推荐算法的组合,7种主要思路:加权融合、切换、混合、特征组合、级联、特征扩充、元层次混合。3种基本设计方式:整体式、流水线式、并行式。
前融合:对各种推荐算法的直接融合,统一在一个框架模型。
中融合:某种推荐算法为主。
后融合:个推荐算法计算各自计算得到的结果然后融合。
常用:(1)协调推荐和基于内容单独运行结果进行融合。(2)将基于内容推荐的特征融合到某种协调算法。(3)建立基于内容和协调推荐的预测模型。
推荐算法简述

3.评价指标
评价方法:1、离线实验。2、在线实验。3、用户调查。
离线实验:用户的数据分为训练集和测试集,训练集用于用户新区模型的构建,测试集用于对模型性能的测试,利用用户的历史行为,不需要用户参与。
优点:成本低。缺点:算大预测质量难以保证。
在线实验;用户的在线反馈。
评价指标:用户满意度、预测准确度、覆盖率、多样性、新颖性。
预测准确度:评分准确度 、使用预测准确度、排序准确度。
评分准确度:平均绝对误差、归一化平均绝对误差、均方根误差、归一化均方根。