机器学习-协同过滤

1、协同过滤要解决的问题

协同过滤算法主要用于推荐系统,推荐系统是信息过载所采用的措施,面对海量的数据信息,从中快速推荐出符合用户特点的物品。一些人的“选择恐惧症”、没有明确需求的人。

解决如何从大量信息中找到自己感兴趣的信息。
解决如何让自己生产的信息脱颖而出,受到大众的喜爱。

就相当于物以类聚,人以群分。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户ID、物品ID、偏好值
偏好值就是用户对物品的喜爱程度,推荐系统所做的事就是根据这些数据为用户推荐他还没有见过的物品,并且猜测这个物品用户喜欢的概率比较大。

用户ID和物品ID一般通过系统的业务数据库就可以获得,偏好值的采集一般会有很多办法,比如评分、投票、转发、保存书签、页面停留时间等等,然后系统根据用户的这些行为流水,采取减噪、归一化、加权等方法综合给出偏好值。一般不同的业务系统给出偏好值的计算方法不一样。

在这里插入图片描述
协同是什么意思?
就是类似的几个实体,比较相同,有相同的方面。
过滤是什么意思?
就是把相同的、类似的物品或者人过滤出来。

基本思想
第一种方式是利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。
第二种方式是利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。
第三种方式是利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。

在这里插入图片描述

2、相似度度量

物品A与物品B之间的相似度通过A、B特有的特征向量来度量
度量方法有很多
欧氏距离:
在这里插入图片描述
余弦相似度:
在这里插入图片描述

在这里插入图片描述

3、邻域大小

有了相似度的比较,那么比较多少个用户或者物品为好呢?一般会有基于固定大小的邻域以及基于阈值的领域。具体的数值一般是通过对模型的评比分数进行调整优化。
在这里插入图片描述

4、基于用户的CF

在这里插入图片描述
在这里插入图片描述

5、基于物品的CF

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6、基于LFM思想的矩阵分解-ALS

思想是什么?

投资顾问给用户推荐理财产品,推荐哪个?
A:我手上的这一个VIP客户,做事比较谨慎、不爱冒风险,不是冲动型客户。

B:那这款理财产品,虽然收益比较高,但投资大、风险也比较高,估计不适合他。
在这里插入图片描述
在这里插入图片描述
隐语义向量
既然要打分,那么?
(潜在特征模型)隐语义模型

P:用户是不是有一些隐含的特征?
Q:物品是不是有一些隐含的特征?

ALS优化
在这里插入图片描述
既然要打分,那么?
损失函数:吉洪诺夫正则化

在这里插入图片描述
在这里插入图片描述

7、协同过滤推荐架构

在这里插入图片描述
①. 查询的是与该用户相似的用户,所以一来直接查了关系数据源。以及相似用户与该用户的相似度。
②. 对数据集进行优化,得到相似用户和相似度。
③.  查询关系数据源,得到相似用户即邻居偏好过的物品;如步骤④;图中由于空间小,没有把所有邻居的偏好关系都列出来,用……表示。其次还要得到该用户偏好过的物品集合。
 ④. 被推荐的Item集合是由该用户的所有邻居的偏好过的物品的并集,同时再去掉该用户自己偏好过的物品。作用就是得到你的相似用户喜欢的物品,而你还没喜欢过的。
 ⑤. 集合优化同基于物品的协同过滤算法的步骤②。
 ⑥. 也是对应类似的,依次计算被推荐集合中Item_i 的推荐值,计算的方式略有不同,Value_1_i表示邻居1对,Item_i的偏好值,乘以该用户与邻居1的相似度 Similarity1;若某个邻居对Item_i偏好过,就重复上述运算,然后取平均值;得到Item_i的推荐值。
⑦、⑧. 与上一个算法的最后两部完全类似,只是步骤  ⑧你竖着看,判断两个用户相似的法子和判断两个物品相似的法子一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/341733.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023年全国职业院校技能大赛软件测试赛题—单元测试卷③

单元测试 一、任务要求 题目1:输入一个大写字母一个小写字母。根据输入的第一个字母和英文周几单词的第一个大写字母判断是周几,如果无法根据第一个大写字母判断,则继续根据输入的第二个小写字母进行判断,最终返回正确的英文周几…

排序之希尔排序

希尔排序,也被称为缩小增量排序,是一种基于插入排序的算法。它通过比较相距一定间隔的元素,来工作,然后再逐渐减小间隔,直到整个数组排序完成。这种算法的主要优点是对于部分有序的数组,其效率非常高&#…

编码器与解码器LLM全解析:掌握NLP核心技术的关键!

让我们深入了解:基于编码器和基于解码器的模型有什么区别? 编码器与解码器风格的Transformer 从根本上说,编码器和解码器风格的架构都使用相同的自注意力层来编码词汇标记。然而,主要区别在于编码器旨在学习可以用于各种预测建模…

Java--ListUtil工具类,实现将一个大列表,拆分成指定长度的子列表

文章目录 前言实现代码执行结果 前言 在项目中有时会出现列表很大,无法一次性批量操作,我们需要将列表分成指定大小的几个子列表,一份一份进行操作,本文提供这样的工具类实现这个需求。 实现代码 public class ListUtils {publ…

代币中的decimal精度代表了什么

精度的意义在于允许发送小数的代币。举例,一个CAT代币合约的精度为6。那么 你拥有1个CAT就意味着合约中的balance 1 * 10^6 , 转账 0.1CAT出去的话,就需要输入 0.1*10^6 10^5。 也就时在涉及代币时,查询到的余额、转账的代币数量 都和 代币…

<软考高项备考>《论文专题 - 62 质量管理(1) 》

1 论文基础 1.1 写作要点 过程定义、作用写作要点、思路过程定义、作用写作要点、思路规划质量管理规划质量管理是识别项目及其可交付成果的质量要求、标准,并书面描述项目将如何证明符合质量要求、标准的过程。作用:为在整个项目期间如何管理和核实质量提供指南和…

kafka除了作为消息队列还能做什么?

Kafka 最初是为大规模处理日志而构建的。它可以保留消息直到过期,并让各个消费者按照自己的节奏提取消息。 与其之前的竞品不同,Kafka 不仅仅是一个消息队列,它还是一个适用于各种情况的开源事件流平台。 让我们回顾一下流行的 Kafka 用例。 …

k8s集群配置NodeLocal DNSCache

一、简介 当集群规模较大时,运行的服务非常多,服务之间的频繁进行大量域名解析,CoreDNS将会承受更大的压力,可能会导致如下影响: 延迟增加:有限的coredns服务在解析大量的域名时,会导致解析结果…

【Android开发】不同Activity之间的数据回传实例(一)摘桃子游戏

一、功能介绍 该项目实现的功能主要有: 在首页显示一个按钮点击该按钮跳转到桃园页面在桃园页面,点击桃子会弹窗显示摘到几个桃子,同时被点击桃子消失,总桃子数1点击退出桃园会返回首页,首页桃子数会根据点击的桃子数…

数据科学低代码工具思考2—现状分析

数据科学工具伴随着计算机技术的发展也在持续的演进。数据库、大数据以及人工智能等时代标志性技术的出现,对数据科学工具的能力也有了更高的要求。一般而言,工具发展的趋势都是首先会出现一个能够支持数据科学计算的开发框架,方便用户能够更…

Session与Cookie

目录 一、Session会话技术 概念 常用方法 生命周期 有效期 场景 二、Cookie技术 一、Session会话技术 概念 浏览器和服务器之间为了实现某个功能,产生了多次请求和响应,从第一次请求开始到最后一次请求结束,这期间所有的请求和响应加…

2023年北邮渣硕的暑期秋招总结

背景 实验室一般是在研究生二年级的时候会放实习,在以后的日子就是自己完成毕业工作要求,基本上不再涉及实验室的活了,目前是一月份也是开始准备暑期实习的好时间。实验室每年这个时候都会有学长学姐组织暑期实习经验分享,本着不…