目的
最近上了 机器学习大学! 想把自己觉得有趣的知识整理下,以及看看这些基础知识能在实际上有什么应用。
什么是贝叶斯
我的理解是 如果两个事件相互联系那么在概率上他们也存在一种联系,这种联系能被用来更加精确的得出概率结果。
比如,年龄和是否得病有关,那么知道年龄从而计算出来是否的病的概率 比 不知道年龄从而计算出来是否得病的概率要更加准确。
简单的例子
背景:虾图城市每天下雨的概率是 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. 用于分类性别。例子来源 => https://en.wikipedia.org/wiki/Naive_Bayes_classifier#Sex_classification
根据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, 较大值为该人性别。
Reference
1. 贝叶斯理论 https://en.wikipedia.org/wiki/Bayes%27_theorem
2. 先验概率 后验概率 https://stats.stackexchange.com/questions/347526/posterior-vs-conditional-probability
3. 贝叶斯分类器 https://en.wikipedia.org/wiki/Naive_Bayes_classifier