推荐系统的算法分类和操作流程介绍

简介: 推荐系统的算法分类和操作流程介绍

N.1 推荐系统的基本思想

1)利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。

2)利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。

3)利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用

户喜欢的物品。

————————————————————————

————————————————————————

N.2 推荐系统的数据分析

————————————————————————

————————————————————————

N.3 推荐系统的分类

————————————————————————

————————————————————————

1)推荐算法总分类

(1)基于内容(NLP)的推荐,CB

(2)协同过滤推荐

[1] 基于近邻的协同过滤

1.基于用户的协同过滤,U-CF

2.基于项目的协同过滤,I-CF

3. LFM推荐,是上面的混合。

[2] 基于模型的协同过滤

1. 关联算法

2. 聚类算法

3. 分类算法

4. 回归算法

5. 矩阵分解

6. 神经网络

7. 图模型

8. 隐语义模型(LSA)

9. 奇异值分解(SVD)

10. 支撑向量机(SVM)

(3)混合推荐

[1] 加权混合

[2] 切换混合

[3] 分区混合

[4] 分层混合

(4)基于规则的推荐

(5)基于人口统计信息的推荐

(6)基于知识推荐

2)基于人口统计学的推荐算法和U-CF类似

————————————————————————

————————————————————————

3)基于内容的推荐算法和I-CF类似

————————————————————————

————————————————————————

4)基于近邻的协同过滤

U表示用户,I表示商品,中间的数字表示评分。

————————————————————————

————————————————————————

N.4 协同过滤(CF)推荐方法

1)基于内容(Content based, CB)主要利用的是用户评价过的物品的内容特征,而CF方法还可以利用其他用户评分过的物品内容

2)CF可以解决CB的一些局限

[1] 物品内容不完全或者难以获得时,依然可以通过其他用户的反馈给出推荐.

[2] CF基于用户之间对物品的评价质量,避免了CB仅依赖内容可能造成的对物品质量判断的干扰C.

[3] F推荐不受内容限制,只要其他类似用户给出了对不同物品的兴趣, CF就可以给用户推荐出内容差异很大的物品(但有某种内在联系)

3)基于用户的协同过滤

这里没有提供用户数据,而我们需要找到相似的用户

————————————————————————

————————————————————————

4)基于物品的协同过滤

我们需要找相似的商品

————————————————————————

————————————————————————

5)混合推荐

实际网站的推荐系统往往都不是单纯只采用了某一种推荐的机制和策略,往往是将多个方法混合在一起,从而达到更好的推荐效果。比较流行的组合方法有:

[1] 加权混合:用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。

[2] 切换混合:切换的混合方式,就是允许在不同的情况(数据量,系统运行状况,用户和物品的数目等)下,选择最为合适的推荐机制计算推荐。

[3] 分区混合:采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户。

[4] 分层混合:采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐。

N.5 推荐系统实验方法

1)离线实验

(1)通过体制系统获得用户行为数据,并按照一定格式生成一个标准的数据集

(2)将数据集按照一定的规则分成训练集和测试集

(3)在训练集上训练用户兴趣模型,在测试集上进行预测

(4)通过事先定义的离线指标评测算法在测试集上的预测结果

2)用户调查

(1)用户调查需要有一些真实用户,让他们在需要测试的推荐系统上完成一些任务;我们需要记录他们的行为,并让他们回答一些问题;最后进行分析。

3)在线实验

AB测试,就是将用户分AB两组,进行推荐实验。

N.6 推荐系统评测指标

1)预测准确度

2)用户满意度

3)覆盖率(冷门商品也要推荐)

4)多样性

5)惊喜度

6)信任度

7)实时性

8)健壮性

9)商业目标

N.7 推荐准确度评测

1)评分预测

(1)很多网站都有让用户给物品打分的功能,如果知道用户对物品的历史评分,就可以从中学习一个兴趣模型,从而预测用户对新物品的评分

(2)评分预测的准确度一般用均方根误差(RMSE)或平均绝对误差(MAE)计算

————————————————————————

————————————————————————

(3)Top-N推荐

[1] 网站提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做Top-N推荐.

[2] Top-N推荐的预测准确率一般用精确率(precision)和召回率(recall)来度量.

2)准确率、精确率和召回率

(1)假如某个班级有男生80人,女生20人,共计100人,目标是找出所有女生。现在某人挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了。那么怎样评估他的工作?

(2)将挑选结果矩阵示意表来表示:定义TP, FN, FP, TN四种分类情况,T表true,F表false。

————————————————————————

————————————————————————

[1] TP:将正类预测为正类的数目;

[2] FN: 将正类预测为负类的数目;

[3] FP:将负类预测为正类的数目;

[4] TN:将负类预测为负类的数目;

3)准确率、精确率和召回率细讲

(1)准确率(accuracy)

正确分类的item数与总数之比  A= (20+50) / 100 = 70%。、

(2)精确率(precision)

"实际正确被检索到的item"占"所有被检索到的item"中的比例= 20/ (20+30) = 40。

或叫 实际预测为正类的数据 占 所有预测为正类的数据的比例:P=TP/(TP+FP)

(3)召回率(recall)

"实际正确被检索到的item"占"所有应该被检索到的item"的比例R=20/ (20 + 0) = 100% 。

或叫 实际预测为正类的数据 占 所有实际为正类的数据中的比例:P=TP/(TP+FN)

相关文章
|
1月前
|
机器学习/深度学习 算法 数据库
KNN和SVM实现对LFW人像图像数据集的分类应用
KNN和SVM实现对LFW人像图像数据集的分类应用
34 0
|
16天前
|
机器学习/深度学习 自然语言处理 算法
|
3月前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
104 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
22小时前
|
编解码 算法 数据可视化
【视频】时间序列分类方法:动态时间规整算法DTW和R语言实现
【视频】时间序列分类方法:动态时间规整算法DTW和R语言实现
|
1天前
|
机器学习/深度学习 数据采集 算法
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析
|
9天前
|
机器学习/深度学习 算法 数据可视化
样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
13 0
|
1月前
|
机器学习/深度学习 算法
机器学习与深度学习的算法分类
机器学习与深度学习的算法分类
|
2月前
|
算法 测试技术 C++
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
【数论】【分类讨论】【C++算法】1611使整数变为 0 的最少操作次数
|
2月前
|
机器学习/深度学习 自然语言处理 算法
如何利用机器学习算法提高分类准确率
【2月更文挑战第7天】机器学习在现代科技中扮演着重要的角色。分类是其中一种基本的机器学习任务,而分类准确率是衡量分类模型好坏的重要指标。本文将介绍如何利用机器学习算法来提高分类准确率。
25 0
|
2月前
|
机器学习/深度学习 存储 算法
【模式识别】探秘分类奥秘:K-近邻算法解密与实战
【模式识别】探秘分类奥秘:K-近邻算法解密与实战
37 0