贝叶斯定理、显著性检验、p值关系、分类
現(xiàn)實(shí)生活中,我們經(jīng)常需要利用測得數(shù)據(jù)來進(jìn)行預(yù)測,當(dāng)然希望預(yù)測越準(zhǔn)確越好。利用概率知識(shí)進(jìn)行建模,假設(shè)測得數(shù)據(jù)為 DDD ,希望對(duì)假設(shè) HHH 進(jìn)行驗(yàn)證。比如,判斷一些數(shù)據(jù)是否是正態(tài)分布。根據(jù)拋硬幣結(jié)果判斷硬幣是否是公平的,疾病檢測中結(jié)果為陽性是否患病。根據(jù)現(xiàn)場證據(jù)嫌疑人是否有罪等等。
我們希望預(yù)測準(zhǔn)確,其實(shí)是要求條件概率 P(H∣D)P(H|D)P(H∣D) 趨近 1,即數(shù)據(jù) D 幾乎必然支持假設(shè) H。但很可惜的是,絕大部分情況下,我們很難直接計(jì)算該概率!比如根據(jù)一些數(shù)據(jù)判斷為其為正態(tài)分布的概率,根據(jù)圖像進(jìn)行分類。但反概率 P(D∣H)P(D|H)P(D∣H) 往往比較容易計(jì)算。我們?nèi)祟愑袝r(shí)很容易混淆這兩個(gè)條件概率!例如:H 為患病,D 為檢測是陽性,則 P(H∣D)P(H|D)P(H∣D) 為檢測是陽性時(shí)患病的概率, P(D∣H)P(D|H)P(D∣H) 為如果患病則檢測為陽性的概率。再如:H 為死亡,D 為上吊,則 P(H∣D)P(H|D)P(H∣D) 為上吊時(shí)死亡的概率, P(D∣H)P(D|H)P(D∣H) 為死亡的人有多少是上吊死的,顯然 P(H∣D)P(H|D)P(H∣D) 趨近 1,因?yàn)橛猩系醢l(fā)現(xiàn)得早被救活,P(D∣H)P(D|H)P(D∣H) 趨近 0,因?yàn)楝F(xiàn)代人基本都是病死的。
怎么利用易于計(jì)算的反概率 P(D∣H)P(D|H)P(D∣H) 來得到 P(H∣D)P(H|D)P(H∣D) 呢?貝葉斯定理即可。根據(jù)條件概率公式
P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/P(D)P(H|D) = P(H \& D)/P(D) = P(D|H)P(H)/P(D) P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/P(D)
這就是著名的貝葉斯定理。
現(xiàn)實(shí)中又碰到難題,即使 P(D∣H)P(D|H)P(D∣H) 易于計(jì)算,但 P(H),P(D)P(H),P(D)P(H),P(D) 的概率不好給出。概率 P(H)P(H)P(H) 是沒有數(shù)據(jù) D 之前,你對(duì)假設(shè) H 的信念程度,信念程度越高,則概率越大,稱為先驗(yàn)概率。P(D)P(D)P(D) 是數(shù)據(jù) D 出現(xiàn)的概率。舉例說明, H 為患病,D 為檢測是陽性,則 P(H)P(H)P(H) 就是人群得這種病的比例,P(D)P(D)P(D) 是人群檢測為陽性的概率。
現(xiàn)在到了進(jìn)退兩難的地步,要采用貝葉斯,則 P(H),P(D)P(H),P(D)P(H),P(D) 不容易得到;不采用貝葉斯, P(H∣D)P(H|D)P(H∣D) 無法計(jì)算。
此時(shí)人類采用了最最無奈的方法—無根據(jù)的近似!!即認(rèn)為概率 P(H)/P(D) 近似等于 1 !!則 P(H∣D)≈P(D∣H)P(H|D) \approx P(D|H)P(H∣D)≈P(D∣H) 。注意絕大部分情況下,這兩個(gè)條件概率不是近似相等的,大部分是差別很大的,有可能差別千萬倍。
由于采用了這個(gè)無根據(jù)的近似,所以即使當(dāng) P(D|H) 接近 1,也不能說明 P(H|D) 較大或接近 1,所以任何情況下,都得不出數(shù)據(jù)D支持假設(shè)H成立的結(jié)論。另一極端情況是 P(D|H) 接近 0,也不能說明 P(H|D) 較小或接近 0,所以任何情況下,也得不出數(shù)據(jù)D否定假設(shè)H成立的結(jié)論。所以嚴(yán)格的說,在不知道P(H),P(D)P(H),P(D)P(H),P(D) 的情況下,數(shù)據(jù) D 對(duì)假設(shè) H 不能提供有效信息。
所以為了硬是得到一些信息,人為規(guī)定, P(D|H) 接近 0,有可能說明 P(H|D) 較小或接近 0,這樣數(shù)據(jù) D 就能否定假設(shè) H,即可以拒絕假設(shè) H。 P(D|H) 為多少就可以認(rèn)為接近 0 呢?這個(gè)就是仁者見仁的問題,因?yàn)檫@兩個(gè)概率成正比關(guān)系,則 P(D|H) 越小 P(H|D) 越小,則本來 H是正確的,但被拒絕為真的情況發(fā)生的概率越低。常用的值為 0.05,這對(duì)應(yīng)于正態(tài)分布時(shí),數(shù)據(jù)位于2倍方差之外的概率。更嚴(yán)格時(shí)要求 0.01,甚至萬分之一或更小。這個(gè)值就是顯著性。p值就是條件概率 P(D|H)的值。所以即使在極度近似下,顯著性檢驗(yàn)也只有證偽的功能,即認(rèn)為假設(shè)H不成立,而絕對(duì)沒有證明的功能,即認(rèn)為假設(shè)H成立。
所以大家就理解了即使 p值很低,也不能保證假設(shè)H就一定不成立,有時(shí)也是成立的,只要 P(H)/P(D) 遠(yuǎn)大于 1 即可。
所以不能把顯著性檢驗(yàn)作為確定可靠的方法!
所以不能把顯著性檢驗(yàn)作為確定可靠的方法!
所以不能把顯著性檢驗(yàn)作為確定可靠的方法!
那什么情況下數(shù)據(jù)具有證明的功能呢?下面是個(gè)人見解,可能有誤。
貝葉斯定理
P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/P(D)P(H|D) = P(H \& D)/P(D) = P(D|H)P(H)/P(D) P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/P(D)
對(duì)分母進(jìn)行全概率展開得
P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/[P(D∣H)P(H)+P(D∣Hˉ)P(Hˉ)]P(H|D) = P(H \& D)/P(D) = P(D|H)P(H)/[P(D|H)P(H)+P(D|\bar H)P(\bar H)] P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/[P(D∣H)P(H)+P(D∣Hˉ)P(Hˉ)]
Hˉ\bar HHˉ 是假設(shè) H的反假設(shè),比如 H是數(shù)據(jù)為正態(tài)分布,則 Hˉ\bar HHˉ 是數(shù)據(jù)不成正態(tài)分布,可以是任意別的分布。 H是人患病,則 Hˉ\bar HHˉ 是人健康。
顯然當(dāng) P(D∣Hˉ)P(Hˉ)?P(D∣H)P(H)P(D|\bar H)P(\bar H) \ll P(D|H)P(H)P(D∣Hˉ)P(Hˉ)?P(D∣H)P(H) 成立時(shí),不管P(D|H)為何值,都有 P(H|D) 趨近 1,此時(shí)數(shù)據(jù) D 支持假設(shè) H。
由 P(D∣Hˉ)P(Hˉ)?P(D∣H)P(H)P(D|\bar H)P(\bar H) \ll P(D|H)P(H)P(D∣Hˉ)P(Hˉ)?P(D∣H)P(H) 得
P(D∣Hˉ)/P(D∣H)?P(H)/P(Hˉ)=L(H)P(D|\bar H)/P(D|H) \ll P(H)/P(\bar H)=L(H) P(D∣Hˉ)/P(D∣H)?P(H)/P(Hˉ)=L(H)
其中 L(H)是假設(shè)H和反假設(shè)Hˉ\bar HHˉ 概率之比,此值一般遠(yuǎn)小于 1,為什么呢?例如 H 是數(shù)據(jù)為正態(tài)分布,則 Hˉ\bar HHˉ 是數(shù)據(jù)不成正態(tài)分布,可以是任意別的分布,顯然 P(H) 很小,而 P(Hˉ)P(\bar H)P(Hˉ) 很大。H是人患某種罕見病,則 P(H) 很小,而 P(Hˉ)P(\bar H)P(Hˉ) 是不患該罕見病的概率,顯然很大。另一個(gè)角度思考,科學(xué)上需要大膽假設(shè),小心求證。小心求證即要求 L(H) 遠(yuǎn)小于 1。如果假設(shè) P(H) 很大,即沒有任何證據(jù)之前就認(rèn)為假設(shè)H成立的概率很高,那還需要證明嗎?也即 L(H) 遠(yuǎn)大于 1 時(shí),P(D∣Hˉ)/P(D∣H)?L(H)P(D|\bar H)/P(D|H) \ll L(H)P(D∣Hˉ)/P(D∣H)?L(H) 很容易成立,從而支持假設(shè)H。
所以
P(D∣Hˉ)/P(D∣H)?P(H)/P(Hˉ)=L(H)?1P(D|\bar H)/P(D|H) \ll P(H)/P(\bar H)=L(H) \ll 1 P(D∣Hˉ)/P(D∣H)?P(H)/P(Hˉ)=L(H)?1
即 P(D∣Hˉ)/P(D∣H)P(D|\bar H)/P(D|H)P(D∣Hˉ)/P(D∣H) 是二階小量,假設(shè)一階小量是1%,則二階小量為萬分之一,即 P(D∣Hˉ)P(D|\bar H)P(D∣Hˉ) 是 P(D∣H)P(D|H)P(D∣H) 的萬分之一。P(D∣H)P(D|H)P(D∣H) 最大值為 1, P(D∣Hˉ)P(D|\bar H)P(D∣Hˉ) 必須小于萬分之一,才有可能證明假設(shè)H。
P(D∣H)P(D|H)P(D∣H) 是假設(shè)H成立時(shí)數(shù)據(jù)D出現(xiàn)的概率, P(D∣Hˉ)P(D|\bar H)P(D∣Hˉ) 是假設(shè)H不成立時(shí)數(shù)據(jù)D出現(xiàn)的概率。 H 為患病,D 為檢測是陽性為例, P(D∣H)P(D|H)P(D∣H) 是患病的人檢測為陽性的比例, P(D∣Hˉ)P(D|\bar H)P(D∣Hˉ) 是健康的人檢測為陽性的比例。即使以最好的檢驗(yàn)方法為例, 假設(shè) P(D∣H)=1P(D|H)=1P(D∣H)=1 表示患者都能檢測為陽性,這是十分理想的, P(D∣Hˉ)=0.001P(D|\bar H)=0.001P(D∣Hˉ)=0.001 表示1000個(gè)健康人中只有一個(gè)誤判為陽性,為假陽性比例。 即使對(duì)于這么理想的檢測方法,P(D∣Hˉ)/P(D∣H)P(D|\bar H)/P(D|H)P(D∣Hˉ)/P(D∣H) 也僅有千分之一,還達(dá)不到二階小量,這說明 P(H|D) 不趨近 1,表明即使檢測為陽性,也不一定患病。所以,當(dāng)對(duì)某種罕見病進(jìn)行檢測時(shí),即使檢測為陽性,實(shí)際上患病的概率還是可能比較低。
比值 P(D∣Hˉ)/P(D∣H)P(D|\bar H)/P(D|H)P(D∣Hˉ)/P(D∣H) 為假陽性和真陽性之比。真陽性 P(D∣H)P(D|H)P(D∣H) 比較容易計(jì)算,假陽性 P(D∣Hˉ)P(D|\bar H)P(D∣Hˉ) 大部分情況下難以計(jì)算,注意 P(D∣Hˉ)≠1?P(D∣H)P(D|\bar H) \neq 1 -P(D|H)P(D∣Hˉ)?=1?P(D∣H) ,而且 P(Dˉ∣H)=1?P(D∣H)P(\bar D| H) = 1 -P(D|H)P(Dˉ∣H)=1?P(D∣H) ,假陽性和真陽性概率之間沒有任何關(guān)系,比如健康的人檢測為陽性和生病的人檢測為陽性沒有任何關(guān)系。
當(dāng)假設(shè)H為正態(tài)分布時(shí), P(D∣Hˉ)P(D|\bar H)P(D∣Hˉ) 就無法計(jì)算,因?yàn)槠錇槿我獾姆钦龖B(tài)分布下得到數(shù)據(jù) D的概率,因?yàn)?Hˉ\bar HHˉ 有不可數(shù)無窮多個(gè)假設(shè)。如果 Hˉ\bar HHˉ 集合為有限或可數(shù)無限,則采用全概率公式有可能方便計(jì)算出P(D∣Hˉ)P(D|\bar H)P(D∣Hˉ) 。
為了降低難度,使問題可能解決,可假設(shè) Hˉ\bar HHˉ 集合只有有限個(gè)假設(shè),這種情況就是機(jī)器學(xué)習(xí)中著名的分類問題。例如,給定圖像 D,假設(shè)集合為 H1=貓,H2=狗,H3=老虎等。要計(jì)算概率 P(H1|D),P(H2|D),P(H3|D),如前所述,這些概率一般是算不出來的。但如果我們?cè)俳档碗y度,認(rèn)為圖像 D必然屬于這三個(gè)假設(shè)集中且只屬于一個(gè),所以我們只需找出這三個(gè)概率P(H1|D),P(H2|D),P(H3|D)的最大值即可,如果P(H3|D)最大,則認(rèn)為D屬于老虎。這樣我們不需要知道概率絕對(duì)大小,只需要知道其相對(duì)大小,這極大地降低了難度。所以目前任何機(jī)器學(xué)習(xí)分類算法,只要類別數(shù)是有限的,都不可能給出概率絕對(duì)大小,給出的概率只是相對(duì)大小而已,甚至不能認(rèn)為是概率。很可惜,目前的分類算法都是類別有效的,至少本人沒有看到類別無限的算法。
那怎么比較概率大小呢?根據(jù)貝葉斯定理,P(Hi|D)=P(D|Hi)P(Hi)/P(D),由于分母都為P(D),故只需比較分子P(D|Hi)P(Hi)大小。P(Hi)是先驗(yàn)概率,是我們對(duì)這三個(gè)假設(shè)的出現(xiàn)比例的信驗(yàn)。例如在城市中,經(jīng)常看到貓狗,但老虎基本不可見,所以可以認(rèn)為P(H1)=0.499,P(H2)=0.499, P(H3)=0.002。例如在東北森林中,雖然看到貓狗的概率很低,偶爾有東北虎出沒,但是我們限定了只能看到這三種動(dòng)物,所以此時(shí)可以認(rèn)為P(H1)=0.48,P(H2)=0.48, P(H3)=0.04。但經(jīng)常為了簡化問題可簡單假定這些先驗(yàn)概率相等,這樣我們又變成了只需比較P(D|Hi)的大小了。如何計(jì)算P(D|Hi)值呢?最簡單的方法是用樸素貝葉斯方法,復(fù)雜些用貝葉斯網(wǎng)絡(luò)。
最后舉例說明,檢測某人是否患有肺癌。假設(shè)H為患肺癌,此人很不幸檢測為陽性D,則其患病概率為 P(H∣D)P(H|D)P(H∣D),根據(jù)貝葉斯定理,P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/P(D)P(H|D) = P(H \& D)/P(D) = P(D|H)P(H)/P(D)P(H∣D)=P(H&D)/P(D)=P(D∣H)P(H)/P(D),其中 P(D|H) 為患肺癌的患者中檢測為陽性的概率,P(H)為人群患肺癌的概率,P(D)為人群檢測為陽性的概率。這些值怎么獲得?只能通過大量隨機(jī)試驗(yàn)獲得,比如在人群中隨機(jī)抽取N=10萬人,對(duì)這些人進(jìn)行檢測,有M=1000人檢測為陽性,則P(D)=M/N。經(jīng)過長期跟蹤,發(fā)現(xiàn)這10萬人最終有A=50發(fā)病,則 P(H)=A/N。這發(fā)病的50人有B=48人檢測為陽性,則P(D|H)=B/A,帶入這些數(shù)值就可以得到 P(H|D)=B/M,為檢測陽性的人群中的患者比例,為4.8%。當(dāng)M越大時(shí),該概率越低。其中M-B為假陽性的人數(shù),P(D∣Hˉ)=(M?B)/(N?A)P(D|\bar H) = (M-B)/(N-A)P(D∣Hˉ)=(M?B)/(N?A),假陽性概率約為1%,不是二階小量,也能給出P(H|D)不可能高的結(jié)論。根據(jù)上面的數(shù)據(jù),如果某人檢測為陰性,患病的概率P(H∣Dˉ)P(H|\bar D)P(H∣Dˉ)是多大呢?發(fā)病的A人中只有B人檢測為陽性,則有A-B人檢測為陰性,這說明檢測為陰性也是有可能患病的。總共有N-M人檢測為陰性,則 P(H∣Dˉ)=(A?B)/(N?M)P(H|\bar D)=(A-B)/(N-M)P(H∣Dˉ)=(A?B)/(N?M),約等于2/10萬。如果某人沒有進(jìn)行任何檢驗(yàn),我們只能采用P(H)=A/N作為其患病的概率,檢測為陽性則該概率升為P(H|D)=B/M,一般情況下有B約等于A,M遠(yuǎn)小于N,所以P(H|D)遠(yuǎn)大于P(H),這就是數(shù)據(jù)D發(fā)揮了威力,使我們認(rèn)為檢測為陽性的人更有可能患病,雖然患病概率不高。同理,檢測為陰性時(shí)患病概率為(A-B)/(N-M),遠(yuǎn)小于 P(H)=A/N,這就是數(shù)據(jù)D發(fā)揮了威力,使我們認(rèn)為檢測為陰性的人更不可能患病。
有人可能會(huì)思考,要提高P(H|D)只要減小M的值就可,表面上看是這樣,但這會(huì)帶來一個(gè)嚴(yán)重問題,由于M減小了,即檢測為陽性的人變小,這意味著提高了檢測標(biāo)準(zhǔn),使更多人不容易檢測為陽性,這就可能造成患病的人也不容易檢測為陽性,使B值減小,導(dǎo)致檢出率P(D|H)=B/A 降低,提高了漏檢率 P(H∣Dˉ)=(A?B)/(N?M)P(H|\bar D)=(A-B)/(N-M)P(H∣Dˉ)=(A?B)/(N?M) ,漏掉了患者也不太好。
還有個(gè)誤檢率,即未患病的人檢測為陽性的概率:(M-A)/(N-A),要減小誤檢率,只能減小M,這又導(dǎo)致漏檢提高。這些概率充滿了矛盾。
該方法成功的關(guān)鍵是隨機(jī)選擇人群,而不是選擇性的選擇。正因?yàn)槿绱?P(H|D) 表示一個(gè)『平均人』檢測為陽性時(shí)的患病概率。假如有兩個(gè)人檢測均為陽性,一個(gè)是煙鬼,一個(gè)是不抽煙的人,如果還是用上面計(jì)算的概率P(H|D)=B/M作為這兩個(gè)的患病的概率顯然不符合人的直覺,公式說明這兩個(gè)患病概率是一樣的,但生活經(jīng)驗(yàn)告訴我們煙鬼更容易得肺癌,這是怎么回事呢?因?yàn)榍懊鏀?shù)據(jù)是根據(jù)整個(gè)人群得到,是平均人患病概率。對(duì)于煙鬼來說,我們只能在煙民中隨機(jī)抽取10萬人,來計(jì)算P(D|H)、P(H)、P(D)。同理對(duì)于不抽煙的人,我們只能在不抽煙的人中隨機(jī)抽取10萬人,來計(jì)算P(D|H)、P(H)、P(D)。我們假設(shè),這兩類人均有M=1000人檢測為陽性,由于煙民患肺癌概率更高,所以煙民的A值會(huì)高于不抽煙的人,假設(shè)P(D|H)對(duì)這兩類人相同,則煙民的B值會(huì)高于不抽煙的人,這樣煙民的P(H|D)更大。
我們可以使p值P(D|H)很低,P(H|D)很高。因?yàn)镻(D|H)=B/A,P(H|D)=B/M,比如令 B=M=1,則 P(D|H) 為2%,但P(H|D)為100%。B=M=1表明檢測為陽性的人十分少,但這些陽性全是患者,這付出的代價(jià)是漏檢率極高。
我們也可以使p值P(D|H)很高,P(H|D)很低。因?yàn)镻(D|H)=B/A,P(H|D)=B/M,比如令 B=A?MB=A \ll MB=A?M,則 P(D|H) 為100%,但P(H|D)遠(yuǎn)小于1。這就是上面例子的情況,付出的代價(jià)是假陽性率太高。
生活中兩句話可以概括這兩種情況,寧可錯(cuò)殺一千,不可放過一個(gè),對(duì)應(yīng)于P(D|H)很高,P(H|D)很低。寧可讓壞人逍遙法外,也不可冤枉一個(gè)好人,對(duì)應(yīng)P(D|H)很低,P(H|D)很高。
要做到理想境界:不能冤枉一個(gè)好人,也不能放過一個(gè)壞蛋,對(duì)應(yīng) P(D|H)、P(H|D)都很高,則十分困難。
總結(jié)
以上是生活随笔為你收集整理的贝叶斯定理、显著性检验、p值关系、分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy 加速心得
- 下一篇: 2021-09-30