1. 程式人生 > >機器學習:Multinoulli分佈與多項式分佈

機器學習:Multinoulli分佈與多項式分佈

學習深度學習時遇見multinoulli分佈,在此總結一下機器學習中常用的multinoulli分佈與多項式分佈之間的區別於關係,以便更好的理解其在機器學習和深度學習中的使用。

首先介紹一下其他相關知識。

Bernoulli分佈 (兩點分佈)

Bernoulli分佈是單個二值隨機變數的分佈x\in \left \{ 0,1 \right \}。它由單個引數\mu \in \left [ 0,1 \right ]控制,\phi給出了隨機變數等於1的概率。

                   P(X=1)=\mu

                   P(X=0)=1-\mu

                   P(X=x|\mu )=\mu ^{x}(1-\mu )^{1-x}

                   E[X]=\mu

                   Var[X]=\mu(1-\mu)

二項分佈(n重Bernoulli分佈)

二項分佈(binomial distribution)用以描述N次獨立的伯努利實驗中有m次成功(即x=1)的概率,其中每次伯努利實驗成功的概率為\mu \in \left [ 0,1 \right ]

                  P(m|N,u)=\binom{N}{m}\mu ^{m}(1-\mu )^{N-m}

                  E[X]=N\mu

                   Var[X]=N\mu(1-\mu)

多項分佈

若將伯努利分佈由單變數擴充套件為d維向量x,其中x_{i} = \left \{ 0,1 \right \}\sum_{i=1}^{d}x_{i}=1,並假設x_{i}取1的概率為\mu_{i} \in \left [ 0,1 \right ],\sum_{i=1}^{d}\mu_{i}=1,則將得到離散概率分佈

                P(x|\mu )=\prod_{i=1}^{d}\mu_{i}^{x^{i}}

                E[X_{i}]=\mu_{i}

                Var[X_{i}]=\mu_{i}(1-\mu)_{i}

在此基礎上擴充套件二項分佈則得到多項分佈(nultinomial distribution),它描述了在N次獨立實驗中有m_{i}x_{i}=1的概率。 

               P(m_{1},...,m_{d}|N,\mu )=\frac{N!}{m_{1}!...m_{d}!}\prod_{i=1}^{d}\mu_{i}^{m_{i}} 

multinoulli分佈(範疇分佈、分類分佈(categotical distribution))

mutinoulli分佈是指在具有k個不同狀態的單個離散型隨機變數上的分佈,其中k是一個有限值。 mutinoulli分佈由分佈向量p\in \left [ 0,1 \right ]^{k-1}引數化,其中每一個分量p_{i}表示第i個狀態的概率。最後的第k個狀態的概率可以通過1-1^{T}p給出。注意我們必須限制1^{T}p\leq 1。mutinoulli分佈經常用來表示物件分類的分佈,所以我們很少假設狀態1具有數值1之類的。因此我們通常不需要去計算mutinoulli分佈的隨機變數的期望和方差。

mutinoulli分佈是多項式分佈的一個特例。多項式分佈是\left \{ 0,...,n \right \}^{k}中的向量的分佈,用於表示當對mutinoulli分佈取樣n次時k個類中的每一個被訪問的次數。很多文章使用“多項式分佈”而實際上說的是mutinoulli分佈,但是他們並沒有說是對n=1(一次實驗)的情況,這點需要注意。大概意思就是說multinouli分佈進行一次實驗,得到了各個狀態k的概率分佈p,多項分佈是重複對multinoulli分佈進行n次取樣實驗,看k個類中每一個被取樣到的次數。我覺得很像bernoulli分佈與二項分佈的關係。(大家有不同想法的可以留言討論!)

參考文獻:

《概率論與數理統計》韓旭裡,謝永欽

《機器學習》周志華

《深度學習》Ian GoodFellow