多项式概率分布

其由二项分布推广而来,从而更加普遍。所以我们先回顾一下二项分布。

二项分布的典型例子是扔硬币,设硬币正面朝上概率为 p p p, 重复扔 n n n次硬币,记硬币正面朝上的次数为 X X X,显然 X X X是一个随机变量,且服从二项分布,即 X ∼ B ( n , p ) X\sim B(n,p) X∼B(n,p)。

把二项分布推广至两种以上的状态,就得到了多项分布。

比如做一次实验,结果有k种可能,各自的概率为 ( p 1 , … , p k ) (p_1,\ldots ,p_k) (p1​,…,pk​),同样,重复做n次实验,记各种状态出现的次数为 ( X 1 , … , X k ) (X_1,\ldots ,X_k) (X1​,…,Xk​),显然,这些都是随机变量,且服从多项分布,即 ( X 1 , … , X k ) ∼ P N ( n : p 1 , … , p k ) (X_1,\ldots ,X_k)\sim PN(n:p_1,\ldots ,p_k) (X1​,…,Xk​)∼PN(n:p1​,…,pk​),显然有关系: X 1 + … + X k = n X_1+\ldots +X_k=n X1​+…+Xk​=n,另外,其中PN即poly nomial的意思,也是多项式的意思。

python实战:

import torch
p=torch.tensor([0.2,0.1,0.7])
torch.multinomial(p,2,replacement=True)#表示进行两次重复实验,各个状态的概率分布是p

我们重复运行两次,得到如下结果:
在这里插入图片描述
上面表示第一次得到了0.2概率的那个状态,第二次得到了0.7概率的那个状态。下面这个同样分析。
在这里插入图片描述

分类分布

分类分布(categorical distribution)好简单,就是多项式概率分布的特殊情况,即n=1的时候;另外一个观点就是扩展了的两点分布,也即扩展了的伯努利分布。

import torch
p=torch.tensor([0.2,0.1,0.7])
torch.multinomial(p,1,replacement=True)#取n=1就是分类分布。

在这里插入图片描述

或者,torch里面有一个专门的分类分布,有兴趣可以看看。

cdis=tdc.Categorical(torch.tensor([0.2,0.1,0.7]))
cdis.sample()

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐