协同过滤与矩阵分解讲解(PPT)

news2024/11/16 7:45:30

总览

你好啊
协同过滤算法,就是一种完全依赖用户和物品之间行为关系的推荐算法。
从字面理解,协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息。


知识概括

在这里插入图片描述
从这几个方面进行分析。


一、基于用户的协同过滤

在这里插入图片描述
显示能够直接看出用户的偏好,
隐式需要自己动手挖掘数据,如果方法不够准确,可能找的会有问题。

在这里插入图片描述
从这个图中可以看出,用户一与用户三都喜欢APP1,
这两位用户的兴趣可能是一样的,可以做出推测,用户3可能是喜欢app3的

在这里插入图片描述稀疏是说通常商品非常多,用户购买的只是其中极小一部分

计算讲的是用户和物品的矩阵会非常庞大,此外还有增量数据的同步问题。人们的兴趣一直在变,去同步这种变化的数据就是一种计算问题。
冷启动是指新用户到来,本身没有和其他用户有关联,这种情况该如何推荐

二、基于物品的协同过滤

测试,这是图片描述,好像没事特别
在推荐中,如果用物品1和物品3经常一起出现,也就是说用户购买1的时候也大概率会买3,
那么出现新用户3喜欢物品1,同时也用户3推荐物品3.
在这里插入图片描述

更流行,现阶段各大网站基本都是用户较多,
商品(种类)比用户少的多商品属性通常比较固定,特征获取容易,而且基本不会改变
即便上架了新商品,它自身也有各种标签,不会像用户一样是张白纸
应用场景更适合当下各种网站,APP(实时的除外,例如新闻)的、


三、矩阵分解

在这里插入图片描述
如果有100w的用户,1个亿的产品,这两个组合一个矩阵,数据量太大,计算分析困难。

怎么样能通过一种方法降低这个计算复杂度,将最终目标实现,就是矩阵分解要做的事情。
在这里插入图片描述
这是用户歌曲之间的行为数据,1代表听过个,0代表没有听过。
可以看出是比较稀疏的矩阵,目标是预测空白值是多少。
如果直接算的话,计算效率比较低
在这里插入图片描述
原始矩阵是100w10w,
拆分为两个矩阵:100w
3 与 3*10w两个矩阵,这两个矩阵就相对小很多,
这个3是隐向量,
在这里插入图片描述
最后可以分解成这样的矩阵,
这里的三个特征,就是隐向量,其实就是特征的高维表达,很难去解释。

这里的民谣、儿歌,是为了方便理解,这样写出来的。但其实没有办法解释,如右下角所示。
优化好小矩阵中的数值,最终合并成一个大表。
在这里插入图片描述
如图中所示,通过不断调整参数,最后得到一个计算机能理解的特征,
就是隐向量的一般含义。
在这里插入图片描述
这是最终的表格

在这里插入图片描述
使用矩阵分解,希望还原后的矩阵,和原来是越相似越好。
rui 相当于原来的大矩阵,xy就是分解出来的两个小矩阵,希望他们之间的差异越来越小。

在这里插入图片描述
默认为1,rui当前的指标,比如点击次数,阿尔法相当于是系数,就是权重的设置。
行为越多,置信度的值会越来越大。
置信度的值越大,表示预测的越准确。

需要PPT的私聊

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

富士康转移产线和中国手机海外设厂,中国手机出口减少超5亿部

富士康和苹果转移生产线对中国手机制造造成了巨大的影响,除此之外,中国手机企业纷纷在海外设厂也在减少中国手机的出口,2022年中国的手机出口较高峰期减少了5.2亿部。 手机是中国的大宗出口商品,不过公开的数据显示2022年中国的手…

深入了解Java8新特性-日期时间API_LocalDate类

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概12000多字,预计阅读时间长需要10分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&…

【Python】批量将PDG合成PDF,以及根据SS号重命名秒传的文件

目录 说明批量zip2pdf批量zip2pdf下载SS号重命名源代码SS号重命名源代码下载附录,水文年鉴 说明 1、zip2pdf是一个开源软件,支持自动化解压压缩包成PDG,PDG合成PDF,笔者在其基础上做了部分修改,支持批量转换。 2、秒…

SQL LIKE 运算符:用法、示例和通配符解释

SQL中的LIKE运算符用于在WHERE子句中搜索列中的指定模式。通常与LIKE运算符一起使用的有两个通配符: 百分号 % 代表零个、一个或多个字符。下划线 _ 代表一个单个字符。 以下是LIKE运算符的用法和示例: 示例 选择所有以字母 “a” 开头的客户&#x…

如何应用ChatGPT撰写、修改论文及工作报告,提供写作能力及优化工作??

如果我想让gpt从pdf文档中提取相关关键词的内容,可以怎么做呢??我们评论区讨论 ChatGPT 在论文写作与编程方面也具备强大的能力。无论是进行代码生成、错误调试还是解决编程难题,ChatGPT都能为您提供实用且高质量的建议和指导&am…

【SpringMVC】 三层架构

一.lombok工具包 中央仓库查找这个工具包:https://mvnrepository.com/ 给类添加Data注解就可以获取gettter和setter方法 , 这样我们就不必写getter 和 setter 方法. 也可以给成员属性添加单独的getter 和 setter , 针对某个成员属性单独添加setter或setter方法. 二.如果使用spr…

Leetcode173. 二叉搜索树迭代器

Every day a Leetcode 题目来源:173. 二叉搜索树迭代器 解法1:中序遍历 我们可以直接对二叉搜索树做一次完全的递归遍历,获取中序遍历的全部结果并保存在数组中。随后,我们利用得到的数组本身来实现迭代器。 代码&#xff1a…

Python生产、消费Kafka

如果想通过docker安装kafka,可参考 Docker安装Kafka 生产者 import json import time import tracebackfrom datetime import datetime from kafka import KafkaProducer from kafka.errors import kafka_errorsproducer KafkaProducer(bootstrap_servers[localho…

JSP:Servlet

Servlet处理请求过程 B/S请求响应模型 Servlet介绍 JSP是Servlet的一个成功应用,其子集。 JSP页面负责前台用户界面,JavaBean负责后台数据处理,一般的Web应用采用JSPJavaBean就可以设计得很好了。 JSPServletJavaBean是MVC Servlet的核心…

NOIP2003提高组第二轮T3:加分二叉树

题目链接 [NOIP2003 提高组] 加分二叉树 题目描述 设一个 n n n 个节点的二叉树 tree \text{tree} tree 的中序遍历为 ( 1 , 2 , 3 , … , n ) (1,2,3,\ldots,n) (1,2,3,…,n),其中数字 1 , 2 , 3 , … , n 1,2,3,\ldots,n 1,2,3,…,n 为节点编号。每个节点都…

抖音汽车租赁小程序背后的技术挑战与解决方案

随着共享经济的不断发展,抖音上的汽车租赁小程序也逐渐崭露头角。然而,这背后涉及的技术挑战却不容小觑。本文将深入探讨抖音汽车租赁小程序的技术挑战,并提出相应的解决方案。 一、实时位置追踪 汽车租赁小程序的核心在于用户能够实时追踪…

JS中reduce函数的使用

一:函数解释 reduce()是一个对数组中的每个元素按照顺序依次执行自定义函数的方法。 就是遍历数组,每个元素都执行相同的方法。 二:实际应用 accumulator和currentValue分别用acc和cur表示哈,举例如下: 应用例子①…

赛迪生电源充电模块维修CHR-22005 RCU-202A

通信电源维修品牌:英可瑞,许继,艾默生,通合,动力源,九洲,华隆,合欣,泰坦,赛迪生等 直流屏模块故障和解决办法: 1、针对各类变电站直流屏,若显示交流空开跳闸,但并没有动作。应当检查三处地方是否正确: 接线是否正确…

SWT/Jface(2): 表格的编辑

前言 上节说到, 创建和渲染表格需要如下几个步骤: 接收源数据数组(也可以是单个对象或者其他集合类型): TableViewer.setInput(Object)渲染接收的数据 渲染表头: TableViewer.setLabelProvider(IBaseLabelProvider)渲染内容: TableViewer.setContentProvider(IContentProvide…

k8s-pod生命周期 4

容器环境初始化 pod 由pod 镜像来提供,在pod 生命周期里容器主要分为两种:初始化容器和主容器 初始化容器一定要成功运行并退出,当初始化容器运行退出完了之后主容器开始和运行 主容器开始运行的时候,有两个探针:存…

【C++初阶】STL详解(七)Stack与Queue的模拟实现

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

git-3

1.如何让工作区的文件恢复为和暂存区一样? 工作区所作的变更还不及暂存区的变更好,想从暂存区拷贝到工作区,变更工作区(恢复成和暂存区一样的状态),想到用git checkout -- 文件名 2.怎样取消暂存区部分文件的更改? 如…

C语言函数练习(超基础超详细)

ps:题目来源于pta平台。 1. int sum(int m, int n) {int sum0;for(int im; i<n; i){sumi;}return sum; } 2. int max(int a, int b) {if(a>b)return a;else return b; } 3. double dist( double x1, double y1, double x2, double y2 ) {return sqrt((x1-x2)*(x1…

STM32笔记---RTC

目录 一、RTC简介 二、主要特性 三、功能描述 3.1 读RTC寄存器 3.2 配置RTC寄存器 四、BKP简介 五、RTC_Init() 1. 函数BKP_ReadBackupRegister 2.RCC_LSEConfig设置外部低速晶振&#xff08;LSE&#xff09; 3.RTC基本结构 5.RTC_Init()实现 6.time.h 一、R…

靠这份求职指南找工作,稳了!

大家好&#xff0c;我是鱼皮。为了帮助朋友们更好的准备秋招&#xff0c;我们精心汇总整理了 编程导航星球 内鱼友反馈的 200 多个高频求职问题和 150 多篇面经、以及最新秋招企业投递信息表&#xff0c;解答大家的求职困惑。 一、最新秋招投递信息表 目前已汇总整理了 600 多家…