【研究生随笔】PyTorch中的概率论

  • 会使用到的包:
python 复制代码
import torch as torch
from torch.distributions import multinomial

构建一个简单的概率样例:

python 复制代码
import torch as torch
from torch.distributions import multinomial
A = torch.Tensor([1,2,3,4,5,6]) # 创建一个包含六个元素的张量,用米给后面做采样
print(multinomia1.Multinomial(1,A).samp1e()) # 意思是在张量的六个元内做一次采样
'''
输出:tensor([0.,0.,0.,1.,0.,0.])
'''

如果换成其他采样次数的话:

python 复制代码
import torch as torch
from torch.distributions import multinomial
A = torch.Tensor([1,2,3,4,5,6]) # 创建个包含六个元系的张量,用来给后面做采样
print(multinomia1.Multinomial(6, A).sample()) # 意思是在张量的六个元素内做一次采样
'''
输出:tensor([0.,1.,0.,2.,1.,2.])
'''

然后将输出的结果除以采样次数,就可以得到相应的概率。

  • 在给定的样本空间 S 中,事件A的概率,表⽰为 P (A),满⾜以下属性:
    ○ 对于任意事件 A,其概率从不会是负数,即 P (A) ≥ 0;
    ○ 整个样本空间的概率为 1,即 P (S) = 1;
    ○ 对于互斥(mutually exclusive)(对于所有 i ≠ j 都有 A_i ∩ A_j = ∅)事件的任意⼀个可数序列 A_1,A_2...,序列中任意⼀个事件发⽣的概率等于它们各⾃发⽣的概率之和,即
  • 联合概率 (joint probability) P(A = a; B = b)。给定任何值 a 和 b, 联合概率可以回答, A = a和 B = b 同时满⾜的概率是多少? 请注意,对于任何 a 和 b 的取值, P(A = a; B = b) ≤ P(A = a)。这点是确定的,因为要同时发⽣ A = a 和 B = b, A = a就必须发⽣, B = b也必须发⽣(反之亦然)。因此, A = a 和B = b 同时发⽣的可能性不⼤于 A = a 或是 B = b 单独发⽣的可能性。

这个⽐率为条件概率(conditional probability),并⽤ P(B = b j A = a) 表⽰它:它是 B = b 的概率,前提是 A = a 已发⽣。

Bayes 定理 (Bayes'theorem)。它如下所⽰。通过构造,我们有 乘法规则, P(A,B) = P(B | A)P(A)。根据对称性,这也适⽤于 P(A,B) =P(A | B)P(B)。假设 P(B) > 0,求解其中⼀个条件变量,得到如下:

  • 边际化:就是从P(A,B)中确认出P(B)(B 的概率相当于计算 A 的所有可能选择,并将所有选择的联合概率聚合在⼀起)
  • 两个随机变量 A 和 B 是独⽴的,就是说事件 A 的发⽣不会透露有关 B 事件的发⽣情况的任何信息。通常将这⼀点描述为 A ⊥ B。根据⻉叶斯定理,就能得到 P(A | B) = P(A)。称之为两事件相互独立。由于 P(A | B) =(P(A,B))/(P(B)) = P(A) 等价于 P(A,B) = P(A)P(B),因此两个随机变量是独⽴的当且仅当两个随机变量的联合分布是其各⾃分布的乘积。
  • 期望方差:(基本上都是一些公式,随便记一下就好了,知道是干嘛的就行)用来概括概率分布的关键特征的度量形式。
    为了概括概率分布的关键特征,就需要⼀些测量⽅法(期望)。随机变量 X 的 期望表⽰为:

    加入f(x)的输入是从P中抽取的随机变量时,f(x)的期望为:

    可以通过方差来量化随机变量x与其期望的偏置:

    方差的平方根叫做标准差,随机变量函数的⽅差衡量的是,当从该随机变量分布中采样不同值 x 时,函数值偏离该函数的期望的程度:
  • 总结:
    可以从概率分布中采样;
    可以使⽤联合分布、条件分布、 Bayes 定理、边缘化和独⽴性假设来分析多个随机变量。
相关推荐
想你依然心痛3 分钟前
ModelEngine·AI 应用开发实战:从智能体到可视化编排的全栈实践
人工智能·智能体·ai应用·modelengine
KIKIiiiiiiii4 分钟前
微信个人号API二次开发中的解决经验
java·人工智能·python·微信
哈哈你是真的厉害7 分钟前
解构 AIGC 的“核动力”引擎:华为 CANN 如何撑起万亿参数的大模型时代
人工智能·aigc·cann
DeniuHe8 分钟前
Pytorch中的直方图
pytorch
Ekehlaft8 分钟前
这款国产 AI,让 Python 小白也能玩转编程
开发语言·人工智能·python·ai·aipy
哈__9 分钟前
CANN多模型并发部署方案
人工智能·pytorch
深鱼~10 分钟前
Attention机制加速实战:基于ops-transformer的性能优化
深度学习·性能优化·transformer·cann
予枫的编程笔记12 分钟前
【Linux入门篇】Linux运维必学:Vim核心操作详解,告别编辑器依赖
linux·人工智能·linux运维·vim操作教程·程序员工具·编辑器技巧·新手学vim
慢半拍iii12 分钟前
对比分析:ops-nn与传统深度学习框架算子的差异
人工智能·深度学习·ai·cann
心疼你的一切14 分钟前
解构CANN仓库:AIGC API从底层逻辑到实战落地,解锁国产化AI生成算力
数据仓库·人工智能·深度学习·aigc·cann