许多简单的概率分布在机器学习的众多领域中都非常有用,这个内容将分为两个部分来说明,第一个部分介绍伯努利分布、二项式分布、多项式分布及范畴分布,第二个部分介绍高斯分布、指数分布、Laplace分布、Dirac分布、经验分布及混合分布。
伯努利(Bernoulli)分布
伯努利分布是一种离散分布,有两种可能的结果:
- 1表示成功,出现的概率为ppp(其中0<p<10 \lt p \lt 10<p<1)。
- 0表示失败,出现的概率为q=1−pq=1-pq=1−p。
这种分布在机器学习中很有用,比如正面或反面,成功或失败,有缺陷或没有缺陷,病人康复或未康复。
可以用数学描述为:随机变量xxx只取0和1两个值,其概率为:
- P(x=1)=pP(x = 1) = pP(x=1)=p, P(x=0)=1−p=qP(x = 0) = 1 - p = qP(x=0)=1−p=q
数学期望和方差计算如下:
- E(x)=1∗p+0∗q=pE(x) = 1 * p + 0 * q = pE(x)=1∗p+0∗q=p
- E(x2)=12∗p+02∗q=pE(x^2) = 1^2 * p + 0^2 * q = pE(x2)=12∗p+02∗q=p
- D(x)=E(x2)−[E(x)]2=p−p2=p(1−p)=pqD(x) = E(x^2) - [E(x)]^2 = p - p^2 = p(1-p) = pqD(x)=E(x2)−[E(x)]2=p−p2=p(1−p)=pq
二项式(Binomial)分布
在nnn次独立重复的伯努利试验中,设每次试验成功的概率为ppp。用xxx表示nnn重伯努利试验中成功的次数,则xxx取值为{0,1,…,n}\{0, 1, \dots, n\}{0,1,…,n}中的一个。
对每一个k(0≤k≤n)k(0 \le k \le n)k(0≤k≤n),事件{x=k}\{x=k\}{x=k}表示“nnn次试验成功恰好发生kkk次”,随机变量xxx的离散概率分布即为二项分布(Binomial Distribution)。
典型例子为:扔硬币,硬币正面朝上概率为ppp, 重复扔nnn次硬币,kkk次为正面的概率即为一个二项分布概率。
用概率表示如下:
- P(x=k)=n!k!(n−k)!pk(1−p)n−kP(x = k) = \frac{n!}{k!(n-k)!}p^k(1-p)^{n-k}P(x=k)=k!(n−k)!n!pk(1−p)n−k
下图为不同参数下的二项式分布的图形:
多项式(Multinomial)分布
多项式分布是二项式分布的推广。将二项式分布推广至多种状态,就得到了多项式分布。举例说明如下:
- 二项式分布:扔硬币,硬币正面朝上概率为ppp, 重复扔nnn次硬币,kkk次为正面的概率。
- 多项式分布:扔骰子,不同于扔硬币,骰子有6个面对应6个不同的点数,这样单次每个点数朝上的概率都是16\frac{1}{6}61(对应p1p_1p1~p6p_6p6,它们的值不一定都是16\frac{1}{6}61,只要和为1且互斥即可,比如一个形状不规则的骰子),重复扔nnn次,如果问有kkk次都是点数6朝上的概率。
更一般化的描述如下:投掷nnn次骰子,这个骰子共有6种结果输出,1点出现概率为p1p_1p1,2点出现概率p2p_2p2,…\dots…;多项式分布给出了在nnn次试验中,骰子1点出现k1k_1k1次,2点出现k2k_2k2次,3点出现k3k_3k3次,…,6点出现k6k_6k6次。这个结果组合的概率为:
f(k1,k2,…,k6;n,p1,p2,…,p6)f(k_1, k_2, \dots, k_6;n, p_1, p_2, \dots, p_6)f(k1,k2,…,k6;n,p1,p2,…,p6)
=P(x1=k1,x2=k2,…,x6=k6)= P(x_1= k_1, x_2= k_2, \dots, x_6= k_6)=P(x1=k1,x2=k2,…,x6=k6)
=n!k1!k2!…k6!p1k1p2k2…p6k6= \frac{n!}{k_1!k_2! \dots k_6!}p_1^{k_1}p_2^{k_2} \dots p_6^{k_6}=k1!k2!…k6!n!p1k1p2k2…p6k6,
约束条件为∑i=16ki=n\sum_{i=1}^{6} k_i = n∑i=16ki=n.
为了更加简化,用Γ\GammaΓ函数来表示:
f(k1,k2,…,k6;n,p1,p2,…,p6)f(k_1, k_2, \dots, k_6;n, p_1, p_2, \dots, p_6)f(k1,k2,…,k6;n,p1,p2,…,p6)
=Γ(∑i=16ki+1)∏i=16Γ(ki+1)∏i=16piki=\frac{\Gamma(\sum_{i=1}^{6}k_i + 1)}{\prod_{i = 1}^{6}\Gamma(k_i + 1)}\prod_{i = 1}^{6}p_i^{k_i}=∏i=16Γ(ki+1)Γ(∑i=16ki+1)∏i=16piki.
【例题-1】同时投掷5枚骰子,投掷出2个一点,2个二点,1个三点的概率是多大?
【解答】
x1x_1x1~x6x_6x6表示6个点的出现次数之和为n=5n = 5n=5,利用多项式分布组合概率公式有:
P(x1=2,x2=2,x3=1,x4=0,x5=0,x6=0)P(x_1= 2, x_2= 2, x_3 = 1, x_4 = 0, x_5 = 0, x_6= 0)P(x1=2,x2=2,x3=1,x4=0,x5=0,x6=0)
=5!2!2!1!0!0!0!(16)2(16)2(16)1(16)0(16)0(16)0=\frac{5!}{2!2!1!0!0!0!}(\frac{1}{6})^{2}(\frac{1}{6})^{2}(\frac{1}{6})^{1}(\frac{1}{6})^{0}(\frac{1}{6})^{0}(\frac{1}{6})^{0}=2!2!1!0!0!0!5!(61)2(61)2(61)1(61)0(61)0(61)0
=51296=\frac{5}{1296}=12965
【例题-2】同时投掷5枚骰子,出现两对点数一样的概率是多少?
【解答】
在【例题-1】的基础之上,需要考虑x1x_1x1~x6x_6x6,其中2个取2,1个取1有多少种?
x1x_1x1 | x2x_2x2 | x3x_3x3 | x4x_4x4 | x5x_5x5 | x6x_6x6 |
---|---|---|---|---|---|
2 | 2 | 1 | 0 | 0 | 0 |
2 | 0 | 2 | 1 | 0 | 0 |
…\dots… | …\dots… | …\dots… | …\dots… | …\dots… | …\dots… |
先从6个里面选择2个取2,再从4个里面选出1个取1,总共有C62C41=60C_6^2C_4^1 = 60C62C41=60种。
出现两对点数一样的概率为5∗601296\frac{5 * 60}{1296}12965∗60 = 25108\frac{25}{108}10825。
范畴(Categorical)分布
范畴分布又称为Multinoulli分布、类别分布,它是多项式分布的一个特例。
抛一次骰子,第xkx_kxk面朝上的概率,这是Categorical分布。
小结:几种分布的关系
- 将一个小球放入两个桶,令变量 xxx 为第一个桶里面有的小球个数,那么只有 0 个或者 1 个,服从伯努利分布;
- 将 nnn个小球放入两个桶,令变量 xxx 为第一个桶里面的小球个数,那么最少可能有 0 个,最多可能有 nnn个,服从二项分布;
- 将一个小球放入 kkk个桶,令变量 x={x1,x2,…,xk}x = \{x_1, x_2, \dots, x_k\}x={x1,x2,…,xk} 为kkk个桶内的小球个数,xxx是一个One-hot形式的向量,因为这个小球只能在一个桶里面,服从Categorical分布;
- 将 nnn个小球放入 kkk个桶,令变量 x={x1,x2,…,xk}x = \{x_1, x_2, \dots, x_k\}x={x1,x2,…,xk} 为kkk个桶内的小球个数,xxx是一个向量,元素和为 nnn,服从多项分布。