數據來自於一個不徹底清楚的過程。以投擲硬幣爲例,嚴格意義上講,咱們沒法預測任意一次投硬幣的結果是正面仍是反面,只能談論正面或反面出現的機率。在投擲過程當中有大量會影響結果的不可觀測的變量,好比投擲的姿式、力度、方向,甚至風速和地面的材質都會影響結果。也許這些變量其實是能夠觀測的,但咱們對這些變量對結果的影響缺少必要的認知,因此退而求其次,把投擲硬幣做爲一個隨機過程來建模,並用機率理論對其進行分析。微信
機率有時也被解釋爲頻率或可信度,可是在平常生活中,人們討論的機率常常包含着主觀的因素,並不老是能等同於頻率或可信度。好比有人分析中國足球隊打進下次世界盃的機率是10%,並非說出現的頻率是10%,由於下次比賽尚未開始。咱們其實是說這個結果出現的可能性,因爲是主觀的,所以不一樣的人將給出不一樣的機率。函數
在數學上,機率研究的是隨機現象背後的客觀規律。咱們對隨機沒有興趣,感興趣的是經過大量隨機試驗總結出的數學模型。當某個試驗能夠在徹底相同的條件下不斷重複時,對於任意事件E(試驗的可能結果的集合,事件是集合,不是動做),結果在出如今E中的次數佔比趨近於某個常量,這個常數極限是事件E的機率,用P(E)表示。學習
咱們須要對現實世界建模,將現實世界的動做映射爲函數,動做結果映射爲數。好比把投硬幣看做f(z),z是影響結果的一系列不可觀測的變量,x 表示投硬幣的結果,x = f(z)。f是一個肯定的函數,若是可以獲得該函數的形態,咱們就能對結果進行精確預測,但因爲咱們對x和z之間的映射關係缺乏瞭解,因此沒法對f建模,只能定義X來描述該過程是由機率分佈P(X=x)抽取的隨機變量。spa
在討論貝葉斯決策以前先來複習一下機率的基礎知識。3d
隨機變量一般用實數表示機率事件,它具備隨機性,會隨環境而改變,對於隨機變量的每個取值,都有一個與之惟一對應的機率。一般用大X表示隨機變量,好比X={投擲硬幣的結果},X={公司第一季度的銷售額}。orm
離散型變量的機率分佈能夠用機率質量函數(probability mass function,PMF)來描述。一般用大寫的P來表示機率質量函數。機率質量函數把隨機變量可以取得的每一個值都映射到該值對應的機率,好比P(X=x)表示隨機變量等於x的機率,這裏X表示隨機變量自己,x表示某一個固定的取值。blog
離散型隨機變量是的取值是有限的,好比投骰子的結果,X=每次投骰子的結果。每一個隨機變量都有一個與之對應的機率,好比投骰子時P(X=1)=1/6,P(X=3)=1/6;再好比P(X=1)=1/4,1表示「今年會發年終獎」。事件
對於任意實數a,離散型隨機變量X的機率分佈函數是:ci
其中P是機率質量函數,P(a) = P(X=a),能夠簡單地把機率分佈理解爲機率的累加。數學
隨機變量可能不止一個,好比{X=汽車發動機功率,Y=汽車價格}。咱們對多個隨機變量以及它們之間的關係一樣感興趣,它們的聯合分佈是:
假設有兩個離散型隨機變量X和Y,而且已知P(X,Y),能夠用下式定義X=x的邊緣機率:
連續型隨機變量的取值是連續的,好比水杯中水的真實體積,它的值多是從0~1000ml中的任意取值(包括小數)。咱們用機率密度函數(probability density function,PDF)而不是質量函數來描述它的機率分佈。一般用小寫字母p表示機率密度函數,p的定義域是全部隨機變量的可能的取值,一個常見的密度函數是正態分佈函數。
對於單變量連續型機率分佈來講:
p和表示機率的質量函數P不一樣,p不是機率,p(x)dx纔是機率。
對於二維隨機變量來講,p(x,y)是密度函數,聯合機率分佈是:
邊緣密度天然是固定一個變量,對另外一個作積分:
實際上這與離散型相似,只不過用積分代替了求和。邊緣密度也不是機率,px(a)dx纔是機率。
隨機變量X的指望是指大量試驗中X的加權平均值,用E[X]表示:
若是隨機試驗僅有兩個可能的結果,那麼這兩個結果能夠用0和1表示,此時隨機變量X將是一個0/1的變量,其分佈是單個二值隨機變量的分佈,稱爲伯努利分佈。注意伯努利分佈關注的是結果只有0和1,而無論觀測條件是什麼。
設p是隨機變量等於1的機率,伯努利分佈有一些特殊的性質:
將上面的兩個式子合併:
伯努利變量是離散型,而且是一個0/1變量,它的數學指望是:
方差是:
不少時候,咱們感興趣的是某個事件在給定其它事件時出現的機率,這種機率稱爲條件機率。給定X=x,Y=y,在x條件下下發生y的機率是P(y|x):
這其實是由下式推導來的:
x和y同時發生的機率等於x條件下發生y的機率(這裏x和y都是給定的值,x條件下還能夠發生其餘事件)乘以x發生的機率。這裏並未強調X和Y是獨立的,因此P(x|y)≠P(y|x),只有當兩者互相獨立時,P(y|x)=p(xy)=P(x|y)。
貝葉斯公式常見的一個版本:
不少時候,求P(A|B)很困難,但求P(B|A)卻很容易。上面的公式其實是條件機率公式簡單的推導:
當兩個變量聯合分佈時:
分母其實是隨機變量Y=B時的邊緣機率:
人們一直經過尋找證據的方式來排除陌生領域的不肯定性,並在不肯定的條件下進行決策,而機率正是根據有意義的證據進行推理的一種方式。
假設咱們有一個關於小汽車的樣本集,其中包含m個樣本,每一個樣本都有發動機功率和價格兩個特徵,這些汽車可分爲兩類,跑車和普通家用車。在這個集合中,汽車的類型能夠用伯努利隨機變量C表示,C=1表示家用車,C=0表示豪華車。發動機功率和價格做爲可觀測的條件,是一個二維隨機變量,X=(x1; x2)。若是咱們可以知道質量函數,當面對一組觀測條件的向量x=(x1; x2)時,就能夠作出相似下面的預判:
在x條件下,當汽車是家用車的機率大於50%時,判斷該汽車是家用車,不然判斷爲豪華車。
如今的問題是如何求得P(C|x)的分佈模型。根據貝葉斯規則:
P(C|x)是後驗機率,意思是根據觀測條件判斷C取值類型的機率,是咱們的目標。
P(C)是預先知道的,它是根據數據集中m個樣本的標籤統計而來的,與x無關。這裏「無關」的意思是說,咱們只經過標籤就能夠計算出P(C),而不是說特徵真的和標籤無關——要是真的無關也就不必創建模型了。因爲咱們在看到x前就已經知道了P(C),所以稱P(C)爲先驗機率,而且有P(C = 0) + P(C = 1) = 1。
P(x|C)是似然,P(x|C=1)表示在家用車的前提下,發動機功率和價格有多大可能性是x。P(x|C)也能夠經過訓練數據獲得(具體方法將在後續文章詳細講述)。值得注意的是,在實際應用中,x一般是更多維的,且每一維度都有不少取值,所以隨機變量的取值空間遠遠大於訓練集的樣本數,這就致使觀測條件的許多取值沒有出如今訓練樣本中,而「沒有出現」和「出現的機率是0」並非一回事,這意味着P(x|C)實際上也沒法經過已知的數據求得(變通方法將在後續文章詳細講述)。
P(x)是證據,是可觀測條件X=x的邊緣機率:
能夠看到,P(x)實際上就是x出如今數據集中的機率,與C有多少個取值無關。證據的一個做用是使後驗機率規範化,使得:
也許代入具體的公式會更清晰:
貝葉斯規則告訴咱們:
只要知道了後驗機率,就能夠根據觀測條件作出決策。
以手寫數字識別爲例,隨機變量X是手寫輸入的圖像,Ci(i=1,2,…,10)表示被識別出數字的分類,C1~C9表示1~9,C10表示數字0,共10個分類,K = 10。數據集中已經有了大量的圖像和對應的分類:
對於先驗機率P(Ci)來講:
假設先驗和似然是已知的,對於任意一個輸入x,被識別爲Ci類的機率是:
對於每一個輸入,都能獲得K=10個後驗機率。如今有一個潦草的輸入:
暫且認爲是地球文字,而且中第一個字符的真實含義是7,對於該字符的識別將產生10個後驗機率:
其中最大的一個值是P(C2|x),所以選擇C2做爲最終決策:
在這個例子中,因爲字跡潦草,識別系統對x作出了錯誤的決策。對於醫療診斷來講,決策是相當重要的,也許把每7天檢查一次當作2天檢查一次沒什麼大不了,可是反過來就可能耽誤患者的治療,這意味着每一個決策對應的風險是不一樣的。
爲了判斷風險的大小,須要將其數字化。咱們定義R(Ci|x)是把輸入x指派到Ci類的決策所帶來的風險。λik是x實際上屬於Ck時把x指派到Ci的損失,好比本例中字符的真實含義是7(x屬於C7),但識別系統將x指派到了C2,此時的損失是λ27。結合指望的概念,指望風險(expected risk)R(Ci|x)是:
指望風險的另外一個名稱是指望損失(expected loss),在決策論中一般用「指望風險」一詞。λik是根據領域知識定義的,搶銀行失敗的風險和考試失敗的風險固然不一樣。
咱們選擇指望風險最小的決策做爲最終決策:
正確的決策沒有損失,即λii=0,但錯誤的損失各不相同,把2天服藥一次看做3天服藥一次也許損失不大,可是看做7天服藥一次可就要命了。
一種最簡單的損失函數是0-1損失函數:
在0-1損失函數下,結合①,把輸入x指派到Ci的決策帶來的指望風險是:
「正確的決策沒有損失」這句話並不徹底正確,由於存在例外,好比在「老媽和女友同時掉進水中先救誰」這種送命題中,不管怎麼選會有損失,此時你可讓「最佳決策」有一個相對較小的損失。鑑於送命題的答案是一個玄學問題,咱們姑且認爲在絕大多數狀況下,正確的決策沒有損失。
P(C2|x)=0.54是全部P(Ci|x)中最大的一個,表示x有比一半多一點的機率是C2,近似於瞎蒙,這意味着這是一個肯定性很低(或錯誤率很高)的決策。在醫療診斷中,錯誤的決策每每意味着極高的代價,所以對這些肯定性很低的決策可能須要更高級別的處理,好比人工干預。這就須要定義一個拒絕(reject)或疑惑(doubt)動做d,此時帶有疑惑動做的0-1損失函數是:
λ是疑惑動做的損失(注意λ和λik不是一回事)。疑惑的風險是:
值得注意的是,咱們處理的仍然是K分類,疑惑動做和其餘的普通決策雖然站在一塊兒,但並不等價。之因此定義d,是因爲對全部P(Ci|x),1 ≤ i ≤ K來講,即便最大的一個P(Ci|x)仍然可能只有很低的置信度,①仍然成立,把x劃分到Ci的風險仍然是②。
對於帶有疑惑的決策來講:
把②和③代入的第一個分式:
λ的取值應該在(0, 1)之間,若是λ ≤ 0,那麼對於第一個分式來講,P(Ci|x) > 1 – λ 永遠不會成立,這意味着識別系統老是對輸入產生疑惑;若是λ ≥ 1,則永遠不會拒絕,加入疑惑動做就沒有意義了。
出處:微信公衆號 "我是8位的"
本文以學習、研究和分享爲主,如需轉載,請聯繫本人,標明做者和出處,非商業用途!
掃描二維碼關注做者公衆號「我是8位的」