從疾病檢驗到單純貝氏分類

單純貝氏分類(Naive bayes classifier)是基於貝氏定理,那麼,貝氏定理又是什麼呢?若不小心迷失在P(A|B)、P(A)等公式的符號中,不妨從生活實例開始理解,進一步地抽取現象的特徵作為計算,就可以應用單純貝氏分類。

貝氏定理與疾病檢驗

在機器學習的領域中,單純貝氏分類是諸多分類方法中的一個,它從貝氏定理P(A|B)=P(B|A)*P(A)/P(B)出發,其中P(A)、P(B)各代表A、B事件發生的機率,P(A|B)代表在觀察到B事件時,又觀察到A事件的機率,P(B|A)代表在觀察到A事件時,又觀察到B事件的機率。

對許多人來說,機率本身就是個難以捉摸的概念,用符號來認識貝氏定理,就更難以想像其意義了。我們可以從另一個角度來認識,抽菸且得肺癌的機率可以寫為P(肺癌|抽菸),得肺癌而且有抽菸的機率可以寫為P(抽菸|肺癌),貝氏定理告訴我們,P(肺癌|抽菸)與P(抽菸|肺癌)有正相關,從直覺上來想也是如此,抽菸容易得肺癌,相對地也表示,得肺癌的人很可能有抽菸。

但是,過多的直覺有時不代表事實,例如,若有個試劑可以檢驗某個疾病,試劑會有真陽(得病者被驗為陽性)、真陰(未得病者被驗為陰性)、偽陽(未得病者被驗為陽性)、偽陰(得病者被驗為陰性),若某檢驗後各自人數分別記為TP、TN、FP、FN,我們可以使用召回率(Recall)作為評估試劑的指標之一,計算方式為TP/(TP+FN)。

這裡所謂的召回率,簡單來說,就是得病且被試劑驗出陽性的機率,可以記為P(陽性|得病),單純依賴直覺的話,若P(陽性|得病)很高,例如高達百分之99,想必P(得病|陽性)也很高吧!也就是檢驗出陽性的人,十之八九就一定有病嗎?畢竟根據貝氏定理,「P(得病|陽性)=P(陽性|得病)*P(得病)/P(陽性)」嘛!

P(陽性|得病)與P(得病|陽性)確實是有正相關,不過別忘了P(得病)與P(陽性),P(得病)是總人口中得到該病的機率,可以從既有的資料中計算,假設計算後是百分之0.1,P(陽性)是被試劑檢驗為陽性的機率,也就是真陽性機率與真陰性機率的和,若計算後得到為0.022,依貝氏定理,P(得病|陽性)=0.99*0.001/0.022=0.045。

雖然,得病被試劑驗出陽性的機率高達百分之99,然而,在試劑檢驗為陽性的情況下,該人真正得病的機率卻只有百分之4.5,這還滿違反許多人的直覺,原因在於P(得病)只有百分之0.2,P(得病)就是俗稱的疫病盛行率,也就是說,在疫病盛行率不高的情況下,透過試劑檢驗來抓出真正的得病者在機率上並不高。

簡單的垃圾郵件分類

那麼,貝氏定理又跟機器學習有什麼關係了?

P(A|B)=P(B|A)*P(A)/P(B)這個公式,等號右邊其實代表著事前已經得知的各種機率,就像上述的例子,陽性、得病等各種機率,我們可以從既有的資料中計算;而貝氏定理等號的左邊,可以代表針對新資料預測的機率,例如在試劑檢驗為陽性的情況下,真正有得病的機率,也就是說,可以從既有資料中生成機率模型,從而預測某條件機率,

現在來換個例子,如果你的信箱從不篩選垃圾郵件,從收過的郵件中選出一封,郵件中包含「優惠」字眼的機率是P(優惠),而任選出的郵件是垃圾郵件的機率若是P(垃圾),是垃圾郵件且包含「優惠」字眼的條件機率是P(優惠|垃圾),現在若收到了一封新郵件,其中包含了「優惠」字眼,那麼,它是垃圾郵件的機率有多高呢?

一般貨櫃標準尺寸?

金誠貨櫃尺寸種類分別為,20呎櫃、20呎高櫃、40呎櫃、40呎高櫃、20呎冷凍櫃、400呎冷凍櫃。

CCD外觀檢查包裝機

品質優益穩定,效率高成本低,並已獲得國內外大廠承認使用,品質合乎EIA國際標準, 此外也針對客戶端的需要代客Tape and Reel封裝服務。

買不起高檔茶葉,精緻包裝茶葉罐,也能撐場面!

紫砂茶葉罐是多孔性材料製成,透氣性非常好,因為罐子多微小氣孔,用來存放茶葉,不僅能保鮮鮮,還能消除茶葉中的異雜味。 但也是因為多孔,所以紫砂茶葉罐容易吸收茶葉的香味。

攻戰消費者第一視覺,包裝設計很重要!

包裝設計是指對包裝的形狀、大小、構造及包裝材料等方面進行創造或選擇並以適當方式吸引消費者的注意力,進而增加購買率,以及對使用者友善之特性。

當我們已經知道貝氏定理,此時,就可以用「P(優惠|垃圾)*P(垃圾)/P(優惠)」來計算,在進一步以實際數字說明前,我們可以再認識一個公式P(B)=P(B|A)*P(A)+P(B|not-A)*P(not-A),其中not-A表示未發生A事件,如果A事件發生的機率是0.5,那麼P(A)就等於P(not-A)。

這時,貝氏定理P(A|B)=P(B|A)*P(A)/P(B)的等號右邊,就可以寫為P(B|A)*P(A)/(P(B|A)*P(A)+P(B|not-A)*P(not-A)),將相同的P(A)、P(not-A)抵消,最後就得到P(B|A)/(P(B|A)+P(B|not-A))。

也就是說,在假設任選出的郵件為機率是0.5的情況下,若P(優惠|垃圾)是0.6,P(優惠|not-垃圾)是0.1,那麼,包含了「優惠」字眼又是垃圾郵件的機率,就可以用「P(優惠|垃圾)/(P(優惠|垃圾)+P(優惠|not-垃圾))」來計算,也就是0.6/(0.6+0.1)=0.85,看來包含「優惠」字眼的話,滿有可能是垃圾郵件!

單純貝氏分類

當然,一封信件裡,實際上,可作為識別垃圾郵件的字眼不會只有一個,常用且簡單的文件特徵抽取方式之一是詞袋(bag-of-words)模型,例如,若字眼清單為「優惠、降價、限時、打折、好禮、領取、免費、好康」,對於一封郵件,基本的特徵向量可以用有或沒有出現字眼來表示,例如,特徵向量[1,0,1,1,0,1,0,0]表示信中同時出現了「優惠、限時、打折、領取」字眼。

若以xi表示特徵向量的第i個分量,信中同時出現「優惠、限時、打折、領取」字眼的機率,可以表示為P(x1=1,x2=0,x3=1,…x8=0|垃圾)。為了單純化,假設字眼清單中每個字眼的出現都是獨立事件,也就是出現某字眼與否,與其他字眼出現與否無關,對於獨立事件,P(x1=1,x2=0,x3=1,…x8=0|垃圾)等於P(x1=1|垃圾)*P(x2=0|垃圾)*…*P(x8=0|垃圾)。

也就是說,若X=[1,0,1,1,0,1,0,0],「P(X|垃圾)/(P(X|垃圾)+P(X|not-垃圾))」就表示同時出現「優惠、限時、打折、領取」字眼的情況下,是垃圾郵件的機率,若假設字眼的出現是獨立事件,其中P(X|垃圾)、P(X|not-垃圾)的部份,都可以用垃圾郵件中個別字眼出現機率,以相乘的方式來計算,再根據得到的機率判定是不是垃圾郵件,這就是單純貝氏分類的基本原理。

實際上,字眼出現與否,彼此間還是會有些關聯,然而,單純貝氏分類假設它們是獨立事件,這就是其單純、天真之處,就方才談到的基本原理來說,單純貝氏分類實作簡單且執行快速,雖然有獨立事件的非現實假設,但是,單純貝氏分類通常還是有不錯的表現,特別是對於資料量不大的情況,這邊使用垃圾郵件判定為例,正是因為現實中也會使用單純貝氏分類,來作為垃圾郵件篩選器。

方才例子,字眼的特徵不是連續的,且未討論個別特徵分布的狀況,針對不同特徵與分布,有多項式單純貝氏、高斯單純貝氏、白努利單純貝氏等方法,像sklearn程式庫,就分別提供MultinomialNB、GaussianNB、BernoulliNB等實作,例如,人的身高、體重等具有高斯分布的連續型資料,或許可以採用高斯單純貝氏來處理分類的任務。

試著從生活實例中理解

在面對機率方面的問題或方法時,單看公式經常不易理解,其實生活中就有許多實例可循。例如,下雨通常伴隨著黑雲,這是屬於條件機率,只不過生活實例有時過於依賴直覺而不精確罷了,例如,如果看到黑雲,下雨的機會就高嗎?

這時可試想,這地區或季節下雨的機會是多少?出現黑雲的機會又是多少?試著多想幾個這類例子,就不難理解貝氏定理,而這些理解過程可以進一步擴展,將一些現象的特徵抽取出來作為計算基礎,就可以應用單純貝氏分類來做點分析了。

https://www.ithome.com.tw/voice/146077

總是為了廚餘煩惱嗎?

雅高環保提供最適用的廚餘機,滿足多樣需求。

隨時健康喝好水,高品質飲水機,優質安全有把關

飲水機的問題主要有三個方面,一是水沸騰溫度不足,絕大多數的飲水機最高溫度是95度,再沸騰溫度是90度,泡茶殺菌的溫度不夠

測試專家告訴你如何好好使用示波器

示波器主要由電源系統、同步系統、水平偏向系統、垂直偏向系統、延遲掃描系統、顯示系統和標準訊號源等部封包成。

找工作! 想知道堆高機駕駛日薪是多少嗎? 哪裡有職缺?幫你快速媒合

堆高機,又稱叉架起貨機或叉式起重車,香港稱為鏟車,中國大陸稱為叉車,台灣國語稱為堆高機,台語俗稱豬哥(ti-ko),是指工廠、倉儲等地方對成件托盤貨物進行裝卸、堆垛和短距離運輸作業的各種輪式搬運車輛。國際標準化組織ISO/TC110稱為工業車輛。堆高機的發展於1920年代,今天在生產和倉儲運營過程中它已成為不可或缺的設備。