目录

更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:https://www.cnblogs.com/nickchen121/p/11686958.html

常见的概率分布模型

一、离散概率分布函数

离散概率分布也称为概率质量函数(probability mass function),离散概率分布的例子有

伯努利分布(Bernoulli distribution)

二项分布(binomial distribution)

泊松分布(Poisson distribution)

几何分布(geometric distribution)等

二、连续概率分布函数

连续概率分布也称为概率密度函数(probability density function),它们是具有连续取值(例如一条实线上的值)的函数,连续概率分布的例子有

正态分布(normal distribution)

指数分布(exponential distribution)

β分布(beta distribution)等

三、联合分布函数

给定一个随机变量\((X,Y)\),称定义域为整个平面的二元实值函数

\[F(x,y) = P(X\leq{x},Y\leq{y}) \quad -\infty\geq{x,y}\leq\infty
\]

该二元实值函数为随机变量\((X,Y)\)的分布函数,也可以称为是\((X,Y)\)的联合分布函数。

按照联合分布函数的定义,\(F(x,y)=P((X,Y)\in{D_{xy}})\),其中\(D_{xy}\)如下图所示

四、多项分布(Multinomial Distribution)

4.1 多项分布简介

多项分布是二项分布的推广,他们的区别是二项分布的结果只有\(0\)和\(1\)两种,多项式的结果可以有多个值。

多项分布的典型例子是掷骰子,6个点对应6个不同的数,每个点的概率都为\({\frac{1}{6}}\)

与二项分布类似,多项分布来自于\((p_1+p_2+\cdots+p_k)^n多项式的展开\)

4.2 多项分布公式解析

以掷骰子为例,掷骰子的时候掷\(1-6\)的概率都为\({\frac{1}{6}}\),记作\(p_1-p_6\),可以发现\(p_1+p_2+p_3+p_4+p_5+p_6=1\),现在把\(p_1+p_2+p_3+p_4+p_5+p_6\)记作做一次抽样各种事件发生的概率和,即可得\((p_1+p_2+p_3+p_4+p_5+p_6)^n=1^n\)为\(n\)次抽样所有事件相互组合对应的概率和,之后使用多项式展开(注:使用多项式定理展开,由于多项式定理不在本节提及范围内,不多赘述),如果它不是掷骰子,而是一个有\(n\)种可能的问题,会得到一个多项式展开的公式

\[P(X_1 = x_1,\ldots,X_k = x_k) = \begin{cases}
{\frac{n!}{x_1!\cdots{x_k!}}}(p^{x_1}\cdots{p^{x_k})} \quad when\sum_{i=1}^kx_i=n\\
0 \quad otherwise \\
\end{cases}
\]

这个多项式表示\(X_1\)出现\(x_1\)次,\(X_2\)出现\(x_2\)次,\(\ldots\),\(X_k\)出现\(x_k\)次的出现概率,这样就得到了上述所示的多项分布的多项展开式公式。

五、伯努利分布(Bernoulli Distribution)

5.1 伯努利分布简介

伯努利分布是一个二值离散分布,结果只有\(0\)和\(1\)两种。

随即变量\(X\)为\(1\)的概率为\(p\),则为\(0\)的概率为\(q=1-p\),可以用公式表示为

\[f(x) = p^x(1-p)^{1-x} = \begin{cases}
p, \quad\quad x=1 \\
1-p, \quad x=0 \\
\end{cases}
\]

5.2 伯努利分布的期望值和方差

伯努利分布的期望值为

\[\begin{align}
E(X) & = \sum_{i=0}^1x_if(x) \\
& = 1*p+0*(1-p) \\
& = p+0 \\
& = p \\
\end{align}
\]

伯努利分布的方差为

\[\begin{align}
D(x) & = \sum_{i=0}^1(x_i - E(x))^2f(x) \\
& = (1-E(x))^2*p + (0-E(x)^2*(1-p) \\
& = (1-p)^2*p + (0-p)^2*(1-p) \\
& = p - p^2 \\
& = p(1-p) \\
& = pq
\end{align}
\]

六、正态(高斯)分布(Normal(Gaussian) Distribution)

6.1 正态分布的概率密度函数图像

其中红线表示的是标准正态分布图像。

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
%matplotlib inline mu1 = 0
sig1 = 1
mu2 = 0
sig2 = 2 x = np.arange(-5, 5, 0.1)
y1 = stats.norm.pdf(x, mu1, sig1)
y2 = stats.norm.pdf(x, mu2, sig2)
plt.plot(x, y1, 'r-', label='$\mu=0,\sigma^2=1$')
plt.plot(x, y2, 'b-', label='$\mu=0,\sigma^2=2$')
plt.legend()
plt.show()

6.2 正态分布简介

正态分布也称作高斯分布,是最常见的一种分布,其概率密度函数为

\[f(x;\mu,\sigma) = {\frac {1} {\sqrt{2\pi\sigma^2}} } e^{(-{\frac {(x - \mu)^2} {2\sigma^2}})}
\]

如果一个随即变量\(X\)服从该分布,可以写作\(X ~ { N(\mu ,\sigma ^{2})} N(\mu, \sigma^2)\)。

当\(\mu=0,\sigma=1\)时的正态分布称作标准正态分布,这个分布能简化为

\[f(x) = \frac{1}{\sqrt{2\pi}} \, \exp\left(-\frac{x^2}{2} \right)
\]

标准正态分布曲线区间面积计算

\[f(|x-\mu|<\sigma) = 0.6826 \\
f(|x-\mu|<2\sigma) = 0.9544 \\
f(|x-\mu|<3\sigma) = 0.9974 \\
\]

6.3 中心极限定理与正态分布

  1. 中心极限定理1:把许多未知的小作用加起来看作一个变量,这个变量服从正态分布
  2. 中心极限定理2:“大量统计独立的随即变量的和”的分布趋于正态分布

七、泊松分布(Poisson Distribution)

7.1 泊松分布的概率质量函数图像

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
%matplotlib inline lambd = 2.5 x = np.arange(0, 10)
y = stats.poisson.pmf(x, lambd)
plt.plot(x, y, label='$\lambda=2.5$')
plt.legend()
plt.show()

八、二项分布(Binomial Distributio)

8.1 二项分布的概率质量函数图像

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
%matplotlib inline n = 8
p = 0.4 x = np.arange(0, 20)
y = stats.binom.pmf(x, n, p)
plt.plot(x, y, 'o-', label='$n=8,p=0.4$')
plt.legend()
plt.show()

8.2 二项分布简介

二项分布是\(n\)次独立的二值实验(伯努利实验)中成功的次数的离散值概率分布(\(n\)次伯努利实验,一次伯努利实验得到一个伯努利分布)。

随机变量\(X\)服从参数\(n\)和\(p\)的二项分布记作:\(B(n,p)\)。\(n\)次实验中\(k\)次成功的概率质量函数为

\[f(k;n,p) = C_n^kp^k(1-p)^{n-k}
\]

其中\(C_n^k\)是二项式系数:\(C_n^k = {\frac{n!}{k!(n-k)!}}\)

二项分布来源于牛顿二项式

\[(a+b)^n = \sum_{k=0}^nC_n^ka^kb^{n-k}
\]

8.3 二项分布与伯努利分布

  1. 二项分布的期望是伯努利分布期望的\(n\)倍

\[E(x) = np
\]

  1. 二项分布的方差是伯努利分布方差的\(n\)倍

\[D(x) = np(1-p)
\]

九、贝塔分布(Beta Distribution)

9.1 贝塔分布的概率密度函数图像

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline a = 0.4
b = 0.6 x = np.arange(0.01, 1, 0.01)
y = stats.beta.pdf(x, a, b)
plt.plot(x, y, label='a=0.4,b=0.6')
plt.show()

十、几何分布(负二项分布)(Geometric Distribution)

10.1 几何分布概率质量函数图像

十一、狄利克雷分布(多项分布的共轭分布)(Dirichlet distribution)

十二、超几何分布(Hypergeometric Distribution)

十三、指数分布(Exponential Distribution)

13.1 指数分布概率密度函数图像

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
%matplotlib inline lambd = 0.6 x = np.arange(0, 10, 0.1)
y = lambd * np.exp(-lambd*x)
plt.plot(x, y, label='$\lambda=0.6$')
plt.legend()
plt.show()

B-概率论-常见的概率分布模型的更多相关文章

  1. 【概率论】1-1:概率定义(Definition of Probability)

    title: [概率论]1-1:概率定义(Definition of Probability) categories: Mathematic Probability keywords: Sample ...

  2. BZOJ4001:[TJOI2015]概率论(卡特兰数,概率期望)

    Description Input 输入一个正整数N,代表有根树的结点数 Output 输出这棵树期望的叶子节点数.要求误差小于1e-9 Sample Input 1 Sample Output 1. ...

  3. HDU 4405 【概率dp】

    题意: 飞行棋,从0出发要求到n或者大于n的步数的期望.每一步可以投一下筛子,前进相应的步数,筛子是常见的6面筛子. 但是有些地方可以从a飞到大于a的b,并且保证每个a只能对应一个b,而且可以连续飞, ...

  4. Naive Bayes Algorithm

    朴素贝叶斯的核心基础理论就是贝叶斯理论和条件独立性假设,在文本数据分析中应用比较成功.朴素贝叶斯分类器实现起来非常简单,虽然其性能经常会被支持向量机等技术超越,但有时也能发挥出惊人的效果.所以,在将朴 ...

  5. 概率分布之间的推导关系 | Univariate Distribution Relationships

    Univariate Distribution Relationships APPL: A Probability Programming Language Maplesoft- Software f ...

  6. K-Means 聚类算法

    K-Means 概念定义: K-Means 是一种基于距离的排他的聚类划分方法. 上面的 K-Means 描述中包含了几个概念: 聚类(Clustering):K-Means 是一种聚类分析(Clus ...

  7. 主元分析PCA理论分析及应用

    首先,必须说明的是,这篇文章是完完全全复制百度文库当中的一篇文章.本人之前对PCA比较好奇,在看到这篇文章之后发现其对PCA的描述非常详细,因此迫不及待要跟大家分享一下,希望同样对PCA比较困惑的朋友 ...

  8. 蒙特卡罗算法(Monte Carlo method)

    蒙特卡罗方法概述 蒙特卡罗方法又称统计模拟法.随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.将所求解的问题同一 ...

  9. 贝叶斯A/B测试 - 一种计算两种概率分布差异性的方法过程

    1. 控制变量 0x1:控制变量主要思想 科学中对于多因素(多变量)的问题,常常采用控制因素(变量)的方法,吧多因素的问题变成多个单因素的问题.每一次只改变其中的某一个因素,而控制其余几个因素不变,从 ...

随机推荐

  1. git连接远程分支

    今天在再用git连接到远程的dev分支的时候出现了下面的情况 $ git checkout -b dev origin/dev fatal: 'origin/dev' is not a commit ...

  2. Java之多线程(一)

    一,前言 ​ 今天总结一些关于线程方面的知识,说到线程可谓是无人不知,毕竟这东西不管是在工作开发中,还是实际生活中都时时存在着.关于线程方面的内容非常多,从简单的单线程,多线程,线程安全以及到高并发等 ...

  3. SpringBoot整合ActiveMQ,看这篇就够了

    ActiveMQ是Apache提供的一个开源的消息系统,完全采用Java来实现,因此它能很好地支持JMS(Java Message Service,即Java消息服务)规范:本文将详细介绍下Activ ...

  4. 【Offer】[54] 【二叉搜索树的第k小节点】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 给定一棵二叉搜索树,请找出其中第k小的节点.例如,在下图的二叉搜索树里,按节点数值大小顺序,第三小节点的值是4.  牛客网刷题地址 思 ...

  5. Vue组件间通信方式

    一.Props传递数据 在父组件中使用子组件,本质通过v-bind绑定属性传入子组件,子组件通过props接收父组件传入的属性 <template> <div> 父组件:{{m ...

  6. spring boot启动加载项CommandLineRunner

    spring boot启动加载项CommandLineRunner 在使用SpringBoot构建项目时,我们通常有一些预先数据的加载.那么SpringBoot提供了一个简单的方式来实现–Comman ...

  7. FreeSql (八)插入数据时指定列

    插入数据时指定列,和忽略列对应,未被指定的列将被忽略. var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Passwor ...

  8. apache ignite系列(九):使用ddl和dml脚本初始化ignite并使用mybatis查询缓存

    博客又断了一段时间,本篇将记录一下基于ignite对jdbc支持的特性在实际使用过程中的使用. 使用ddl和dml脚本初始化ignite 由于spring-boot中支持通过spring.dataso ...

  9. Genymotion模拟器的安装及脚本制作

    在上一篇博文中,讲到这一篇会介绍Genymotion的安装方式.大家都知道,Genymotion是一个模拟器,获取会质疑了,直接连接真机就好了,为何还要配置模拟器?我也是用真机实践后,才选择安装的模拟 ...

  10. 多线程——Callable接口

    package pers.aaa.callable; import java.util.concurrent.Callable; public class MyCallable implements ...