摘要:本次就和大家聊一聊深度學習中的機率。
本文分享自華為雲社群《【MindSpore易點通】深度學習中的機率》,作者: chengxiaoli。
為什麼會用到機率呢?因為在深度學習中經常會需要處理隨機的資料,或者包含隨機性的任務,隨機性也來自非常多的方面,所以在存在不確定性的情況下,都需要用到機率。本次就和大家聊一聊深度學習中的機率。
隨機變數
首先我們來認識下隨機變數。變數我們應該都很熟悉,例如在Python語言中,變數會關聯並表示一個固定的值;那麼隨機變數也很好理解,就是可以隨機的表示不同值的變數,例如x1和x2都是隨機變數X可能取到的值,這種情況而言,一個隨機變數只是對可能狀態的描述,並且這個描述必須搭配一個機率分佈來表達每個取值的可能性。
隨機變數可以可以分為兩種情況:連續的和離散的。連續的隨機變數伴隨著實數值;離散的隨機變數擁有有限或者可數無限多的狀態,這些狀態並不一定是整數形式,也可以是一些被命名的狀態而沒有數值。這也是連續隨機變數和離散隨機變數的區別。
機率分佈
介紹完了隨機變數,那麼隨機變數如何表示呢?答案是機率分佈。機率分佈就是用來表示連續隨機變數或者離散隨機變數其中一段中,每個可能取到的值的可能性大小,描述機率分佈的方式也取決於隨機變數是連續的還是離散的。下面我們就分析這兩種情況下的機率分佈。
連續型隨機變數:當我們面對的是連續型隨機變數時,這時會用到機率密度函式,那麼什麼是機率密度函式呢,我們假設一個函式P,那麼P需要滿足以下三個條件。
·p的定義範圍必須是X所有可能狀態的集合;
·p(x)≥0,但並不一定要p(x)≤1;
·∫p(x)d(x)=1。
連續型隨機變數的機率密集型函式p(x)不會直接給出不同狀態下的機率,而是透過計算p(x)所在區域面積的值表示機率,因此可以對機率密度函式求積分計算出特定狀態下的真實機率質量。x落在集合S中的機率可以透過對這個集合積分得到,那麼在單變數的例子中,x落在[a,b]的機率則是∫[a,b]p(x)d(x)。
離散型隨機變數:如果我們面對的是離散型變數的機率分佈,那麼就可以用機率質量函式進行計算,這裡用大寫P表示。一般每一個隨機變數都會有一個不同的機率質量函式,並且必須根據隨機變數推斷出所使用的機率質量函式。
機率質量函式把隨機變數可以取得的每一個值對映到隨機變數取得該狀態的機率,X=x的機率用P(x)進行表示。
·P(x)=1表示X=x是一定發生的;
·P(x)=0表示X=x是不可能發生的。
機率質量函式可以同時作用在多個隨機變數。多個變數的機率分佈也可以稱為聯合機率分佈。P(X=x,Y=y)表示的X=x和Y=y同時發生的機率,這也可以簡寫為P(x,y)。
如果函式P是隨機變數X的機率質量函式,函式需要滿足以下三個條件。
·P的定義範圍必須是X所有可能狀態的集合;
·0≤P(x)≤1,不可能發生的事件機率為0,一定發生的機率為1;
·∑P(x)=1,保障某一個狀態機率不會大於1。
假設一個離散型隨機變數X有k個不同的取值,我們可以假設X屬於均勻分佈的,也就是取得每一個值的可能性是相同的,因此推斷出機率質量函式為:
P(X=xi)=1/k
該函式對所有的i都成立,符合成為機率質量函式的條件。
邊緣機率:在我們知道一組變數的聯合機率分佈,但是想要了解其中一個子集的機率分佈。這種定義在子集上的機率分佈被稱為邊緣機率計算。
假設有離散型隨機變數x和y,並且我們知道P(x,y),如果我們需要計算P(x),那麼可以透過求和的辦法進行計算。將X=x時,Y=y1、y2、…yi…yn的機率累加求出來。
總結
本次內容給大家分享了深度學習中的機率,分析了機率的兩種分佈型別:連續型和離散型,以及兩種機率分佈函式要滿足的條件和計算方法。