Py学习  »  机器学习算法

深度学习必须掌握的 13 种概率分布

小白学视觉 • 10 月前 • 480 次点击  

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

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

一、概率分布的关系概览


  • conjugate 意味着它有共轭分布的关系。
  • Multi-Class表示随机方差大于 2。

  • N Times意味着我们还考虑先验概率 P(X)。

  • 为了进一步了解概率,我建议阅读 [pattern recognition and machine learning,Bishop 2006]。

在贝叶斯概率论中,如果后验分布 p(θx)与先验概率分布 p(θ)在同一概率分布族中,则先验和后验称为共轭分布,先验称为似然函数的共轭先验。共轭先验维基百科在这里(https://en.wikipedia.org/wiki/Conjugate_prior)。无损原图可见:https://github.com/graykode/distribution-is-all-you-need/blob/master/overview.pptx
二、分布概率与特征
1. 均匀分布(连续)
均匀分布在 [a,b] 上具有相同的概率值,是简单概率分布。
2. 伯努利分布(离散)
  • 先验概率 p(x)不考虑伯努利分布。因此,如果我们对最大似然进行优化,那么我们很容易被过度拟合。

  • 利用二元交叉熵对二项分类进行分类。它的形式与伯努利分布的负对数相同。

3. 二项分布(离散)
  • 参数为 n 和 p 的二项分布是一系列 n 个独立实验中成功次数的离散概率分布。
  • 二项式分布是指通过指定要提前挑选的数量而考虑先验概率的分布。
    """各分布的生成代码(算法进阶 附注):https://github.com/graykode/distribution-is-all-you-needCode by Tae-Hwan Hung(@graykode)"""import numpy as npfrom matplotlib import pyplot as plt
    import operator as opfrom 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()
4. 多伯努利分布,分类分布(离散)
  • 多伯努利称为分类分布。
  • 交叉熵和采取负对数的多伯努利分布具有相同的形式。
5. 多项式分布(离散)
多项式分布与分类分布的关系与伯努尔分布与二项分布的关系相同。
6. β分布(连续)
  • β分布与二项分布和伯努利分布共轭。
  • 利用共轭,利用已知的先验分布可以更容易地得到后验分布。
  • 当β分布满足特殊情况(α=1,β=1)时,均匀分布是相同的。
7. Dirichlet 分布(连续)
  • dirichlet 分布与多项式分布是共轭的。
  • 如果 k=2,则为β分布。
8. 伽马分布(连续)
  • 如果 gamma(a,1)/gamma(a,1)+gamma(b,1)与beta(a,b)相同,则 gamma分布为β分布。
  • 指数分布和卡方分布是伽马分布的特例。
9. 指数分布(连续)
指数分布是 α 为 1 时 γ 分布的特例。
10. 高斯分布(连续)
高斯分布是一种非常常见的连续概率分布。
11. 正态分布(连续)
正态分布为标准高斯分布,平均值为 0,标准差为 1。
12. 卡方分布(连续)
  • k 自由度的卡方分布是 k 个独立标准正态随机变量的平方和的分布。

  • 卡方分布是 β 分布的特例

13. t 分布(连续)
t 分布是对称的钟形分布,与正态分布类似,但尾部较重,这意味着它更容易产生远低于平均值的值。

代码:https://github.com/graykode/distribution-is-all-you-need/


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/170901
 
480 次点击