最近上了 機器學習大學! 想把自己覺得有趣的知識整理下,以及看看這些基礎知識能在實際上有什麼應用。
我的理解是 如果兩個事件相互聯絡那麼在概率上他們也存在一種聯絡,這種聯絡能被用來更加精確的得出概率結果。
比如,年齡和是否得病有關,那麼知道年齡從而計算出來是否的病的概率 比 不知道年齡從而計算出來是否得病的概率要更加準確。
背景:蝦圖城市每天下雨的概率是 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應用。前面說了...