數學 淺入淺出 的 貝葉斯

2021-08-29 14:18:22 字數 1642 閱讀 6858

最近上了 機器學習大學! 想把自己覺得有趣的知識整理下,以及看看這些基礎知識能在實際上有什麼應用。

我的理解是 如果兩個事件相互聯絡那麼在概率上他們也存在一種聯絡,這種聯絡能被用來更加精確的得出概率結果。

比如,年齡和是否得病有關,那麼知道年齡從而計算出來是否的病的概率  比 不知道年齡從而計算出來是否得病的概率要更加準確。

背景:蝦圖城市每天下雨的概率是 3/5,如果下雨的話我一定拿雨衣,不下雨的話我拿雨衣的概率是 1/2.  計算 如果我今天帶了雨衣,那麼今天下雨的概率有多大?

定義 幾個變數

h1 - 下雨

h2 - 不下雨

d - 是否帶了雨衣

已知p(h1) = 3/5

p(h2) = 2/5

p(d | h1) = 1

p(d | h2) = 1/2

求 拿了雨衣,下雨的概率

p(h1 | d)

計算根據 貝葉斯公式

p(a|b) = p(b|a) * p(a) / p(b)

得出p(h1|d) = p(d|h1) * p(h1) / p(d)

根據全概率公式p(d) = ∑p(d and h) 對於任意h => p(d) = p(d | h) * p(h)

代入 => p(d) = p(d | h1) * p(h1) + p(d | h2) * p(h2)

即 p(h1|d) = (1 * 3/5) / (1 * 3/5 + 1/2 * 2/5) = 3/4

根據 條件概率公式

1.) p(a|b) = p(a and b) * p(b) => p(a and b) = p(a|b) / p(b)

2.) p(b|a) = p(a and b) * p(a)

=>

p(b|a) = p(a|b)*p(a) / p(b)

1. 用於分類性別。例子** => 

根據training data,我們知道

1. 性別根據 三個feature相關:身高、體重、腳長

2. 身高、體重、腳長 都分別符合正態分佈,我們能得出

p(weight | male), p(height | male), p(footsize | male);

p(weight | female), p(height | female), p(footsize | female);

綜上 =>

所以 身高為n 體重為m 腳長為i的人 是男人的概率p1 =

(p(male) * p(weight | male) * p(height | male) * p(footsize | male))

/ (

p(male) * p(weight | male) * p(height | male) * p(footsize | male)

+ p(female) * p(weight | female) * p(height | female) * p(footsize | female)

) 同理能求出 身高為n 體重為m 腳長為i的人 是女人的概率p2。

最終比較p1 和 p2, 較大值為該人性別。

1. 貝葉斯理論  

2. 先驗概率 後驗概率

3. 貝葉斯分類器 

XGBoost淺入淺出

xgboost風靡kaggle 天池 datacastle kesci等國內外資料競賽平台,是比賽奪冠的必備大殺器。我在之前參加過的一些比賽中,著實領略了其威力,也取得不少好成績。如果把資料競賽比作金庸筆下的武林,那麼xgboost可謂屠龍刀,號令天下,莫敢不從!倚天不出,誰與爭鋒?xgboost工...

XGBoost淺入淺出

xgboost風靡kaggle 天池 datacastle kesci等國內外資料競賽平台,是比賽奪冠的必備大殺器。我在之前參加過的一些比賽中,著實領略了其威力,也取得不少好成績。如果把資料競賽比作金庸筆下的武林,那麼xgboost可謂屠龍刀,號令天下,莫敢不從!倚天不出,誰與爭鋒?xgboost工...

淺入淺出dubbo

只是乙個框架 hibernate是持久層框架,springmvc是mvc的框架,而dubbo是分布式服務框架。是框架而不是服務 所以不是像tomcat或memcached可以單獨啟動,它必須依附於應用才有意義。引入dubbo.jar的應用,並完成適合的配置後,這個應用就成為了dubbo應用。前面說了...