目錄html
更新、更全的《機器學習》的更新網站,更有python、go、數據結構與算法、爬蟲、人工智能教學等着你:http://www.javashuo.com/article/p-vozphyqp-cm.htmlpython
離散機率分佈也稱爲機率質量函數(probability mass function),離散機率分佈的例子有算法
伯努利分佈(Bernoulli distribution)數據結構
二項分佈(binomial distribution)機器學習
泊松分佈(Poisson distribution)函數
幾何分佈(geometric distribution)等學習
連續機率分佈也稱爲機率密度函數(probability density function),它們是具備連續取值(例如一條實線上的值)的函數,連續機率分佈的例子有網站
正態分佈(normal distribution)人工智能
指數分佈(exponential distribution)spa
β分佈(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}\)以下圖所示
多項分佈是二項分佈的推廣,他們的區別是二項分佈的結果只有\(0\)和\(1\)兩種,多項式的結果能夠有多個值。
多項分佈的典型例子是擲骰子,6個點對應6個不一樣的數,每一個點的機率都爲\({\frac{1}{6}}\)
與二項分佈相似,多項分佈來自於\((p_1+p_2+\cdots+p_k)^n多項式的展開\)
以擲骰子爲例,擲骰子的時候擲\(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\)次的出現機率,這樣就獲得了上述所示的多項分佈的多項展開式公式。
伯努利分佈是一個二值離散分佈,結果只有\(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} \]
伯努利分佈的指望值爲
\[ \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} \]
其中紅線表示的是標準正態分佈圖像。
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()
正態分佈也稱做高斯分佈,是最多見的一種分佈,其機率密度函數爲
\[ 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 \\ \]
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()
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()
二項分佈是\(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} \]
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()
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()