深度学习从业者,你需要知道概率分布相关的知识。这里有一份最常见的基本概率分布教程,大多数和使用 python 库进行深度学习有关。
一、概率分布的关系概览

在贝叶斯概率论中,如果后验分布 p(θx)与先验概率分布 p(θ)在同一概率分布族中,则先验和后验称为共轭分布,先验称为似然函数的共轭先验。共轭先验维基百科在这里(https://en.wikipedia.org/wiki/Conjugate_prior)。无损原图可见:https://github.com/graykode/distribution-is-all-you-need/blob/master/overview.pptx均匀分布在 [a,b] 上具有相同的概率值,是简单概率分布。
- 参数为 n 和 p 的二项分布是一系列 n 个独立实验中成功次数的离散概率分布。
- 二项式分布是指通过指定要提前挑选的数量而考虑先验概率的分布。
"""
各分布的生成代码(算法进阶 附注):
https://github.com/graykode/distribution-is-all-you-need
Code by Tae-Hwan Hung(@graykode)
"""
import numpy as np
from matplotlib import pyplot as plt
import operator as op
from functools import reduce
def const(n, r):
r = min(r, n-r)
numer = reduce(op.mul, range(n, n-r, -1), 1)
denom = reduce(op.mul, range(1, r+1), 1)
return numer / denom
def binomial(n, p):
q = 1 - p
y = [const(n, k) * (p ** k) * (q ** (n-k)) for k in range(n)]
return y, np.mean(y), np.std(y)
for ls in [(0.5, 20), (0.7, 40), (0.5, 40)]:
p, n_experiment = ls[0], ls[1]
x = np.arange(n_experiment)
y, u, s = binomial(n_experiment, p)
plt.scatter(x, y, label=r'$\mu=%.2f,\ \sigma=%.2f$' % (u, s))
plt.legend()
plt.savefig('graph/binomial.png')
plt.show()
多项式分布与分类分布的关系与伯努尔分布与二项分布的关系相同。- 利用共轭,利用已知的先验分布可以更容易地得到后验分布。
- 当β分布满足特殊情况(α=1,β=1)时,均匀分布是相同的。
-
如果 gamma(a,1)/gamma(a,1)+gamma(b,1)与beta(a,b)相同,则 gamma分布为β分布。
正态分布为标准高斯分布,平均值为 0,标准差为 1。
t 分布是对称的钟形分布,与正态分布类似,但尾部较重,这意味着它更容易产生远低于平均值的值。代码:https://github.com/graykode/distribution-is-all-you-need/