【推荐系统】推荐算法数学基础

【大家好,我是爱干饭的猿,本文重点介绍推荐系统涉及的数学知识、推荐系统涉及的概率统计知识。
后续会继续分享其他重要知识点总结,如果喜欢这篇文章,点个赞👍,关注一下吧】

上一篇文章:《【推荐系统】了解推荐系统的生态(重点:推荐算法的主要分类)》

2. 推荐算法数学基础

本章回顾并梳理了学习算法必需的数学知识和统计学知识,帮助大家巩固基础,平滑过渡,为后面学习推荐算法做铺垫。

汗流浃背了吧老弟,全是大学高数和概率论知识!!!

2.1 推荐系统涉及的数学知识

向量

  • 既有长度又有方向
    在这里插入图片描述

向量和矩阵的关系

  • 由有限个向量组可以构成一个矩阵
  • 向量是矩阵的—部分

在这里插入图片描述

向量的和

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

向量和常量的乘法

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

向量乘积

在这里插入图片描述

矩阵与矩阵相乘

在这里插入图片描述

  • 第一个矩阵的列数必须等于第二个矩阵的行数
  • 相乘获得的矩阵行数是第一个矩阵的行数,列数是第二个矩阵的列数

矩阵

  • 方阵,单位矩阵
  • 矩阵的转置:A^T
  • 矩阵的逆矩阵:A^-1
  • 矩阵的秩

导数

  • 导数是用来分析变化的
  • 一次函数(直线)的求导,得到的是斜率
  • 二次函数(曲线)的求导,得到的是各点切线的斜率

偏导数

  • 当存在多个自变量和一个因变量
  • 假设其他自变量不变
  • 当只有一个自变量变化时,因变量也会随之变化

方向导数

  • 一个函数沿指定方向的变化率

梯度

  • 梯度是偏导向量的方向
  • 沿着偏导向量的方向导数能够取得最大值
  • 梯度就是变化最快的方向

凸函数和凹函数

在这里插入图片描述

在这里插入图片描述

2.2 推荐系统涉及的概率统计知识

均值

  • 反映一组数据集中趋势的统计量
  • 算术平均数、加权平均数、中位数

数学期望

  • 掷骰子游戏,规定掷出1点得到1元,2点得到2元,以此类推
  • 求:掷一次它的期望值
    在这里插入图片描述

方差

  • 方差是一种特殊的期望
  • 是衡量源数据和期望值相差的度量值
  • 方差是计算每一个观察值和总体均数之间的差异
    在这里插入图片描述
  • A: 40,100,120,70,30。平均成绩=72
  • B: 73,70,72,75,70。平均成绩= 72

样本标准差

  • 样本标准差=方差的算术平方根
  • 方差是数据的平方,与检测值本身相差太大,难以直观的衡量

协方差

  • 协方差是度量两个随机变量关系的统计量
    在这里插入图片描述

相关系数

  • X、Y的协方差除以X的标准差和Y的标准差的乘积
    在这里插入图片描述
    在这里插入图片描述

概率密度函数

  • 离散型变量:取值可以——列出,且总数确定

  • 连续型变量:取值无法——列出,且总数不确定

  • 概率分布:给出了所有值及其概率,只对离散型变量有意义

  • 概率函数:是对概率分布的描述,只对离散型变量有意义

  • 概率分布函数:给出了x落在某区间内的概率

  • 概率密度函数:给出了x落在某区间内的概率变化快慢

均匀分布

  • 任意相同间隔所对应的概率分布都相等
    在这里插入图片描述

正态分布(高斯分布)

在这里插入图片描述

中心极限定理

  • 正太分布为什么常见,原因是中心极限定理
  • 大量相互独立的随机变量,当采样次数足够大
  • 不管随机变量呈现什么分布,抽取样本的均值接近正太分布

置信区间

  • 标准正太分布是均值为0,标准差为1
    在这里插入图片描述

条件概率公式

  • A,B是两个事件,在B发生的条件下,A发生的概率
    在这里插入图片描述

贝叶斯公式

  • 贝叶斯公式就是建立在条件概率基础上寻找事件发生的原因
    在这里插入图片描述

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

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

相关文章

为什么每个 Java 开发者都需要了解 Scala

前面我们一起回顾了第九期 Scala & Java Meetup 中最受关注的话题 —— jdk 并发编程的终极解决方案:虚拟线程,探讨了这一新特性对包括 Scala 在内的响应式编程语言的影响。 本次 Meetup 的首位分享者 Chunsen,在加入 Tubi 成为 Scala 开…

SpringAMQP 快速入门

SpringAMQP 快速入门 1. 创建项目2. 快速入门2.2.1 消息发送2.2.2 消息接收 3. 交换机3.1 Fanout Exchange(扇出交换机)3.1.1 创建队列与交换机3.1.2 消息接收3.1.3 消息发送 3.2 Direct Exchange(直连交换机)3.2.1 创建交换机与队…

Java 简易版 TCP(一对一)聊天

客户端 import java.io.*; import java.net.Socket; import java.util.Date; import javax.swing.*;public class MyClient {private JFrame jf;private JButton jBsend;private JTextArea jTAcontent;private JTextField jText;private JLabel JLcontent;private Date data;p…

智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.跳蛛算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

springboot + thymeleaf + layui 初尝试

一、背景 公司运营的同事有个任务,提供一个数据文件给我,然后从数据库中找出对应的加密串再导出来给他。这个活不算是很难,但时不时就会有需求。 同事给我的文件有时是给excel表格,每一行有4列,逗号隔开,…

type property can‘t be changed 报错问题解决

问题 在使用 jQuery的 attr 方法对 input 输入框的 type 类型进行修改的时候报 type property can’t be changed 这个错误。 $psd.attr(type,text)原因 jQuery 的版本问题,当前使用的 jQuery 版本不允许修改 input 的 type属性所以报错。 解决方法 换原生 js …

2023_Spark_实验二十五:SparkStreaming读取Kafka数据源:使用Direct方式

SparkStreaming读取Kafka数据源:使用Direct方式 一、前提工作 安装了zookeeper 安装了Kafka 实验环境:kafka zookeeper spark 实验流程 二、实验内容 实验要求:实现的从kafka读取实现wordcount程序 启动zookeeper zk.sh start# zk.sh…

【面试经典150 | 二叉树】对称二叉树

文章目录 写在前面Tag题目来源解题思路方法一:递归方法二:迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的…

云计算在数字营销中的作用是什么?

营销策略和云计算是一个为企业提供多种优势的系统。它使他们能够取得更大的成功,同时提高产量。这样做的原因是,可以从任何位置远程使用云集成工具和应用程序。基本上,该系统增强了存储设备和传播。同时,它减轻了公司 IT 网络的压…

上网行为审计软件丨紧盯小毛病,堵住大漏洞,守好钱袋子

上网行为审计软件是一种专门用于监控和分析员工或学生在计算机网络上的行为的软件。它可以帮助企业和家庭了解员工或学生的网络使用情况,发现和防止潜在的安全风险,提高工作效率和保护企业信息安全。 域之盾软件---上网行为审计系统的作用: …

排序-插入排序与希尔排序

文章目录 一、插入排序二、希尔排序 一、插入排序 思路: 当插入第i(i>1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[i-2],…的排序码顺序进行比较,找到插入位置即将…

导入自定义模块出现红色波浪线,但是能正常执行

问题描述: 导入自己定义的模块时,出现红色波浪线,可以继续执行 解决: 在存放当前执行文件的文件夹右键,然后将其设置为sources root即可 结果: