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

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

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)

相关文章
|
5月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统的算法与实现:深入解析与实践
【6月更文挑战第14天】本文深入探讨了推荐系统的原理与实现,包括用户和项目建模、协同过滤、内容过滤及混合推荐算法。通过收集用户行为数据,系统预测用户兴趣,提供个性化推荐。实践中,涉及数据处理、建模、算法选择及结果优化。随着技术发展,推荐系统将持续改进,提升性能和用户体验。
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
79 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
20天前
|
存储 缓存 分布式计算
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
这篇文章是关于数据结构与算法的学习指南,涵盖了数据结构的分类、数据结构与算法的关系、实际编程中遇到的问题以及几个经典的算法面试题。
26 0
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
|
2月前
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
71 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
|
13天前
|
移动开发 算法 前端开发
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
15 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【9月更文挑战第12天】决策树算法作为机器学习领域的一颗明珠,凭借其直观易懂和强大的解释能力,在分类与回归任务中表现出色。相比传统统计方法,决策树通过简单的分支逻辑实现了数据的精准分类。本文将借助Python和scikit-learn库,以鸢尾花数据集为例,展示如何使用决策树进行分类,并探讨其优势与局限。通过构建一系列条件判断,决策树不仅模拟了人类决策过程,还确保了结果的可追溯性和可解释性。无论您是新手还是专家,都能轻松上手,享受机器学习的乐趣。
45 9
|
3月前
|
数据采集 机器学习/深度学习 算法
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
|
3月前
|
算法 5G Windows
OFDM系统中的信号检测算法分类和详解
参考文献 [1]周健, 张冬. MIMO-OFDM系统中的信号检测算法(I)[J]. 南京工程学院学报(自然科学版), 2010. [2]王华龙.MIMO-OFDM系统传统信号检测算法[J].科技创新与应用,2016(23):63.
72 4
|
3月前
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【8月更文挑战第2天】决策树算法以其直观性和解释性在机器学习领域中独具魅力,尤其擅长处理非线性关系。相较于复杂模型,决策树通过简单的分支逻辑实现数据分类,易于理解和应用。本示例通过Python的scikit-learn库演示了使用决策树对鸢尾花数据集进行分类的过程,并计算了预测准确性。虽然决策树优势明显,但也存在过拟合等问题。即便如此,无论是初学者还是专家都能借助决策树的力量提升数据分析能力。
42 4
|
3月前
|
存储 算法 安全
密码算法的分类
【8月更文挑战第23天】
69 0