【深度学习】S2 数学基础 P6 概率论

2024-02-18 01:12

本文主要是介绍【深度学习】S2 数学基础 P6 概率论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 基本概率论
    • 概率论公理
    • 随机变量
  • 多个随机变量
    • 联合概率
    • 条件概率
    • 贝叶斯定理
    • 求和法则
    • 独立性
  • 期望与方差
  • 小结

基本概率论

机器学习本质上,就是做出预测。而概率论提供了一种量化和表达不确定性水平的方法,可以帮助我们量化对某个结果的确定性程度。

在一个简单的图像分类任务中;

  • 如果我们非常确定图像中的对象是一只猫,那么我们可以说标签为 “猫” 的概率是 1,即 P ( y = “猫” ) = 1 P(y =“猫”) = 1 P(y=)=1;
  • 如果我们无法区分图像是猫还是狗,那么我们可以说两者出现的概率相等,即 P ( y = “猫” ) = P ( y = “狗” ) = 0.5 P(y =“猫”) = P(y =“狗”) = 0.5 P(y=)=P(y=)=0.5;
  • 如果我们对图像是否为猫不太确定,我们可以将概率设置在一个介于 0.5 和 1 之间的值,表示我们对其为猫的确定性程度不是完全的,但比完全不确定要高。

这种概率的量化和比较使得我们可以更加客观和量化地评估和处理不确定性。

概率论公理

概率论名词:

  • 样本空间:所有可能结果的集合;
  • 事件:给定样本空间的一个子集;
  • 概率:将集合映射到真实值的函数,反映了事件发生的可能性;

概率论公理:

  • 对于任意事件,其概率从不会是负数;
  • 整个样本空间的概率为 1;
  • 对于互斥事件(A、B、C互斥),有 P ( A ∪ B ∪ C ) = P ( A ) + P ( B ) + P ( C ) P(A∪B∪C)=P(A) + P(B) + P(C) P(ABC)=P(A)+P(B)+P(C)

随机变量

随机变量是将样本空间中的每个结果映射到一个实数集上的函数;

e . g . e.g. e.g. 以掷一个六面的骰子为例,其样本空间 S S S 包含所有可能的结果,即 S = { 1 , 2 , 3 , 4 , 5 , 6 } S = \{1, 2, 3, 4, 5, 6\} S={1,2,3,4,5,6}。我们定义一个随机变量 X X X,它将每个结果映射到一个实数。这里假设我们设定 X = x 2 + 1 X = x^2+1 X=x2+1,其中 x x x 为骰子的结果。

那么我们可以计算出每个结果对应的 X X X 值:

  • x = 1 x=1 x=1 时, X = x 2 + 1 = 2 X = x^2+1=2 X=x2+1=2
  • x = 2 x=2 x=2 时, X = x 2 + 1 = 5 X = x^2+1=5 X=x2+1=5
  • x = 3 x=3 x=3 时, X = x 2 + 1 = 10 X = x^2+1=10 X=x2+1=10
  • x = 4 x=4 x=4 时, X = x 2 + 1 = 17 X = x^2+1=17 X=x2+1=17
  • x = 5 x=5 x=5 时, X = x 2 + 1 = 26 X = x^2+1=26 X=x2+1=26
  • x = 6 x=6 x=6 时, X = x 2 + 1 = 37 X = x^2+1=37 X=x2+1=37

因此,离散随机变量 X X X 的可能取值为 {2, 5, 10, 17, 26, 37};在公平骰子的情况下,每个结果出现的概率是相等的,出现的概率都为 1 6 \frac 1 6 61


多个随机变量

联合概率

联合概率 P ( A = a , B = b ) P(A=a, B=b) P(A=a,B=b) 描述的是事件 A A A 发生且事件 B B B 也发生的概率。具体来说,它表示在所有可能的情况中,事件 A A A 结果为 a a a 且事件 B B B 结果为 b b b 的这种情况出现的概率是多少。

隐含在这个概念中的概率定律是,事件 A A A 和事件 B B B 同时发生的概率不会超过事件 A A A 或者事件 B B B 单独发生的概率。即 P ( A = a , B = b ) ≤ P ( A = a ) P(A=a, B=b) ≤ P(A=a) P(A=a,B=b)P(A=a)

条件概率

而联合概率不等式的变形:
0 ≤ P ( A = a , B = b ) P ( A = a ) ≤ 1 0 ≤ \frac {P(A=a, B=b)} {P(A=a)} ≤ 1 0P(A=a)P(A=a,B=b)1

这个比率称为条件概率,并用 P ( B = b ∣ A = a ) P(B=b|A=a) P(B=bA=a) 来表示。他是 B = b B=b B=b 的概率,前提是 A = a A=a A=a 已发生。

完整公式为: P ( B ∣ A ) = P ( A B ) P ( A ) P(B|A)=\frac {P(AB)} {P(A)} P(BA)=P(A)P(AB)

贝叶斯定理

根据条件概率的定义,我们可以得出统计学最有用的方程之一:Bayes 贝叶斯定理。
P ( A ∣ B ) = P ( B ∣ A ) ⋅ P ( A ) P ( B ) P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

贝叶斯定理的直观含义是,当我们观察到事件 B B B 发生时,事件 A A A 发生的概率会根据事件 B B B 发生的概率和对事件 A A A B B B 相关性的了解而改变。贝叶斯定理是一种强大的工具,可以帮助我们在有新的证据出现时更新我们对某个假设的信念。

求和法则

根据求和法则, P ( B ) = ∑ A P ( A , B ) P(B)=\sum_{A}P(A,B) P(B)=AP(A,B)

B B B 的概率相当于计算 A A A 的所有可能选择,并将所有选择联合概率聚合在一起。

独立性

如果两个随机变量 A A A B B B 是独立的,意味着事件 A A A 的发生跟事件 B B B 的发生无关。根据贝叶斯定理,马上就能得到 P ( A ∣ B ) = P ( A ) P(A|B)=P(A) P(AB)=P(A)

独立性的一个常见例子是抛硬币。抛掷一枚公平的硬币,事件 A A A 是出现正面,事件 B B B 是出现反面。因为硬币的每一面出现都是相互独立的,所以事件 A A A 发生不影响事件 B B B 发生的概率,反之亦然。因此,事件 A 和事件 B 是独立的。

独立性在统计学和概率论中非常有用,它简化了我们对事件之间关系的理解。如果我们知道两个事件是独立的,那么我们就可以将它们的概率分开来考虑,而不需要考虑它们之间的任何关系。


期望与方差

期望描述了一个随机变量在多次重复实验中平均可能取得的值。
E x P [ f ( x ) ] = ∑ x f ( x ) P ( x ) E_{x~P}[f(x)]=\sum _x f(x)P(x) Ex P[f(x)]=xf(x)P(x)

方差衡量的是随机变量分布中采样不同的 x x x 值时,函数值偏离该函数的期望的程度。
V a r [ f ( x ) ] = E [ ( f ( x ) − E [ f ( x ) ] ) 2 ] Var[f(x)]=E[(f(x)-E[f(x)])^2] Var[f(x)]=E[(f(x)E[f(x)])2]


小结

  • 我们可以从概率分布中采样;
  • 我们可以使用联合分布、条件分布、Bayes 定理、边缘化和独立性假设等来分析多个随机变量;
  • 期望和方差为概率分布的关键特征的概括提供了实用的度量形式。

以上
本节概率论内容全部为理论知识。实践部分将在后续博文中逐步展现。

2024.2.15

这篇关于【深度学习】S2 数学基础 P6 概率论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/719582

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置