最近公司新来了一位美女同事小薛,长得那叫一个俊俏。
她的存在,就像是一股清新的芬芳在整个办公室悄然的散开。引得男同事们都蠢蠢欲动,尤其是那些还没有女朋友的男生,私下里交流得最多的话题就是——小薛有没有对象。
那么,如何才能通过人工智能的算法得到答案呢?
欢迎观看《从零开始的AI学习》系列文章之贝叶斯定理!
大家好,我是黄瀚星,今天的主人公是来自英国的贝爷。
不是这个贝爷,而是英国数学家托马斯·贝叶斯(Thomas Bayes,1701~1761)
他发现并命名的贝叶斯公式是概率论中非常重要的公式之一。
然而很可惜的是,因为贝叶斯公式需要大量的计算,历史上很长一段时间,这个发现都没有得到应用。
直到计算机发明了之后,人类有了大数据的计算能力,贝叶斯公式的重要性才日渐凸显,目前已经被广泛应用在互联网人工智能,医学检测,生产效率优化等方面。
什么是贝叶斯定理
贝叶斯定理,实际上就是根据过往的经验来判断当事件A发生时,事件B也发生的概率的公式。
用韦恩图来表示就是这样的。
用数学公式来表示的话,事件A的总数是P(A),事件B的总数是P(B),事件A与事件B都发生的部分,就是两件事的交集P(A∩B)。
那么,要计算事件A已经发生的条件下B发生的概率,就可以用A和B都发生的事件除以A的总数得出结果。公式为:
P(B|A) = P(A∩B)/P(A)
把P(A∩B)分解一下可以得到:
P(A∩B) = P(A|B)*P(B)
那么就得到了贝叶斯公式:
P(B|A) = (P(A|B)*P(B))/P(A)
怎么样,很简单对不对?
好吧,举个例子大家就明白了。
加入我们有两盒饼干,第一盒里有30块草莓味的,10块巧克力味的,第二盒里面有20块草莓味的,20块巧克力味的。
当我随手拿了一块饼干,发现是草莓味的之后,如何知道这块饼干属于第一盒的概率大,还是第二盒的概率大呢?
我们可以带入公式,分别计算两个可能性的概率。
设从第一盒为B1,第二盒为B2,
那么从第一盒拿出的概率就是:P(B1|A)=(P(A|B1)*P(B1)/P(A)
P(A|B1)是从第一盒中拿到草莓饼干的概率 3/4
P(B1)是从两个盒子中选择盒子一的概率1/2
A是拿到草莓饼干的事件的整体概率5/8
把这些数字带入公式得到这块饼干属于第一盒的概率是:
((3/4)*(1/2))/(5/8)=3/5。
类似的,第二盒的概率公式是
P(B2|A) = (PA|B2)*P(B2)/P(A)
P(A|B2)是从第二盒中拿到草莓饼干的概率 1/2
P(B2)是从两个盒子中选择盒子一的概率1/2
A还是拿到草莓饼干的事件的整体概率5/8
结果是:
((1/2)*(1/2))/(5/8)=2/5.
概率可以用0到1之间的数字来表示,1表示必然发生,而0表示必然不发生。
通过上面的例子我们会发现,贝叶斯公式是基于过去的概率来计算未来可能发生的概率。
在上面拿饼干的例子中,P(B)是已知的,即我拿了A盒的概率和拿了B盒的概率,都是1/2。
P(A)也是已知的,即我从所有饼干中拿到草莓味饼干的概率是5/8。
这种基于经验或统计的,已经被我们确定的概率叫先验概率。
而P(A|B),是在B条件下,A事件发生的概率,我们把这称为后验概率。
这就是贝叶斯定理。
朴素贝叶斯分类
如果我们要计算的事件比较复杂,影响的条件有很多,我们为了简化计算,可以假定这些条件之间是独立的,这种假定叫“简单贝叶斯”,也就是所谓的“朴素贝叶斯”
我们可以用朴素贝叶斯来判断,小薛到底有没有男朋友。
首先,我们需要一些条件和基础的数据。
假设我们采用年龄、外貌、收入、学历4个条件来判断一个妹纸有没有男朋友,先收集一下办公室里其他女同事的信息吧。
好了,然后我们再来看下小薛的信息,从HR那打听到的结果是这样的:
好了,轮到我们的贝爷上场了,在构建分类时,我们需要先计算结果类别的概率Pc,用样本总数做分母,对应的不同结果做分母,得到
Pc1 = (有男朋友) = 2/5
Pc2 = (没有男朋友) = 3/5
然后分别计算小薛的每一个条件与结果之间的概率关系:
年龄:
P(年龄=青年 | 有男朋友) = 1/4
P(年龄=青年 | 没有男朋友) = 1/2
外貌:
P(外貌=漂亮 | 有男朋友) = 1/4
P(外貌=漂亮 | 没有男朋友) = 1/6
收入:
P(收入=中 | 有男朋友) = 1/4
P(收入=中 | 没有男朋友) = 1/2
学历:
P(学历=本科 | 有男朋友) = 1/2
P(学历=本科 | 没有男朋友) = 1/6
好了,然后我们计算小薛这样条件的妹纸有男朋友的概率是
P(X|c1)P(c1)=((1/4)(1/4)(1/4)(1/2))*(2/5)=0.0031
没有男朋友的概率是:
P(X|c2)p(c2)=((1/2)(1/6)(1/2)(1/6))*(3/5)=0.0041
没有男朋友的几!率!更!高!
趁着别人还没发现,赶紧约起来~
居然都已经有儿子了……
拉普拉斯校准
在使用朴素贝叶斯分类的时候,有一种情况我们必须排除,那就是某个先验概率为0的情况。
如果样本量过小导致分子为0,就有可能导致整个概率为0,那么我们应该如何解决这个问题呢?
增大样本的基数当然是最好的选择,但依然无法保证绝对避免0的出现,这时候我们要请出另一位大神。
有请分析概率论的创始人,皮埃尔-西蒙·拉普拉斯(Pierre-Simon Laplace,1749-1827)
他发现用一个简单的技巧就可以避免这个问题,假设有1000组基础数据,其中一个条件A可能的值设为高、中、低三种。
而统计1000个样本之后,A=高的样本有100个,A=中的样本有900个,A=低的样本为0,那么概率分别是0.1,0.9和0。
拉普拉斯的方法是,给每个可能发生的概率增加一个样本,在用于计算概率的分母加上可能性的个数,则得出的结果可以和之前的概率很接近,但却避免的0概率值的出现。
A=高的概率是:101/1000 = 0.101。
A=中的概率是:901/1000 = 0.901。
A=低的概率是:1/1000 = 0.001。
这个方法被拉普拉斯用自己的名字命名,称为拉普拉斯校准或拉普拉斯估计法。
最后再说几句
贝叶斯的基本介绍就到这里了,但你们真的认识到贝叶斯的强大了吗?
如果你们掌握了一种可以预测未来的技术,会想到哪个场景呢?没错,就是它!
感觉快走上人生巅峰了呢~嘿嘿。
今天的分享就到这里,我是黄瀚星,想知道中奖的结果吗?
赶紧关注啊!