仅靠一道简单的数学题,他就变成了Stack Overflow的数据科学家

古语有云,“学好数理化,走遍天下都不怕。”

人工智能时代尤其如此。

比如,写上几句基础的数学概念,天上就能掉下一个工作来……这是真事。

学概率的时候,我们会反复来理解什么是正态分布,什么是均匀分布,什么是二项分布,什么是贝塔分布……不知在座的各位是否还能记起当时做过的习题?是否还能通俗地讲解一下这些概念?

在Stack Overflow,有位学机器学习的同学理解不了贝塔分布,希望有人能帮他解答下。刚好,正在学生物信息学博士的David Robinson现身说法,用一个有关棒球运动的统计数据来解释这个概念。这位博士纯粹是为了消磨时间,觉得好玩。

不过,Stack Overflow数据科学团队的Jason Punyon读完David Robinson的解答后,觉得解释很赞,他在内部会议上突发奇想:

哇!咱们干脆雇了这哥们儿吧。”

于是,一份公开的邀请不期而至:我们十分期待你能拜访一下Stack Overflow。

在好奇心的驱使下,原本打算博士毕业后研究计算生物学的David Robinson,鬼使神差地拜访了这家科技公司。一次拜访、几周面试,Stack Overflow提供给他一个无法拒绝的工作机会,David Robinson从计算生物学博士变成了一个数据科学家。

你一定特别好奇,这到底是个怎样的问题,直接就让这位博士拿到了数据科学家的offer?David Robinson的解释到底又有多精彩?现在我们让来看看这个问题。

问题

首先声明,我并不是统计学家,只是一名软件工程师。我所掌握的大部分统计学知识都来自于自学,因此对于一些别人觉得很简单的概念,我可能会觉得很难理解。因此我希望答案能尽量通俗易懂,少一些专业名词而多一些形象解释。

我之前试图想弄清楚贝塔分布(beta distribution)的本质——它能用于做什么以及如何解释它的应用场景?

例如,当我们谈正态分布时,可以将它描述成火车的到达时间:大多数情况下火车正点到站,有时候会早1分钟或者迟1分钟,但是早20分钟或者迟20分钟的情况则非常罕见;均匀分布可以描述为彩票中奖的机会事件;二项分布可以描述成抛硬币事件等等。那么,贝塔分布有这样的直观解释吗?

例如 α=.99,β=.5,贝塔分布B(α,β)如下图所示(使用R生成):

那么这个图代表什么意思?Y轴是一个概率密度,那么X轴呢?

答案可以基于这个例子来解释,或者任何其他的也行。我将感激不尽。

David Robinson 解释如下:

简而言之,贝塔分布可以看作是一个概率的分布,也就是说,当我们不知道一个东西的具体概率是多少时,它给出了所有概率出现的可能性大小。下面结合一个应用场景来理解:

熟悉棒球运动的都知道一个指标就是棒球击球率(batting average-http://en.wikipedia.org/wiki/Batting_average%22),就是用一个运动员击中的球数除以总的击球数(因此它是一个0到1之间的百分比)。我们一般认为0.266是一个平均的击球水平,而如果击球率达到0.3就会被认为非常优秀了。

假设有一个棒球运动员,现在我们想预测他整个赛季的棒球击球率如何。你可能就会直接计算他目前的棒球击球率,用击中数除以击球数,但这在赛季开始阶段时是很不合理的!假如这个运动员就打了一次,还中了,那么他的击球率就是100%,如果他没中,那么就是0%。甚至打5、6次的时候,也可能运气爆棚全中击球率100%,或者运气很糟击球率0%。无论如何,基于这些来做预测是不合理的。

那么,为什么用前几次击中来预测整个赛季击球率不合理呢?当运动员首次击球没中时,为什么没人认为他整个赛季都会一次不中?因为我们有先验期望。根据历史信息,我们知道击球率一般会在0.215到0.36之间。如果一个运动员一开始打了几次没中,那么我们知道他可能最终成绩会比平均稍微差一点,但是一般不可能会偏离上述区间。

对于这个击球率问题,我们可以用二项分布(https://en.wikipedia.org/wiki/Binomial_distribution)表示(一系列的成功或失败事件),一个最好的方法来表示这些先验期望(统计中称为先验(prior))就是贝塔分布,这表示在运动员打球之前,我们就对他的击球率有了一个大概范围的预测。贝塔分布的定义域为(0, 1),与概率是一样的。我们下面继续解释为什么贝塔分布用在这个任务上是合理的。

假设我们预计运动员整个赛季的击球率大概是0.27左右,范围大概是在0.21到0.35之间。那么用贝塔分布来表示,我们可以取参数 α==81,β==219。

curve(dbeta(x, 81, 219))

之所以取这两个参数,原因如下:

  • 贝塔分布的均值
  • 从上图中可以看出,这个分布主要落在(0.2, 0.35)之间,这是从经验得到的合理范围。

你问在贝塔分布的密度图上x轴代表什么,在这里,x轴代表运动员的击球率。注意到在这个例子里,不仅y轴是代表概率(确切说是概率密度),x轴也是(击球率是击中次数的概率分布)。因此贝塔分布可以看作一个概率的分布。

接下来解释为什么贝塔分布适合这个例子。假设运动员一次击中,那么现在他本赛季的记录是“1次打中;1次打击”。那么我们更新我们的概率分布,让概率曲线做一些移动来反应我们的新信息。这里涉及一些数学上的证明(点此查看-https://en.wikipedia.org/wiki/Conjugate_prior#Example),但是结论非常简单。新的贝塔分布为:

其中 α0和β0是初始参数,在这里是81和219。所以,在这个例子里,增加了1(击中了一次),没有增加(没有失误)。因此新的贝塔分布为Beta(81+1,219),如下图:

curve(dbeta(x, 82, 219))

可以看到这个分布与原来相比并没有什么肉眼可见的变化,这是因为仅一次击中球并不能太说明什么问题。

然而,随着整个赛季运动员逐渐进行比赛,这个曲线也会逐渐移动以匹配最新的数据。由于我们拥有了更多的数据,因此曲线(击球率范围)会逐渐变窄。假设赛季过半时,运动员一共打了300次,其中击中100次。那么新的贝塔分布是Beta(81+100,219+200),如下图:

curve(dbeta(x, 81+100, 219+200))

可以看出,曲线现在更尖而且往右移动了(击球率更高),由此我们对于运动员的击球率有了更好的了解。

根据新的贝塔分布,我们得到的期望值通常也是我们的新的估计。贝塔分布的期望值计算公式是

。因此新的贝塔分布的期望值为

,注意到这个值比直接预估要低

,但是比赛季开始时的预计要高

你可能已经注意到了,这个公式就相当于给运动员的击中次数添加了“初始值”,相当于在赛季开始前,运动员已经有81次击中219次不中的记录。

因此,在我们事先不知道概率是什么但又有一些合理的猜测时,贝塔分布能够很好地表示为一个概率的分布。

就这样,靠着一道数学题,就拿到了数据科学家的职位。做机器学习,你的数学准备好吗?

福利

如果你对这位从生物信息学博士变身Stack Overflow数据科学家的David Robinson感兴趣,可在微信公众号后台回复“数据”,即可获得David Robinson的R语言文本挖掘《Text Mining with R》免费电子书。

怎么样?读到这里,对于火车到达时间、彩票中奖机会、抛硬币和棒球击球率所对应的概率分布,你应该都能回想起来了,除非你在《概率论与数理统计》课上所学的东西真的还给老师了。

不过,就算还给概率论老师也没关系,你总是可以重新啃书本把它拾起来,或是重新上一门能让你真正学会概率、统计的课程,比如中科院冒老师这门《机器学习之概率与统计推断》:它不光能让你真正学会概率、统计,还能弄懂这些概念在机器学习中的具体应用场景。

扫描下面的二维码,仅需8小时,你就能拾回早已还给老师的概率论和数理统计,拿到理解机器学习的入门钥匙。

参考链接:

https://stats.stackexchange.com/questions/47771/what-is-the-intuition-behind-beta-distribution http://varianceexplained.org/r/year_data_scientist/

原文发布于微信公众号 - AI科技大本营(rgznai100)

原文发表时间:2017-07-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

MIT牛人解说数学体系

导读:本文为深度学习和计算机科学大牛林达华教授在MIT攻读博士学位时梳理总结的数学体系介绍。

2031
来自专栏量子位

干货分享 | 自然语言处理及词向量模型介绍(附PPT)

云脑科技机器学习训练营第二期,对自然语言处理及词向量模型进行了详细介绍,量子位作为合作媒体为大家带来本期干货分享~ 本期讲师简介 ? 樊向军 云脑科技核心算法工...

4937
来自专栏量子位

怎样用GAN生成各种胖吉猫?谷歌大脑程序员教你撩妹神技

Facebook聊天框里出道的灰色短毛猫Pusheen,是柔软的微胖界宠儿,中文名字叫胖吉。

1462
来自专栏Brian

概率回忆小结

样本空间与概率 概率论无疑是数学最重要分支的其中之一,它在计算机科学、金融、财务等领域应用广泛。但是好像所有的知识貌似又全部还给老师了,所以说”出来混早晚都还的...

3716
来自专栏数据结构与算法

模拟退火算法

爬山算法的思想就是一个劲的找最优解,如果接下来的任何状态都比当前状态差,那么就停止

62815
来自专栏大数据文摘

概率的意义:随机世界与大数法则

2664
来自专栏一个会写诗的程序员的博客

计算机中的数学【集合论】现代数学的共同基础

现代数学有数不清的分支,但是,它们都有一个共同的基础——集合论——因为 它,数学这个庞大的家族有个共同的语言。集合论中有一些最基本的概念:集合(set),关系(...

973
来自专栏量子位

AI研发新药真有那么神?可能哈佛、斯坦福和阿斯利康实验室都在吹牛

安妮 李林 编译自 Medium 量子位 出品 | 公众号 QbitAI ? 近年来,向往着用AI研发新药的美好愿景,巨头纷纷投下了重注。 制药巨头赛诺菲和AI...

3777
来自专栏大数据文摘

斯坦福大学怎样讲“情感分析”

1733
来自专栏深度学习自然语言处理

为何师兄研二就能发表COLING国际会议长文?

昨天凌晨,余南师兄收到了COLING的录用邮件,我们实验室的所有人万分激动,都送上了自己真心的祝福!

1052

扫码关注云+社区

领取腾讯云代金券