概率計算:把握機會
作者 白寧超
2015年10月14日18:35:23
摘要:程序員眼中的統計學系列是作者和團隊共同學習筆記的整理。首先提到統計學,很多人認為是經濟學或者數學的專利,與計算機並沒有交集。誠然在傳統學科中,其在以上學科發揮作用很大。然而隨着科學技術的發展和機器智能的普及,統計學在機器智能中的作用越來越重要。本系列統計學的學習基於《深入淺出統計學》一書(偏向代碼實現,需要讀者有一定基礎,可以參見后面PPT學習)。正如(吳軍)先生在《數學之美》一書中闡述的,基於統計和數學模型對機器智能發揮重大的作用。諸如:語音識別、詞性分析、機器翻譯等世界級的難題也是從統計中找到開啟成功之門鑰匙的。尤其是在自然語言處理方面更顯得重要,因此,對統計和數學建模的學習是尤為重要的。最后感謝團隊所有人的參與。( 本文原創,轉載注明出處:概率計算:把握機會 )
目錄
【程序員眼中的統計學(1)】 信息圖形化:第一印象
【程序員眼中的統計學(2)】集中趨勢度量:分散性、變異性、強大的距
【程序員眼中的統計學(3)】概率計算:把握機會
【程序員眼中的統計學(4)】離散概率分布的運用:善用期望
【程序員眼中的統計學(5)】排列組合:排序、排位、排
【程序員眼中的統計學(6)】幾何分布、二項分布及泊松分布:堅持離散
【程序員眼中的統計學(7)】正態分布的運用:正態之美
【程序員眼中的統計學(8)】統計抽樣的運用:抽取樣本
【程序員眼中的統計學(9)】總體和樣本的估計:進行預測
【程序員眼中的統計學(10)】假設檢驗的運用:研究證據
【程序員眼中的統計學(11)】卡方分布的應用
【程序員眼中的統計學(12)】相關與回歸:我的線條如何?
1 隨機試驗
1 隨機試驗的定義
我們將對自然現象的一次觀察或進行一次科學試驗稱為試驗。
2 隨機試驗的舉例
舉例1:硬幣試驗
E1: 拋一枚硬幣,觀察正(H)反(T) 面的情況。
E2: 將一枚硬幣拋三次,觀察正反面出現的情況。
E3: 將一枚硬幣拋三次,觀察出現正面的情況。
E4: 電話交換台一分鍾內接到的呼喚次數。
E5: 在一批燈泡中任取一只, 測試它的壽命。
舉例2:數學家去賭場
新聞:數學家3年賭贏156億人民幣,數學家在賭場里有什么優勢?
令19名數學家驚喜的是,雖然他們所掌握的那些高深數學知識在現實生活中似乎派不上多大用場,但竟然出人意料地在賭場上顯現出了巨大的威力!據悉,19名數學家參與的大多是賽馬、賽狗以及21點之類的賭博項目。而每次下注之前,他們會利用自己所精通的專業數學方法對各種中獎的概率進行推理演算,從而研究出某種“逢賭必贏”的秘笈!因為它的形態看起來合乎理想。在現實生活中,遇到測量之類的大量連續數據時,你“正常情況下”會期望看到這種形態。
2 樣本空間與隨機事件
1 樣本空間的定義
隨機試驗E的所有可能結果組成的集合稱為 E的樣本空間, 記為S。樣本空間的元素稱為樣本點,用ω表示(有限個或可列個)。
2 樣本空間的分類
離散樣本空間: 樣本點為有限個或可列個。例ω1, ω2等。
無窮樣本空間: 樣本點在區間或區域內取值。例:燈泡的壽命{t|t≥0}。
例如:只包含兩個樣本點的樣本空間。
S={H,T} 其中ω1:H, ω2:T
以上既可以作為拋擲硬幣出現正面或出現反面的模型, 也可以作為產品檢驗中合格與不合格的模型, 又能用於排隊現象中有人排隊與無人排隊的模型等。
3 實例分析
4 隨機事件
定義: 樣本空間S的子集稱為隨機事件,簡稱事件。在一次試驗中,當且僅當這一子集中的一個樣本點出現時,稱這一事件發生。
- 基本事件:由一個樣本點組成的單點集。如:{H},{T}。
- 復合事件:有兩個或兩個以上的基本事件復合而成的事件。如:E3中{出現正面次數為奇數}。
- 必然事件: 樣本空間S是自身的子集,在每次試驗中總是發生的,稱為必然事件。
- 不可能事件:空集φ不包含任何樣本點,它在每次試驗中都不發生,稱為不可能事件。
3 概率的概念
1 古典定義
可能概型的兩個特點:
(1)樣本空間的元素只有有限個;
(2)實驗中每個基本事件發生的可能性相同。
例如:擲一顆骰子,觀察出現的點數。
概率的古典定義:
對於古典概型,樣本空間S={w1, w2, … , wn},設事件A包含S的k個樣本點,則事件A的概率定義為
2 古典概型概率的計算步驟
(1) 選取適當的樣本空間S, 使它滿足有限等可能的要求, 且把事件A表示成S的某個子集.
(2) 計算樣本點總數n及事件A包含的樣本點數k.
(3) 用下列公式計算:
3 幾何定義
當隨機試驗的樣本空間是某個區域,並且任意一點落在度量 (長度, 面積, 體積) 相同的子區域是等可能的,則事件 A 的概率可定義為:P(A)=m(A)/m(Ω)其中m(Ω)是樣本空間的度量,m(A)是構成事件A的子區域的度量。借助於幾何上的度量來合理規定的概率稱為是幾何概率。
說明: 當古典概型的試驗結果為連續無窮多個時,就歸結為幾何概率。
4 幾何概型概率的性質
(1) 對任一事件A ,有0≤p(A)≤1;
(2) p(Ω)=1,p(∅)=0;
(3) 對於兩兩互斥的可列多個事件A1,A2, ,P(A1 + A2 + ) = P(A1 )+P( A2 )
4 維恩圖
概率計算有時很復雜,因此,用圖形方式表示概率往往十分有用。其中有一個辦法是這樣的:畫一個方框代表樣本空間S,然后畫幾個圓圈代表各個相關事件,這種圖稱為維恩圖。如下圖所示:
1 使用維恩圖求解問題的優缺點
優點: 在用圖形方式表現概率問題時,維恩圖會是一個很有用的工具,同時在集合的划分上也會有很大的幫助。(檢驗交集、表現互斥事件表現極佳)
不足: 不方便表現條件概率。(表現獨立性方面效果不好)
2 事件間的關系與事件的運算
5 概率公理化定義
概率定義
設S是樣本空間, E是隨機試驗. 對於E的每個事件A對應一個實數P(A), 稱為事件 A的概率, 其中集合函數P(.)滿足下列條件:
(1) 對任一事件A,有P(A)≥0; (非負性)
(2) P(S)=1;(規范性)
(3) 設A1,A2,…是兩兩互不相容的事件,則有P(A1A2…)=P(A1)+P(A2)+… (可列可加性)
概率的性質
性質1. p(Φ)=0
性質2. 若A1,A2.··· · · An是兩兩互不相容的事件,則P(A1UA2U....UAn)=P(A1)+P(A2)+.....+P(An)(可列可加性)
性質3. 若A包含於B,則有P(B-A)=P(B)-P(A);P(B)>=P(A)
性質4. 對於任意一個事件A, P(A)<=1
性質5. 對任一事件A, p(A')=1-P(A)
性質6. 對於任意兩事件A,B,有: P(AUB)=P(A)+P(B)-P(AB)
6 條件概率
1 條件概率的描述
設試驗E的樣本空間為S, A, B是事件, 要考慮在A已經發生的條件下B發生的概率, 這就是條件概率問題。
2 條件概率的定義
設A,B是兩個事件,且P(A)>0,稱: P(A|B)=P(AB)/P(A) (AB不獨立)
設A,B是兩個事件,且P(A)>0,稱: P(A|B)=P(A) (AB獨立)
3 條件概率的性質
性質1. 對於每一個事件B,有: 1>=P(B|A)>=0
性質2. P(S|A)=1
性質3. 設B1,B2· · ·兩兩互不相容,則 P(UBi|A)=∑P(Bi|A)
4 條件概率的計算方法
(1)公式法:
先計算P(A),P(AB),然后按公式計算P(B|A)=P(AB)/P(A)
(2)圖解法:利用概率樹求解
案例一:
圖圈餅店正在調查客戶購買圈餅和咖啡的概率,下面是一些線索,畫出概率樹並求解相應概率。以下是已知條件:
P(圈餅) = 3/4
P(咖啡|圈餅’) = 1/3
P(圈餅∩咖啡) = 9/20
計算過程:
P(咖啡|圈餅) = P(圈餅∩咖啡) / P(圈餅) = 3/5;
P(咖啡|圈餅`) = P(圈餅`∩咖啡) / P(圈餅`) = 1/3;
P(咖啡`|圈餅) = P(圈餅∩咖啡`) / P(圈餅) = 2/5;
P(咖啡`|圈餅`) = P(圈餅`∩咖啡`) / P(圈餅`) = 2/3;
5 使用概率樹求解問題的優缺點:
(1)優點: 能夠以圖形體現條件概率,同時幫助計算概率,利用分支結構,條理清楚,不易算錯。
(2)不足: 畫概率樹很浪費時間。
6 條件概率java實現:
/**
* 計算條件概率
*
* @param pOfA 概率P(A)
* @param pOfAB 概率P(AB)
* @return 概率P(B|A)
*/
public static float CondProFunc(float pOfA, float pOfAB){
String temp;
BufferedReader brd=new BufferedReader(new InputStreamReader(System.in));
while(true){
//請用戶輸入概率P(A)的值
System.out.print("Input the number of pOfA(輸入非零正整數):\n") ;
try{
temp=brd.readLine() ;
pOfA=Float.parseFloat(temp) ;//概率P(A)
//概率P(A)不能為0,不能是負數;
if (pOfA <= 0) {
System.out.println("輸入類型錯誤!已退出!") ;
return 0;
}
break;
}catch(Exception e){
System.out.println("對不起,只能輸入非零數,請重新輸入。") ;
}
}
System.out.println("你輸入的pOfA是: "+ pOfA) ;
while(true){
//請用戶輸入概率P(AB)的值
System.out.print("Input the number of pOfAB:\n") ;
try{
temp=brd.readLine() ;
pOfAB=Float.parseFloat(temp) ;//概率P(AB)
break;
}catch(Exception e){
System.out.println("對不起,只能輸入非零數,請重新輸入。") ;
}
}
System.out.println("你輸入的pOfAB是: "+ pOfAB) ;
return pOfAB/pOfA;
}
7 全概率公式
1 全概率公式的定義
設B1 ,B2 , ··· · · Bn 為S的一個划分,P(Bi)>0,(i = 1,2 · · ·,n),A為E的事件,則P(A) =∑P(Bi)P(A|Bi) ,稱為全概率公式。
2 全概率java實現
/**
* 計算全概率
* @param Bi 概率P(Bi);
* @param A_Bi 條件概率P(A|Bi);
* @return 返回全概率P(A);
*/
static float TotalProb(int num, float[] Bi, float[] A_Bi) {
float pA = 0;//全概率P(A)
for (int i = 0; i < num; i++) {
pA += A_Bi[i] * Bi[i];
}
return pA;
}
8 貝葉斯公式
1 貝葉斯公式的定義
設B1 ,B2 , ··· · · Bn 為S的一個划分,P(Bi)>0,(i = 1,2 · · ·,n),A是一個隨機事件,且P(A)>0,則有
稱為貝葉斯公式。
2 貝葉斯概率java實現
/**
* 計算貝葉斯概率
* @param Bi 概率P(Bi);
* @param A_Bi 條件概率P(A|Bi);
* @return 返回貝葉斯概率P(Bi|A);
*/
static float[] BayesProb(int num, float[] Bi, float[] A_Bi) {
float pA = 0;//全概率P(A)
Bi_A = new float[num];//概率P(Bi|A)
for (int i = 0; i < num; i++) {
pA += A_Bi[i] * Bi[i];
}
for (int i = 0; i < num; i++) {
Bi_A[i] = (A_Bi[i]*Bi[i])/pA ;
}
return Bi_A;
}
9 區分全概率公式與貝葉斯公式
1 從定義區分全概率公式與貝葉斯公式
全概公式:首先需要建立一個完備事件組,實際上全概率就是已知第一階段,然后再求第二階段,比如第一階段分A B C三種,然后A B C中均有D發生的概率,最后求D的概率P(D)=P(A)*P(D/A)+P(B)*P(D/B)+P(C)*P(D/C)
貝葉斯公式:貝葉斯其實就是已知第二階段,然后去反推第一階段的求后驗概率,這時候關鍵是利用條件概率公式做轉換。此時全概率作為分母。P(A/D)=P(AD)/P(D)=P(A)*P(D/A)/P(D)
2 通過案例區分全概率公式與貝葉斯公式
案例:
食用奶粉發生中毒事件,已知有三種品牌的奶粉,分別為:A. 三鹿 B. 伊利 C. 光明
問題一:已知在三種奶粉存在情況下,患病的概率。
問題二:已知在患病的前提下,求由於三鹿奶粉導致患病的概率。
解答:
1.全概公式: P(D)=P(A)*P(D/A)+P(B)*P(D/B)+P(C)*P(D/C)
2.貝葉斯公式:P(A/D)=P(AD)/P(D)=P(A)*P(D/A)/P(D)
10 獨立性
1 獨立性定義
設A,B是試驗E的兩事件,當P(A)>0, 可以定義P(B|A)=P(AB)/P(A)
一般地, P(B|A)≠P(B), 但當A的發生對B的發生的概率沒有影響時,有P(B|A)=P(B),由乘法公式有P(AB)=P(A)P(B|A)=P(A)P(B).
2 獨立性舉例
設試驗E為擲甲、乙兩枚硬幣,觀察正反面出現情況. 設A—“甲幣出現H”, B—“乙幣出現H”, 試求:B發生的條件下,A發生的概率
由定義可知:
1) 零概率事件與任何事件都是相互獨立的。
2) 由對稱性, A,B相互獨立, 必有B, A 相互獨立。
3 獨立性性質
設A,B是兩事件,且P(A)>0,則A,B相互獨立的充要條件是: P(B|A)=P(B).
有如下結論:
(1) 若A,B相互獨立,則 A與B',A‘與B,A'與B'也相互獨立。
(2)P(A)>0,P(B)>0, 則A,B相互獨立與A,B互斥不能同時成立。
11 總結
1 主要內容
樣本空間: 我們將隨機實驗E的一切可能基本結果組成的集合稱為E的樣本空間,記為S。樣本空間的元素,即E的每一個可能的結果,稱為樣本點。樣本空間又叫基本事件空間。
隨機事件具有的特點如下:
a.可以在相同的條件下重復進行;
b.每個試驗的可能結果不止一個,並且能事先預測試驗的所有可能結果;
c.進行一次試驗之前不能確定哪一個結果會出現。
概率的性質:
性質1. P(Φ)=0.
性質2. (有限可加性)當n個事件A1,…,An兩兩互不相容時: P(A1∪...∪An)=P(A1)+...+P(An).
性質3. 對於任意一個事件A:P(A)=1-P(非A).
性質4. 當事件A,B滿足A包含於B時:P(B-A)=P(B)-P(A),P(A)≤P(B).
性質5. 對於任意一個事件A,P(A)≤1.
性質6. 對任意兩個事件A和B,P(B-A)=P(B)-P(AB).
性質7. (加法公式)對任意兩個事件A和B,P(A∪B)=P(A)+P(B)-P(A∩B)
維恩圖: 維恩圖的適用場景是幫助我們做些簡單概率的計算,比如交集,並集,補集。但是過於復雜的概率計算,比如條件概率,並不適合用維恩圖來表示,這時,概率樹可以幫助我們計算條件概率。
全概率公式: 首先建立一個完備事件組,然后一定是在已知第一階段的基礎上,求第二階段事件發生的概率。
貝葉斯公式:貝葉斯其實就是已知第二階段,然后去反推第一階段的求后驗概率,這時候關鍵是利用條件概率公式做轉換。此時全概率作為分母。
事件的獨立性:最簡單就是利用P(AB)=P(A)P(B)來判斷,因為這一公式與事件獨立是充要條件,在實際應用中簡單方便。
特別要注意的是,A與B相互獨立,A與B互斥是不能同時成立的。
2 重點區分
全概率公式與貝葉斯公式的區別:在具體應用上結合題目要求,選擇恰當的公式求解,可以記住特例來判斷。
互斥事件與獨立事件的區別:互斥事件就是彼此相互制約,此發生彼就不能發生;獨立事件就是彼此發生與否沒有關系。