机器学习领域必知必会的12种概率分布(附Python代码实现)

Python 实现 8 个概率分布公式及可视化! Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 阅读详情

640?wx_fmt=png

作者:graykode
编辑:机器之心

机器学习开发者需要了解的 12 种概率分布,这些你都了解吗?

机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。

与此同时,从更细的角度来说,随机变量的概率分布也是我们必须理解的内容。在这篇文章中,项目作者介绍了所有你需要了解的统计分布,他还提供了每一种分布的实现代码。

项目地址:https://github.com/graykode/distribution-is-all-you-need

640?wx_fmt=png

下面让我们先看看总体上概率分布都有什么吧:

640?wx_fmt=png

非常有意思的是,上图每一种分布都是有联系的。比如说伯努利分布,它重复几次就是二项分布,如果再扩展到多类别,就成为了多项式分布。注意,其中共轭(conjugate)表示的是互为共轭的概率分布;Multi-Class 表示随机变量多于 2 个;N Times 表示我们还会考虑先验分布 P(X)。

在贝叶斯概念理论中,如果后验分布 p(θ | x) 与先验分布 p(θ) 是相同的概率分布族,那么后验分布可以称为共轭分布,先验分布可以称为似然函数的共轭先验。

为了学习概率分布,项目作者建议我们查看 Bishop 的模式识别与机器学习。当然,你要是准备再过一遍《概率论与数理统计》,那也是极好的。

概率分布与特性

1. 均匀分布(连续型)

均匀分布是指闭区间 [a, b] 内的随机变量,且每一个变量出现的概率是相同的。

640?wx_fmt=png

2. 伯努利分布(离散型)

伯努利分布并不考虑先验概率 P(X),它是单个二值随机变量的分布。它由单个参数φ∈ [0, 1] 控制,φ 给出了随机变量等于 1 的概率。我们使用二元交叉熵函数实现二元分类,它的形式与对伯努利分布取负对数是一致的。

640?wx_fmt=png

3. 二项分布(离散型)

二项分布是由伯努利提出的概念,指的是重复 n 次独立的伯努利试验。在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立。

640?wx_fmt=png

4.Multi-Bernoulli 分布(离散型)

Multi-Bernoulli 分布又称为范畴分布(Categorical distribution),它的类别超过 2,交叉熵的形式与该分布的负对数形式是一致的。

640?wx_fmt=png

5. 多项式分布(离散型)

范畴分布是多项式分布(Multinomial distribution)的一个特例,它与范畴分布的关系就像伯努利分布与二项分布之间的关系。

640?wx_fmt=png

6.Beta 分布(连续型)

贝塔分布(Beta Distribution) 是一个作为伯努利分布和二项式分布的共轭先验分布的密度函数,它指一组定义在 (0,1) 区间的连续概率分布。均匀分布是 Beta 分布的一个特例,即在 alpha=1、 beta=1 的分布。

640?wx_fmt=png

7. 狄利克雷分布(连续型)

狄利克雷分布(Dirichlet distribution)是一类在实数域以正单纯形(standard simplex)为支撑集(support)的高维连续概率分布,是 Beta 分布在高维情形的推广。在贝叶斯推断中,狄利克雷分布作为多项式分布的共轭先验得到应用,在机器学习中被用于构建狄利克雷混合模型。

640?wx_fmt=png

8.Gamma 分布(连续型)

Gamma 分布是统计学中的常见连续型分布,指数分布、卡方分布和 Erlang 分布都是它的特例。如果 Gamma(a,1) / Gamma(a,1) + Gamma(b,1),那么 Gamma 分布就等价于 Beta(a, b) 分布。

640?wx_fmt=png

9. 指数分布(连续型)

指数分布可以用来表示独立随机事件发生的时间间隔,比如旅客进入机场的时间间隔、打进客服中心电话的时间间隔等等。当 alpha 等于 1 时,指数分布就是 Gamma 分布的特例。

640?wx_fmt=png

10. 高斯分布(连续型)

高斯分布或正态分布是最为重要的分布之一,它广泛应用于整个机器学习的模型中。例如,我们的权重用高斯分布初始化、我们的隐藏向量用高斯分布进行归一化等等。

640?wx_fmt=png

当正态分布的均值为 0、方差为 1 的时候,它就是标准正态分布,这也是我们最常用的分布。

11. 卡方分布(连续型)

简单而言,卡方分布(Chi-squared)可以理解为,k 个独立的标准正态分布变量的平方和服从自由度为 k 的卡方分布。卡方分布是一种特殊的伽玛分布,是统计推断中应用最为广泛的概率分布之一,例如假设检验和置信区间的计算。

640?wx_fmt=png

12. 学生 t-分布

学生 t-分布(Student t-distribution)用于根据小样本来估计呈正态分布且变异数未知的总体,其平均值是多少。t 分布也是对称的倒钟型分布,就如同正态分布一样,但它的长尾占比更多,这意味着 t 分布更容易产生远离均值的样本。

640?wx_fmt=png

分布的代码实现

上面多种分布的 NumPy 构建方式以及制图方式都提供了对应的代码,读者可在原项目中查阅。如下所示展示了指数分布的构建的制图方式,我们可以直接定义概率密度函数,再打印出来就好了。

import numpy as np
from matplotlib import pyplot as plt

def exponential(x, lamb):
    y = lamb * np.exp(-lamb * x)
    return x, y, np.mean(y), np.std(y)

for lamb in [0.5, 1, 1.5]:

    x = np.arange(0, 20, 0.01, dtype=np.float)
    x, y, u, s = exponential(x, lamb=lamb)
    plt.plot(x, y, label=r'$mu=%.2f, sigma=%.2f,'
                         r' lambda=%d$' % (u, s, lamb))
plt.legend()
plt.savefig('graph/exponential.png')
plt.show()

欢迎扫码关注:

640?wx_fmt=other

Python实现12种概率分布(附代码) 今天给大家带来的这篇文章是关于机器学习的,机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算 它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。 在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。 与此同时,从更细的角度来说,随机变量的概率分布也是我们必须理解的内容。在这篇文章中,项目作者介绍了所有你需要了解 的统计分布,他还提供了每一种分布的实现代码。 项目地址:https://github.com/grayk 阅读详情

相关推荐

Python编程:概率初探

概率是指某个事件发生的可能性大小,通常使用一个0到1之间的实数来表示。通过上述例子,我们可以看到Python在概率计算方面的灵活性和便利性。假设我们有一枚硬币,它有两面,一面是正面,一面是反面。当我们抛掷这个硬币时,正面朝上和反面朝上的概率都是50%。本文将以Python语言为例,介绍概率论的基本概念和应用,同时提供相应的代码实现。当我们掷骰子时,每个面出现的概率都是1/6。我们可以通过Python来模拟这个过程,并计算掷出每个数字的概率。接下来,我们将通过几个具体的例子来说明概率的应用。

与其临渊羡鱼,不如退而结网 427

Python概率分布大全(含可视化)

贝塔分布,二项分布,卡方分布,狄利克雷分布,指数分布,F分布,伽玛分布,几何分布,耿贝尔分布,超几何分布,拉普拉斯分布,逻辑斯谛分布 正态分布(高斯分布),对数正态分布,对数分布,多项分布,多元正态分布,负二项分布,非中心卡方分布,非中心F分布,帕累托分布,泊松分布 ,幂律分布,瑞利分布,柯西分布(洛伦兹分布),标准指数分布,标准伽马分布,标准正态分布,学生t分布,三角形分布,均匀分布

XerCis的博客 2万+

多重分形的matlab代码-Numerical-Lagrangian-Particle-Tracking-Bacteria:拉格朗日数值跟踪细

双重分形的matlab代码细菌湍流的数值拉格朗日跟踪和泰勒色散 Matlab代码,用于对拉格朗日方程式和相应的单个粒子色散(也称为泰勒色散)进行数值积分。 如果您在研究中使用这些代码,请引用以下论文。 @Article {Wensink2012PNAS,标题= {活液中尺度湍流},作者= {Wensink,Henricus H和Dunkel,J {“ o} rn和Heidenreich,Sebastian和Drescher,Knut和Goldstein,Raymond E和L {” o} wen,Hartmut和Yeomans,Julia M},期刊= {PNAS},年份= {2012},数字= {36},页数= {14308--14313},体积= {109},} @Article {Huang2017PoF,作者= {Huang,YX和Ou WY以及Chen M.和Lu ZM和Jiang N.以及Liu YL和Qiu X.和Zhou Q.},标题= {{泰勒在二维细菌湍流中的分散}},journal = {物理。 流体},年份= {2017},体积= {29},页= {051901

【概率论基础】机器学习领域必知必会的12种概率分布(附Python代码实现)

选自github作者:graykode编辑:机器之心机器学习开发者需要了解的 12 种概率分布,这些你都了解吗?机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们...

zenRRan的博客 246

Pure Persuit算法基础

Pure Persuit算法本身的原理不难理解,它主要基于几何原理进行的设备控制,本身不考虑太多的运动学约束。同时机器人的路径跟踪效果应该会比较依赖于预瞄点。对于曲线部分而言,如果曲率很小而预瞄点很远的话,对于曲线的跟随性应该会很差。对于直线而言,如果设备在开始时与轨迹有横向偏差,则在运动过程中机器人会逐渐收敛到曲线,但是收敛速度取决于预瞄点距离。

YiYeZhiNian的博客 1522

Opencv实战:答题卡自动识别与评分系统(附完整代码解析)

本文详细介绍了如何使用OpenCV实现答题卡自动识别与评分系统,包含完整的代码解析。通过图像预处理、边缘检测、透视变换和答案识别等关键技术,系统能够快速准确地完成阅卷工作,适用于学校考试、资格认证等多种场景,大幅提升工作效率。

weixin_33737134的博客 417

二项分布python实现_机器学习领域必知必会的12种概率分布(附Python代码实现)...

原标题:机器学习领域必知必会的12种概率分布(附Python代码实现)机器学习开发者需要了解的 12 种概率分布,这些你都了解吗?机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。与此同时,从更细的角度来说...

weixin_39637386的博客 710

Halcon 简单的形状匹配定位与区域跟随

【代码】Halcon简单的形状匹配定位与区域跟随。

唐大狗 2806

python计算卡方分布_机器学习领域必知必会的12种概率分布(附Python代码实现)...

选自github作者:graykode编辑:机器之心机器学习开发者需要了解的 12 种概率分布,这些你都了解吗?机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。与此同时,从更细的角度来说,随机变...

weixin_40001309的博客 810

从零开始搭建企业级安全扫描平台:基于Docker的Greenbone和ClamAV部署指南

本文提供了一份基于Docker容器技术,从零开始搭建企业级安全扫描平台的实战指南。详细介绍了如何部署和集成漏洞扫描工具Greenbone与病毒扫描工具ClamAV,涵盖架构设计、Docker环境优化、容器化部署步骤以及平台集成与监控方案,帮助企业构建自动化、可扩展的安全防御核心组件。

delta的博客 759

最新Python爬虫实战(入门爬虫篇)——案例13:某乎热榜数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过Python爬虫技术,成功实现了基于Cookies认证的某乎热榜数据爬取与Excel保存。代码采用模块化设计,包含Cookies解析、HTML请求、结构化解析、Excel持久化等完整流程;通过配置浏览器请求头+Cookies认证,有效突破某乎基础反爬策略,保证请求稳定性。整个爬虫逻辑遵循“Cookies认证 → 页面请求 → HTML解析 → 数据清洗 → 保存到Excel”的标准流程,与需要会话验证的网站爬取范式高度一致。Cookies解析与认证。

努力让自己发光,对的人才能迎着光而来 33万+

狄利克雷分布公式_机器学习领域必知必会的12种概率分布(附Python代码实现)...

机器学习开发者需要了解的 12 种概率分布,这些你都了解吗?机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。与此同时,从更细的角度来说,随机变量的概率分布也是我们必须理解的内容。在这篇文章中,项...

weixin_30125497的博客 1072

手把手教你学Simulink——基于经典PID控制的电机系统场景实例:永磁同步电机(PMSM) PID转速控制仿真

*永磁同步电机(PMSM)因其高效、高功率密度和良好的动态响应特性,在现代工业自动化、电动汽车驱动系统等领域得到了广泛应用。为了实现对PMSM的速度精确控制,通常采用矢量控制(Field Oriented Control, FOC)**策略,其中PID控制器是实现速度环和电流环调节的关键组件。本教程将带你使用构建一个基于PID控制的永磁同步电机转速控制系统仿真模型PMSM电机建模矢量控制(FOC)策略实现PID控制器设计系统仿真与调试控制效果分析本文介绍了如何使用构建一个。

MHD0815的博客 6952

统计学python分布族_机器学习领域必知必会的12种概率分布(附Python代码实现)...

选自github作者:graykode编辑:机器之心机器学习开发者需要了解的 12 种概率分布,这些你都了解吗?机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。与此同时,从更细的角度来说,随机变量的概率...

weixin_39830688的博客 187

Open-AutoGLM 实战:手把手教你用 AI 操作手机「喂饭教程」

Open-AutoGLM 是一个由智谱AI开源的手机操作智能体框架,由手机端智能助手框架Phone Agent和9B大小的模型AutoGLM-Phone-9B组成,借助ADB自动执行点击、滑动、输入等操作——用户只需用自然语言描述任务,系统便能自动规划并完成整个操作流程。

blues_C的博客 1268

Explorer.exe系统错误,电脑重启后刚开始一段时间正常,过一会桌面任务栏就卡死,可以打开任务管理器

联想E14Win10专业版。

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 8053

python 密度 语音_【概率论基础】机器学习领域必知必会的12种概率分布(附Python代码实现)...

选自github作者:graykode编辑:机器之心机器学习开发者需要了解的 12 种概率分布,这些你都了解吗?机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。与此同时,从更细的角度来说,随机变...

weixin_35426202的博客 135

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: 从概率统计到深度学习,四大技术路线图谱,都在这里!
下一篇: 做机器学习算法工程师是什么样的工作体验?
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值