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

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

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)

相关文章
|
10月前
|
机器学习/深度学习 Dragonfly 人工智能
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
220 1
|
9月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
650 0
|
9月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
2398 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
10月前
|
机器学习/深度学习 传感器 数据采集
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
【23年新算法】基于鱼鹰算法OOA-Transformer-BiLSTM多特征分类预测附Matlab代码 (多输入单输出)(Matlab代码实现)
561 0
|
11月前
|
机器学习/深度学习 人工智能 算法
AP聚类算法实现三维数据点分类
AP聚类算法实现三维数据点分类
376 0
|
机器学习/深度学习 算法 数据可视化
利用SVM(支持向量机)分类算法对鸢尾花数据集进行分类
本文介绍了如何使用支持向量机(SVM)算法对鸢尾花数据集进行分类。作者通过Python的sklearn库加载数据,并利用pandas、matplotlib等工具进行数据分析和可视化。
1390 70
|
机器学习/深度学习 资源调度 算法
基于入侵野草算法的KNN分类优化matlab仿真
本程序基于入侵野草算法(IWO)优化KNN分类器,通过模拟自然界中野草的扩散与竞争过程,寻找最优特征组合和超参数。核心步骤包括初始化、繁殖、变异和选择,以提升KNN分类效果。程序在MATLAB2022A上运行,展示了优化后的分类性能。该方法适用于高维数据和复杂分类任务,显著提高了分类准确性。
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
590 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
650 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
存储 缓存 分布式计算
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
这篇文章是关于数据结构与算法的学习指南,涵盖了数据结构的分类、数据结构与算法的关系、实际编程中遇到的问题以及几个经典的算法面试题。
316 0
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题