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

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

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)

相关文章
|
4天前
|
机器学习/深度学习 搜索推荐 算法
推荐系统的算法与实现:深入解析与实践
【6月更文挑战第14天】本文深入探讨了推荐系统的原理与实现,包括用户和项目建模、协同过滤、内容过滤及混合推荐算法。通过收集用户行为数据,系统预测用户兴趣,提供个性化推荐。实践中,涉及数据处理、建模、算法选择及结果优化。随着技术发展,推荐系统将持续改进,提升性能和用户体验。
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
【经典LeetCode算法题目专栏分类】【第10期】排序问题、股票问题与TOP K问题:翻转对、买卖股票最佳时机、数组中第K个最大/最小元素
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第7期】快慢指针与链表
【经典LeetCode算法题目专栏分类】【第7期】快慢指针与链表
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第6期】二分查找系列:x的平方根、有效完全平方数、搜索二位矩阵、寻找旋转排序数组最小值
【经典LeetCode算法题目专栏分类】【第6期】二分查找系列:x的平方根、有效完全平方数、搜索二位矩阵、寻找旋转排序数组最小值
|
5天前
|
算法 机器人
【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径
【经典LeetCode算法题目专栏分类】【第4期】BFS广度优先算法:单词接龙、最小基因变化、二进制矩阵中的最短路径
|
5天前
|
算法
【经典LeetCode算法题目专栏分类】【第3期】回溯问题系列:单词搜索、N皇后问题、判断有效数独、解数独
【经典LeetCode算法题目专栏分类】【第3期】回溯问题系列:单词搜索、N皇后问题、判断有效数独、解数独