当前位置: 首页 > article >正文

深度学习--概率

1 基本概率论

1.1 假设我们掷骰子,想知道1而不是看到另一个数字的概率,如果骰子是公司,那么所有6个结果(1..6),都有相同的可能发生,因此,我们可以说1发生的概率为1/6.

然而现实生活中,对于我们从工厂收到的真实骰子,我们需要检查它是否有瑕疵,唯一办法就是多投掷骰子对于每个骰子观察到[1.2...6]概率随着投掷次数增加越来越接近1/6.

导入必要的

%matplotlib inline

import torch

from torch.distributions import multinomial

from d2l import torch as d2l

统计学中我们把概率分布中抽取样本过程称为抽样笼统地说可以吧分布看作是概率分配稍后我们给出更加正式定义概率分配给一些离散选择分布称为多项分布

为了抽样一个样本掷骰子我们只需要输入一个概率向量输出是另一个相同长度的向量索引i采样结果i出现次数

fair_probs = torch.ones([6])/8;

multinomial.Multinomial(), fair_probs).sample()

tensor(0,1,0,0,0,0);

估计一个骰子公平性我们希望同一分布中生成多个样本如果pythonfor循环完成这个任务速度慢得惊人因此我们使用深度学习框架函数同时抽取多个样本得到我们想要任何形状独立样本数组

multinomial.Multinomial(10,fair_probs).sample()

tensor([1,1,2,1,3,2]);

现在我们知道如何骰子进行抽样我们可以模拟1000投掷然后我们可以统计1000投掷每个数组投中多少次具体来说我们计算相对频率作为真实概率估计。

将结果存储32浮点进行除法

counts=multinomial.Multinomial(1000, fair_probs).sample();

counts / 1000;

tensor([0.1500,0.1770,0.1540,0.1000,0.1790,0.1600]);

因为我们从一个公平骰子生成数据我们知道每个结果都有真实概率1/6约为0.167所以上面输出估计值看起来不错

我们也可以看到这些概率如何随着时间推移收敛真实概率我们进行500实验抽取10样本

每条实线对应骰子6一个并给出骰子实验出现估计概率当我们更多实验获得更多数据6实体曲线真实概率收敛

概率论公理

处理骰子掷出结果我们集合S=(1,2,3,4,5,6)称为样本空间 结果空间其中每个元素都是结果事件一组样本空间随机结果例如看到5看到奇数都是掷骰子有效事件注意如果一个随机试验结果A事件A已经发生也就是说如果掷出3因为3 < {1,3,5} 我们可以说看到奇数事件发生了

概率 可以认为集合映射到真实函数给定样本空间S事件A概率表示P(A),具有一下属性

1 对于任意事件A概率不会负数P(A) >= 0

2 整个样本空间概率1P(S) = 1

3 序列任意一个事件发生概率等于他们各自发生概率

随机变量

在我们掷骰子随机试验中我们引入随机变量random variable概率随机变量几乎可以任何数值并且可以随机试验一组可能性一个考虑一个随机变量X掷骰子样本空间S={1,2,3,4,5,6} 我们可以事件看到一个5

表示{X=5}X=5概率表示P{X=5}或者P(X=5) 通过P(X=a) 我们可以区分随机变量XX可以然而这可能导致繁琐表示为了简化符号一方面我们可以P(X) 表示随机变量X分布(distribution) 分布告诉我们X取得某一概率另一方面我们可以简单P(a) 表示随机变量取值a概率由于概率论事件来自样本空间一组结果因此我们可以随机变量指定取值范围例如P(1<<X<<3)表示事件(1<<X<<3) (X=1,2,3)概率等价P(1<<X<<3)表示随机变量X{1,2,3}概率

离散随机变量连续(continnuous) 随机变量之间微妙区别现实生活中测量两个人是否具有相同身高没有太大意义如果我们进行足够精确测量最终会被发现这个星球没有两个人具有完全相同身高在这种情况下询问某人身高是否落入给定区间比如是否1.79-1.81更有意义我们这个看到某个数值可能性量化密度(density)身高恰好1.8概率为0 但是密度不是0在任何两个不同身高之间区间我们都有非零概率其余部分我们考虑离散空间概率连续随机变量概率可以参考本书英文附录

2.6.2 处理多个随机变量

很多时候我们会考虑多个随机变量比如我们可能需要疾病症状之间关系建模给定一个疾病一个症状比如流感咳嗽某个概率存在或者不存在某个患者身上我们需要估计这些概率以及概率之间关系以便我们可以运用我们推断实现更好医疗服务

再举一个例子图像包含数百万像素因此数百万随机变量在许多情况下图像附带一个标签label标识图像中对象我们也可以标签视为一个随机变量我们甚至可以所有数据视为随机变量例如位置时间光圈焦距ISO距离相机类型所有这些都是联合发生随机变量当我们处理多个随机变量会有若干变量是我们感兴趣


http://www.kler.cn/a/597186.html

相关文章:

  • kind(Kubernetes IN Docker)
  • git的底层原理
  • 设计和布局硬件电路是嵌入式系统开发的重要环节
  • 学习记录-js进阶-性能优化
  • 安全守护:反光衣检测技术的革新之路
  • Python深度学习环境配置指南:PyTorch、CUDA、cuDNN详解
  • SSH密钥认证 + 文件系统权限控制 + Git仓库配置+封存与解封GIT仓库
  • Redis 全攻略:从基础操作到 Spring Boot 集成实战
  • uniapp可拖拽消息数徽标draggable-badge,仿手机qq聊天列表未读数徽标动效
  • 【第12节】windows sdk编程:动态链接库与静态库
  • AI代码编辑器:Cursor和Trae
  • git tag以及git
  • 有序数组双指针问题
  • OpenCV-Contrib常用扩展模块
  • 【保姆级】Ubuntu 24.04安装Docker
  • 计数组合型dp(四种小球盒子问题总结)
  • 深入理解Linux网络随笔(五):深度理解本机网络I/O
  • 希尔排序
  • vim的一般操作(分屏操作) 和 Makefile 和 gdb
  • 实验10决策树