请在电脑端观看,手机端某些显示可能会有一些问题
什么是贝叶斯算法?
好吧,这是一个伪标题,我们可以从以下几点对贝叶斯进行一个大致的认识
贝叶斯是一种基于概率论的算法
贝叶斯是一种基于先验特征进行分类的算法
贝叶斯非常简单,并且对于训练数据较少的情况下依然能有比较好的效果
-
贝叶斯公式
推论过程:P(A∩B) = P(A|B) * P(B) = P(B|A) * P(A)- P(A∩B) : A 和 B 同时发生的概率
- P(A|B) : 已知 B 发生的情况下,A 发生的概率
- P(B|A) : 已知 A 发生的情况下,B 发生的概率
- P(A) : A 发生的概率
- P(B) : B 发生的概率
对号入座一下,不难得出贝叶斯公式,这里就不啰嗦了啊
-
实际应用
大致了解了下贝叶斯,那么举个生活中常见的列子来加深下理解吧:- 问题:根据长短发来判断一个人的性别 !
- 已知:
- 以 40个男人 和 60女人 进行模型训练
- 男生留长发的概率是 10%
- 女生留长发的概率是 90%
- 求:随机抽取一个人,已知其是长发,求其性别
求是女生的概率:
求是男生的概率:
所以:
从上面的推论很清楚的知道,如果一个人是长发,那么他是女的概率是 13.5/(13.5+1),所以通过我们的模型得出的结果那如果一个人是长发,那他就是女生。至于这个结果有多准确,那么就只能通过大量数据来验证了。。。
- 从上面的实际应用我们更深一步的了解了 贝叶斯算法,那么我们继续深入一下下?
上面我们是通过长短发来区分男女,肯定不是那么准确嘛,那么我们再加个维度 身高。
- 男生身高1.6m以上是 80%
- 女生身高1.6m以上是 30%
- 求:随机抽取一个人,已知其是长发,身高1.7m,求其性别
求是女生的概率:
这里我们需要确定的是 你留长发还是短发 和 你身高几米 是木有关系的,也就是说是两个独立事件噢!
所以:
代入上面的公式就能得出如果一个1.7m的人是长发,那么他是女生的概率 P(女|(长,高)) ,同理也可以得出P(男|(长,高))
如果
P(女|(长,高)) > P(男|(长,高)) => 我们则认为他是 女人,反正则是 男人
其实这就是朴素贝叶斯:根据给予的 独立同分布的 特质(长发,身高)来计算他在分类(男女)中出现的概率,哪个分类的概率越最大,就认为他是属于那个分类。
- 总结:贝叶斯其实还是比较简单的,其实就是一个套用公式的过程,值得注意的是在使用过程中的独立事件的概率的求法,以及朴素贝叶斯的结论。