Add 贝叶斯推导实例

pull/2/head
benjas 5 years ago
parent bbc40e74da
commit 8f12a26f6c

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

@ -1463,3 +1463,100 @@ X轴上的特征表示归一化后是对某个特征增强10倍其它不
还是上面的例子,这回我们可以说θ=1概率是30%。而且随着所得样本的增多,我们可以把这个概率加以变化,得到θ|x的分布。这个概率其实是信心的含义。
#### 贝叶斯算法概述:
要解决的问题:
- 正向概率假设袋子里面有N个白球M个黑球你伸手进去摸一把摸出黑球的概率是多大
- 逆向概率:如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测
什么使用贝叶斯:
- 现实世界本身就是不确定的,人类的观察能力是有局限性的
- 我们日常所观察到的只是事物表面上的结果,因此我们需要提供一个猜测
#### 贝叶斯推导实例:
一所学校的男女比例如下
![1606400297489](assets/1606400297489.png)
- 男生总是穿长裤,女生则一半穿长裤一半穿裙子
- 正向概率:随机选取一个学生,他(她)穿长裤的概率和穿裙子的概率是多大
- 逆向概率:迎面走来一个穿长裤的学生,你只看得见他(她)穿的是否长裤,而无法确定他(她)的性别,你能够推断出他(她)是女生的概率是多大吗?
公式:
- 假设学校里面人的总数是U个
- 穿长裤的男生U * P(Boy) * P(Pants|Boy)
- P(Boy)是男生的概率=60%
- P(Pants|Boy)是条件概率即在Boy这个条件下穿长裤的概率是多大这里是100%,因为所有男生都穿长裤
- 穿长裤的女生U * P(Girl) * P(Pants|Girl)
求解:穿长裤的人里面有多少女生
- 穿长裤总数U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl)
- P(Girl|Pants) = U * P(Girl) * P(Pants|Girl) / 穿长裤总数
U * P(Girl) * P(Pants|Girl) / [U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl)]
与总人数有关吗?
- U * P(Girl) * P(Pants|Girl) / [U * P(Boy) * P(Pants|Boy) + U * P(Girl) * P(Pants|Girl)]
- 容易发现这里与总人数是无关的,可以消去
- P(Girl|Pants) = P(Girl) * P(Pants|Girl) / [P(Boy) * P(Pants|Boy) + P(Girl) * P(Pants|Girl)]
- 假设学校里面的总数是U个
- 穿长裤的男生U * P(Boy) * P(Pants|Boy)
- P(Boy)是男生的概率=60%
- P(Pants|Boy)是条件概率即在Boy这个条件下穿长裤的概率是多大这里是100%,因为所有男生都穿长裤
- 穿长裤的女生U * P(Girl) * P(Pants|Girl)
化简:
- P(Girl|Pants) = P(Girl) * P(Pants|Girl) / [P(Boy) * P(Pants|Boy) + P(Girl) * P(Pants|Girl)]
- 分母其实就是P(Pants)
- 分子其实就是P(Pants,Girl)
贝叶斯公式
- ![1606483124149](assets/1606483124149.png)
#### 拼写纠正实例:
- 问题是我们看到用户输入了一个不在字典中的单词,我们需要去猜测:“这个家伙到底真正想输入的单词是什么呢”
- P(我们猜测他想输入的单词|他实际输入的单词)
用户实际输入的单词记为D (D代表Data即观测数据)
- 猜测1P(h1|D)猜测2P(h2|D)猜测3P(h3|D) ...
统一为P(h|D)
- P(h|D) = P(h) * P(D|h) / P(D)
- 对于不同的具体猜测h1 h2 h3 ...P(D)都是一样的所以在比较P(h1|D)和P(h2|D)的时候我们可以忽略这个常数
- P(h|D) = P(h) * P(D|h)
对于给定观测数据一个猜测是好是坏取决于“这个猜测本身独立的可能性大小先验概率Prior”和“这个猜测生成我们观测到的数据的可能性大小”
- 贝叶斯方法计算P(h) * P(D|h)P(h) 是特定猜测的先验概率
- 比如用户输入tlp到底是top还是tip这个时候当最大似然不能做出决定性的判断时先验概率就可以插手进来给出指示——“既然你无法决定那么我告诉你一般来说top出现的程度要高许多所以更可能他想打的top”
#### 垃圾邮件过滤实例:
- 最大似然最符合观测数据的即P(D|h)最大的)最优优势
- 奥卡姆剃刀P(h)较大的模型有较大的优势
- 掷一个硬币观测到的是“正”根据最大似然估计的精神我们应该猜测这枚硬币掷出“正”的概率是1因为这个才是能最大化P(D|h)的那个猜测
- 如果平面上有N个点近似构成一条直线但绝不精确地位于一条直线上。这时我们既可以用直线来拟合(模型1),也可以用二阶多项式(模型2)拟合,也可以用三阶多项式(模型3)特别地用N1阶多项式便能够保证肯定能完美通过N个数据点。那么这些可能的模型之中到底哪个是最靠谱的呢?
- 奥卡姆剃刀: 越是高阶的多项式越是不常见
-
- P(h+|D) = P(h+) * P(D|h+) / P(D)
P(h-|D) = P(h-) * P(D|h-) / P(D)

Loading…
Cancel
Save