社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

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

小白学视觉 • 3 月前 • 87 次点击  

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

重磅干货,第一时间送达

深度学习从业者,你需要知道概率分布相关的知识。这里有一份最常见的基本概率分布教程,大多数和使用 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
 
87 次点击