美文网首页程序员
【从0开始的AI学习】看我如何用AI追女神

【从0开始的AI学习】看我如何用AI追女神

作者: P与N的协奏 | 来源:发表于2017-07-14 07:37 被阅读443次

    最近公司新来了一位美女同事小薛,长得那叫一个俊俏。

    她的存在,就像是一股清新的芬芳在整个办公室悄然的散开。引得男同事们都蠢蠢欲动,尤其是那些还没有女朋友的男生,私下里交流得最多的话题就是——小薛有没有对象。

    那么,如何才能通过人工智能的算法得到答案呢?

    欢迎观看《从零开始的AI学习》系列文章之贝叶斯定理!

    大家好,我是黄瀚星,今天的主人公是来自英国的贝爷。


    2.png

    不是这个贝爷,而是英国数学家托马斯·贝叶斯(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。

    这个方法被拉普拉斯用自己的名字命名,称为拉普拉斯校准或拉普拉斯估计法。

    最后再说几句

    贝叶斯的基本介绍就到这里了,但你们真的认识到贝叶斯的强大了吗?



    如果你们掌握了一种可以预测未来的技术,会想到哪个场景呢?没错,就是它!



    感觉快走上人生巅峰了呢~嘿嘿。

    今天的分享就到这里,我是黄瀚星,想知道中奖的结果吗?

    赶紧关注啊!

    相关文章

      网友评论

        本文标题:【从0开始的AI学习】看我如何用AI追女神

        本文链接:https://www.haomeiwen.com/subject/kyxnhxtx.html