手机浏览器扫描二维码访问
一秒记住【xiaoyanwenxue.com】精彩无弹窗免费!“罗辑思维荐书集锦(套装共24册)(.shg.tw)”!
第二章榨取数据——机器能学会的知识
导读
在深入探讨机器如何学习暗知识之前,我们先要知道机器也能够自己学习明知识和默知识。在这一章我们介绍机器学习的五大流派的底层逻辑和各自不同的先验模型。虽然现在神经网络如日中天,但其他四大流派也不容忽视。
上一章我们说了人类通过感官和逻辑能掌握明知识和默知识,但人类对暗知识既无法感受也无法理解。现在我们要看看机器能掌握哪些知识,并擅长掌握哪些知识。
机器学习明知识
计算机科学家最早的想法是把自己的明知识,包括能够表达出来的常识和经验放到一个巨大的数据库里,再把常用的判断规则写成计算机程序。这就是在20世纪70年代兴起并在20世纪80年代达到高潮的“知识工程”和“专家系统”。比如一个自动驾驶的“专家系统”就会告诉汽车,“如果红灯亮,就停车,如果转弯时遇到直行,就避让”,依靠事先编好的一条条程序完成自动驾驶。结果你可能想到了,人们无法穷尽所有的路况和场景,这种“专家系统”遇到复杂情况时根本不会处理,因为人没教过。“专家系统”遇到的另一个问题是假设了人类所有的知识都是明知识,完全没有意识到默知识的存在。一个典型的例子是20世纪80年代中国的“中医专家系统”。当时计算机专家找到一些知名的老中医,通过访谈记录下他们的“望闻问切”方法和诊断经验,然后编成程序输入到计算机中。在中医眼中每一个病人都是独特的。当他看到一个病人时会根据经验做出一个整体的综合判断。这些经验连老中医自己都说不清道不明,是典型的默知识。所以中医诊断绝不是把舌苔的颜色划分成几种,把脉象分成几十种,然后用查表方式就可以做判断的。“专家系统”既不能给机器输入足够的明知识,更无法把默知识准确地表达出来输入给机器。所以,“专家系统”和“知识工程”在20世纪80年代之后都偃旗息鼓了。
要想把一个领域内的所有经验和规则全部写出来不仅耗费时间,而且需要集合许多人。即使如此,那些谁也没有经历过的情况还是无法覆盖。电脑的信息处理速度比人脑快得多,那么能不能把大量的各种场景下产生的数据提供给机器,让机器自己去学习呢?这就是现在风行一时的“机器学习”。
今天的机器可以自己学习两大类明知识:用逻辑表达的判断规则和用概率表达的事物间的相关性。
符号学派——机器自己摸索出决策逻辑
前面说过,理性主义认为事物间都有因果关系,基于因果关系,通过逻辑论证推理就能得到新知识。在机器学习中这一派被称为符号学派,因为他们认为从逻辑关系中寻找的新知识都可以归结为对符号的演算和操作,就像几何定理的推理一样。这种知识通常可以用一个逻辑决策树来表示。决策树是一个根据事物属性对事物分类的树形结构。比如冬天医院门诊人满为患,测完体温,主任医生先问“哪里不舒服”,病人说“头疼,咳嗽”,主任医生再听呼吸。感冒、流感、肺炎都可能是这些症状的原因,现在要根据这些症状判断病人到底得了什么病,这种从结果反着找到因果链条的过程就叫“逆向演绎”。这时候主任医生用的就是一个决策树:体温低于38.5℃,咳嗽,头痛,可能是普通感冒,回去多喝白开水!体温高于38.5℃,还剧烈咳嗽呼吸困难,可能是肺炎,咳嗽不厉害就可能是流感。实际情形当然要比这复杂。但原理就是根据观察的症状逐项排除,通过分类找到病因。
这时候门诊新来了实习医生小丽,要在最短时间内学会主任医生的诊断方法。主任医生忙得根本没时间教她,就扔给她一沓过去病人的病历和诊断结果,自己琢磨去!小丽看着几十个病人的各项指标和诊断结果,不知道从哪里下手。这时候刚学了决策树的主治医生小张路过说:我来帮你。咱先随便猜一个主任的判断逻辑,比如先看是否咳嗽,再看是否发烧。把这些病例用这个逻辑推演一遍,如果逻辑的判断结果和主任的诊断结果吻合,咱就算猜中了。如果不吻合,咱就换个逻辑,无非是换些判断准则,比如你可能一开始把体温标准定在了37.5℃,结果把很多普通感冒给判断成流感了。当你用39℃时,又会把流感判断成普通感冒。几次试验你就找到了38.5℃这个最好的值。最后你找到的逻辑对所有病例的判断都和主任医生的诊断完全吻合。
所以决策树学习就是先找到一个决策树,它对已知数据的分类和已知结果最接近。好的分类模型是每一步都能让下一步的“混杂度”最小。在实际的机器学习中,决策树不是猜出来而是算出来的。通过计算和比较每种分类的混杂度的降低程度,找到每一步都最大限度降低混杂度的过程,就是这个决策树机器学习的过程。所以机器学习决策树的原理是:根据已知结果可以反推出事物间的逻辑关系,再用这些逻辑关系预测新的结果。
在这个例子里的“知识”就是医生的诊断方法,作为明知识被清晰表达为决策逻辑树。而这种计算和比较分类混杂度的方法就是让机器自动学习医生诊断知识的方法。
贝叶斯学派——机器从结果推出原因的概率
符号学派认为有因必有果,有果必有因。贝叶斯学派问,因发生果一定发生吗?感冒是发烧的原因之一,但感冒不一定都发烧。贝叶斯学派承认因果,但认为因果之间的联系是不确定的,只是一个概率。
我们的经验中比较熟悉的是当一个原因发生时结果出现的概率,例如你感冒后会发烧的概率,但我们的直觉不太会把握逆概率,即知道结果要求推出原因的概率,也就是要判断发烧是感冒引起的概率。贝叶斯定理就是教我们怎么算这样的概率。举个例子,某人去医院检查身体时发现艾滋病病毒呈阳性,现在告诉你一个艾滋病人检查结果呈阳性的概率是99%,也就是只要你是艾滋病人,检查结果基本都是阳性。还告诉你,人群中艾滋病患者大约是0.3%,但所有人中查出阳性的人有2%。现在问得艾滋病的概率多大?你的直觉反应可能是,要出大事了!现在我们看看贝叶斯定理怎么说。贝叶斯定理如下:
P(得艾滋病|检查呈阳性)=P(得艾滋病)×P(检查呈阳性|得艾滋病)P(检查呈阳性)=99%×0.3%2%=14.85%。
也就是说即使他检查呈阳性,他得病的概率也不到15%!这个结果非常违反直觉。原因在哪里呢?在于人群中查呈阳性的概率远大于人群中得艾滋病的概率。这主要是由于检测手段不准确,会“冤枉”很多好人。所以以后不管谁查出了什么病呈阳性,你要问的第一件事是检查呈阳性和得病的比率有多大,这个比率越大就可以越淡定。所以贝叶斯定理告诉我们的基本道理是:一个结果可能由很多原因造成,要知道一个结果是由哪个原因造成的,一定要先知道这个原因在所有原因中的占比。
一个好的医生知道,要判断病人是否感冒,只看是否发烧这一个症状不够,还要看是否有咳嗽、嗓子痛、流鼻涕、头痛等症状。也就是我们要知道P(感冒|发烧、咳嗽、嗓子痛、流鼻涕、头痛……)。贝叶斯定理告诉我们计算上面的概率可以通过计算P(发烧、咳嗽、嗓子痛、头痛……|感冒)获得。为了简化计算,我们这里假设发烧、咳嗽、嗓子痛、头痛这些症状都是独立的,互相不是原因(很显然这个假设不完全对,很可能嗓子疼是咳嗽引起的),这样P(发烧、咳嗽、嗓子痛、头痛……|感冒)=P(发烧|感冒)×P(咳嗽|感冒)×P(嗓子痛|感冒)×P(头痛|感冒)×……
这里每一个概率都比较容易得到。这在机器学习里叫作“朴素贝叶斯分类器”。这个分类器广泛应用于垃圾邮件的过滤。我们知道垃圾邮件往往会有“免费、中奖、伟哥、发财”这类词汇,这类词汇就相当于感冒会出现的症状,垃圾邮件就相当于感冒。过滤垃圾邮件变成了判断在出现这些词汇的情况下这封邮件是垃圾邮件的概率,也就是通过统计P(出现“免费”|垃圾邮件),P(出现“中奖”|垃圾邮件)等的概率,来算出P(垃圾邮件|出现“免费、中奖、伟哥、发财”……)的概率。
同样的原理还被广泛应用在语音识别上。一个单词有各种各样的发音,语音识别就是听到一个发音判断是某个单词的概率。如果我们把“吃饭”这个词的天南地北男女老少的发音都收集起来,统计出“吃饭”这个词和各种发音的频次,我们听到一个发音“洽碗”时,就可以判断是否在说“吃饭”。为什么说贝叶斯朴素分类器是机器学习呢?因为它是通过采集大量数据统计出每个单词和它们分别对应的发音的频率来判断一个发音是什么单词的。这些数据越多,判断的准确性就越高。
在这个例子里,“知识”是知道当一个结果发生时是哪个原因造成的。这个知识被清晰地表达为一个条件概率。机器通过统计每种原因的占比来算出从结果到原因的概率。
周宇穿越另一个世界,一个同名同姓的自己身上,和地球不同的是,在这个世界,学校早已被淘汰,取而代之的是网上教学也叫网课,周宇凭借金手指开始逆袭人生做最强网课老师。...
神龙附体许诺由黑空行云倾心创作的一本玄幻科幻类型的小说,故事中的主角是许诺庄梦蝶程鹏,文中的爱情故事凄美而纯洁,文笔极佳,实力推荐。小说精彩段落试读曾经,他是万人敬仰的超级学霸!如今,他是人人鄙夷的废柴学渣!原来,是一丝神龙残魂进入了许诺的体内,融合完成,成为神龙之体的许诺,开始了他的逆袭之路,重回巅峰!...
李云帆一个普通青年,买个二手电脑,居然是神仙用的通讯工具!人生发生翻天覆地的变化!啥,孙悟空是个母猴子?WHAT玉帝怕老婆?你们用修为征服仙界,不,我用辣条!漫天仙佛哭喊着抱住李云帆大腿展开...
我女儿随便嫁个人,都比你强!丈母娘这样怼我。一场车祸,让我的人生跌入谷底,老婆嫌,丈母娘厌,连女儿都骂我废物,可是他们都不知道,老天爷已经为我的人生开启了第一次外挂新书,新人,读者朋友们多多支持啊...
小农民混花都!会符篆!会咒语!会医术!会一切!透视咒!隐身咒!定身咒!穿墙咒!撒豆成兵!纸人术!...
重生八六年,她誓要将前世的遗撼,在今生全部都弥补回来棠棠的完结文重拾俏时光坑品保证,欢迎入坑新书我在梦里惹上未来大佬重生后的程媛怀疑她爸换芯了,对她不冷不热的爸爸,突然把她宠上天不说,还成了挣钱小能手。更离奇的是,她经常做同一个梦,梦里有一个帅到人神共愤的帅哥,就喜欢睡觉,她总是变着各种法子吵醒他。...