与不确定性作战-从物理模型到特征提取
一 无所不在的预测
想象一下,如果你能预测你的人生, 或者某个人能够预测一个国家甚至人类的兴衰, 那将是何等意义的事。 阿西莫夫的科幻小说基地里的, 一个叫哈里谢顿的人发明了一个叫心理史学的学问能够预测整个银河帝国的兴衰, 但现实中了,你该怎么回答当下是进入A股的最佳时机吗?不要认为这个问题和人工智能无关, 事实上, 智能的故事第一步在于, 让机器学习预测。 因为, 预测, 是一切正确行为决策的基础。 那机器不能够学习预测, 何谈智能?
所有的古代文明, 从埃及到玛雅, 到希腊, 有一个学科是共通的, 这就是天文历法。 天文立法的本质是根据历史记录的天象, 预测未来星辰季节的变化, 这一点,对于刚刚走出蒙昧的人类的重要性,是不言而喻的。 你要在什么时候播种, 插秧, 收割, 都是和季节星辰的预测有关的。
日月星辰这种有严谨周期性的东西也是最好预测的东西, 对它们的观测, 就会提醒我们发现很多的数据之间存在一些关联, 这种关联,比如月亮的升降与潮汐,太阳的角度与季节,这种规律性,无时无刻不提示着我们,世上的很多东西是可以预知的。
因此也有各种派别开始提出它们的预测方法,从神话故事, 到占星术, 周易八卦, 都可算作预测, 其中最成功的一门, 是根基于数学的物理模型, 物理模型的历史。人类的历史经历过三个阶段,农业革命,工业革命,信息革命,应该说, 三次革命背后的驱动都与物理模型有关。 物理的基础是数学, 数学是农业革命中产生的, 古代埃及人们需要丈量土地和知晓尼罗河水泛滥的时间, 那个时候人们有了土地丈量和观察星象的需求,我们开始定量的描述事物和收集数据, 但是远远谈不上建模。
真正的数学模型应该说出现在古希腊。那时候人们不仅关心记录那些数据,而且开始关心从记录数据背后总结共性的东西,比如设计一套理论解释运动的物体运动的原因,或者行星运行的道理。我们开始想要对众多的事物做预测,我们发明了一种东西,它好像能够代表真实的世界, 但是却简单非常多,它由数字构成。 然后我们管他叫真实事物的缩影, 这就是模型 。
二 物理模型的胜利
物理模型里最具经典的莫过于托勒密 (Ptolemy) 的宇宙模型系统, 模型说日月星辰的运动可以分解为一系列互相嵌套的圆周运动,因为圆形是最美丽的图形。行星循着本轮 (epicenter,周转圆) 的小圆运行,而本轮的中心循著著称为均轮的大圆绕地球运行。这种模型可以定性的解释行星为什么会逆行,而且可以相当精确的预测大量的天文现象。
模型因为如同巫师的水晶球一样能够预测而成名, 也会因为遇到更好的模型而下架。 精密的托勒密模型最终让位给哥白尼的日心说, 哥白尼的日心说可以说是一大类新模型的开端, 然而一开始这个模型却并不具备比之前模型更好的预测力, 直到开普勒把之前的圆形轨道变成椭圆轨道。 这个模型不仅在一些现象的预测上开始超越托勒密模型,而且还有很关键的一点, 就是更简单。 一个地球绕太阳椭圆运动的假设, 就可以取代很多小圆。 事实证明, 往往简单的模型是更加正确的, 就好像你能够用一个方法能以更小的成成本取得同样的效果,那这个方法就算更好的。
物理学家对基本原理有着非常强的直觉, 库伦发现电荷间的吸引力, 安培发现了电流间的吸引力, 安培把这种电流间的作用归结于磁场,就是那种磁铁之间或吸引或排斥的作用。 紧接着法拉第发现变化的磁场产生了库伦的琥珀间的那种电力 ,并且天才的用电场来表达这种空间中无所不在的作用。
然后一个叫麦克斯韦的大佬直接不根据实验预测了变化的电场也同样会产生磁场,并且用一组叫做麦克斯韦方程组的东西统一了整个电磁学。这是一个纯粹依赖场来描述的理论, 好像那些我们之前以为物理实体的电流, 磁铁都不在重要, 真正存在恰是模型描述的那些场线。这个系统里, 我们再也看不到任何平时现象中的物体。 真空中的力线,这种人类的想象物,就是模型的全部。
更令人不可思议的是,如果变化的磁场产生电场, 变化的电场产生磁场, 那么由此周而复始,会有什么现象呢?没错,电磁波,我们不仅预言了电磁波的存在,而且预言了它的速度是30万公里每秒,没错,这就是光速。这些交织的力线,通过数学方程的力量,变成转动发电圈里的电流, 变成电脑里晶体管里的电流, 变成手机之间传递的电磁波, 成就了整个电力革命时代。
如果你以为这就是物理预测的力量,你依然小瞧了它。很快, 这种思维开始进入微观世界。 尽管在很长时间我们并不能真正看到那些比细胞还要微小那么多的原子,但是物理学家使用它们的模型,已经开始对微观世界的各种实体建模。由此产生了量子力学,一个叫量子场论的理论,结合了刚刚说的电磁场的思想和量子力学, 甚至预言了一种叫做正电子的从未有人见过的粒子,而之后被实验证实。 没错,物理预测的力量正在与每一次我们都在实验发生前就知道了将要发生什么。
差不多同时,我们开始构建微观到宏观的桥梁。 如果原子的世界变得越来越清楚, 而它们组成了所有宏观物质,它们有温度,有软硬,有形状,有化学性质, 那么,这些东西可不可以也被预测呢? 我们又一次的成功了, 而这在常识里, 可以被看成不可能的任务。 因为组成物质,比如一块磁铁的所有原子我们不仅不知道它们的情况, 而且即使有所观测, 也非常随机。 但是, 我们为社么又胜利了呢? 这不得不归功于统计物理这样一个学科。
统计物理的最重要的观点是, 如果对于一个事物的情况我们不知道, 我们就假定它是随机的。 即使微观尺度上的大量粒子运动是随机的,通过一个叫大数定律的方法,我们在宏观尺度上得到的东西却可以如磁铁般稳固, 且可以预测,比如我们可以计算它的磁性。 这种随机到宏观精确的可预测性的保证, 正是大数定律。 为什么大数定律的作用如此之大, 我们可以通过几个简单的例子了解, 最简单的例子, 每年都有无数家庭破产或发财, 但是整个国家的财富却一般都是非常稳定的增长。
三 社会与人类心理预测的失败
在20世纪以后, 在所有之前工业革命基础上出现了计算机, 以至于后面的互联网, 使得人类积累数据, 以及用数学来预测的能力又一次空前提高, 迎来了信息爆炸的时代。我们依然按照之前的思路继续建模,因循着这样的思路,人类不仅懂得了星体的运行,而且开始改变自身社会,我们认为社会本身也存在类似牛顿原则一样的第一性原理,开始出现马克思这样的从社会基本运行规律出发试图改造社会的理论家。
而在心理学领域,我们也开始认识到人类的心智也如同一台动力学机器, 在客观的受力法则下思考和运行。 对于这一类愿望的典型描述在阿西莫夫的基地里淋漓尽致, 它借哈里谢顿教授的口说出: 人类社会的每个成员如同气体里的分子,他们的运动可能是随机的不可预测, 但是其组成的人类社会确是高度可以预测的。因此它预测了整个“基地“ 的没落, 从而展开了整个它的改变人类历史的计划。 这简直就是对统计物理的观点重演,每个人随机的不可预测, 但是很多人加总在一起, 一个国家,一个民族的兴衰确是高度精确可测的。
但是这些幻想很快落空, 这条路走不下去了。 我们发现, 凡是跟社会和人类有关的领域,我们几乎输的精光。 你想应用大数定律, 你却总在失败。 一个最典型的例子莫过于股市,大家都想预测股票价格,但是就是搞不定, 我们想象股市的价格是大量的进入交易所买入和卖出的交易者决定的, 股市价格的本质是人们对公司未来总价值的预期。
如果这些交易者, 就像组成物质实体的粒子一样, 虽然表面的的行为是随机的, 但是加和在一起, 由于交易者众多, 就应该表示出确定的性质, 如果这个逻辑是真的, 股市就应该可以预测的。 然而事实却恰恰相反, 这么多的聪明人进入到股市交易搏杀, 却没有几个人能预测2009年的金融危机。对于社会科学的其它问题, 也是类似的情况。 当年没有多少专家预测苏东的巨变,特朗普的当选, 或者英国的脱欧。
而另一个角度, 我们对自己的大脑的预测更是知之甚少, 比如目前几乎还没有什么仪器能够预测你老了会不会得老年痴呆,或者你今晚会不会失眠。我们并不能用受力分析的方法把人脑分解为细胞,然后找到一组方程, 或者用统计的方法, 解出心智运行的模型。
四 预测失败的元凶 – 网络
到底是什么, 破坏了我们建造预测性的通天塔的目标?
我们先前的理论一个根本缺陷是一个最重要的假设是不成立的, 它就是独立性假设。 当组成整体的每个个体之间的相互作用可忽略, 我们称为独立假设成立, 这时候,如果每一个个体的行为是随机的, 但是组成总体的特性确实可以确定的。
最致命的是, 人的大脑还是人类社会, 独立性假设不成立。 显然你的成长无法忽略周围的某些特定个体对你的影响, 同样的你的大脑里的某个神经元离开周围神经元的信号传递一无是处,几乎就是一个比较大的电阻电容电路而已。
所有这些问题的背后, 隐藏了一个新的问题范式 – 网络。 如果个体和个体不独立,意味着它们的互相影响, 这个互相影响, 导致之前的预测范式无法很好的起作用, 这个网络, 会引入如下几个效应:
非线性: 整体不再是部分的加和我们管它叫非线性,这个整体的特性变得特别难以预测。 这个你可以理解当下的互联网使得个人的作用已经远远不是加法, 这样的例子在你身边也很多, 两个很优秀组成的家庭可能非常不幸福, 而一群乌合之众在某个清晰聪明的规则下, 可以其力断金。
混沌:气象预测一直以来是农业生产的重要课题,曾经有一段时间, 物理学家认为只要能够合理的解出气体运动的流体力学方程, 那么一个月后的天气无非是大量模拟可以解决。 然而气象学家试图对大气建模(当然是牛顿力学了)的过程里,发现了一个不可思议的现象,它们算出来的天气一会儿晴天一会儿下雨:完全相同的一份数据,多保留小数点后一位数,计算出来的就是晴天;少保留一位小数,计算出来的就是下雨。这是机器的问题吗,比如说这是程序员都遇见过的计算机浮点误差导致的?
牛顿力学里三体问题的时候就已经很难预测了, 三个物体之间只要有复杂的相互预测,在一定时间后, 得到的解都已经极不稳定, 假设计算机程序出那么一丁点的误差, 都会使得我们最终的解与之前完全不同。 这里的不确定性来自于我们无法控制所研究系统的所有信息,而每一丁点的不同都导致结果完全不同。 大量练成网络的系统都具备这类性质, 也就特别难以预测。
核心节点与一般节点: 巨大的网络分为核心节点和一般节点, 而核心节点的作用会对总体起到巨大的作用。 比如在历史的关键期某个人的决策。 无论是戊戌变法前的袁世凯, 还是改革开放中的总设计师。
信息缺失:在这些难以预测的事物面前, 你能够知道的信息永远只是一部分。 比如你要预测一个公司能否发展好, 你可能真正要掌握的信息在CEO的大脑里, 而这样的信息一定在你所能接触涉及的范围挚爱。 我们在生活中往往很难考虑信息缺失对我们的决策的影响。 我们所有的决策都是信息缺失下的决策, 因此很多人之后会陷入后悔, 比如当时为什么没有早一点投资阿里, 事实上在你的每个决策节点, 你都是在信息稀缺的状态下, 此时的最优决策, 根本不意味着结果最好。
集群涌现: 无论是社会还是人脑,一旦连城网络, 都会出现不可思议的效应,而这种效应绝不是个体水平能理解的, 这其实是第一个说的非线性作用的一个结果。 比如单个神经细胞可以用一堆电阻和电容来模拟, 而很多神经细胞凑合在一起, 居然会出现思维,甚至自我意识这么复杂的东西。而再把这群大脑连在一起, 居然出现了社会经济,文明, 意识形态这类的东西, 每个级别的现象,都不是组成它的那个级别所能够拥有的。
观察者带来的反身性:曾经有人说如果你知道每个原子的轨迹 , 你就可以预测整个宇宙。 这就是著名的拉普拉斯妖思想实验:我们可以把宇宙现在的状态视为其过去的果以及未来的因。假若一位智者会知道在某一时刻所有促使自然运动的力和所有组构自然的物体的位置,假若他也能够对这些数据进行分析,则在宇宙里,从最大的物体到最小的粒子,它们的运动都包含在一条简单公式里。对于这位智者来说,没有任何事物会是含糊的,并且未来只会像过去般出现在他眼前。
“知道在某一时刻所有促使自然运动的力和所有组构自然的物体的位置”显然对于处于宇宙中的我们显然是不可能的。假如我们使用仪器对一个原子进行测量,仪器本身则会改变其它原子的状态。对一个系统的测量,不可避免的对系统造成干扰,这就是观察者效应。在股市里, 你在对某个东西进行预测的时候,你的行为决策必然作为新的变量对你所预测的对象产生改变, 你可以看做是一种现实扭曲力场。 这种观测者和观测对象的纠缠, 使得我们在稍微复杂的问题面前无能为力。
网络, 但来了世界的丰富多彩, 也带来了不可预测, 而这, 需要我们提出一个不同于以往的预测范式来解决。
五 无处不在的相关性
我们看到, 虽然说这些不同的系统难以预测,但是它们却存在一个共同的属性,就是具备某种内在特征的相关性。 这些相关性经常被一些定性研究的学问所总结。 比如古代王朝的更迭被人们总结出合久必分, 分久必合的规律。 经济的运行通常呈现为周期律。 还有五形人格理论, 总结人的一些心理特征经常搭配的规律。 我们也经过把这些相互一起出现的特征, 称为模式。
复杂网络里潜藏的模式往往在网络的结构之中, 而如果抓住这些模式, 则给我们提供了一种预测的可能性。 巴拉巴西的一篇论文, 说的是你要不要预测一个国家的发展? 我们可以看它在产业链网络中的位置, 因为存在这样一个网络, 较低级的产品和较低级的产品相连, 较高级的和较高级的相连, 如果你是生产香蕉的, 那么顶多生产和香蕉有关的一些食品或香料产业。 但是如果你是生产汽车上的门把手的, 你却可以在产业链中越级上升。 这就是产业网络的秘密。
另一个很好的例子是经济周期, 由于之前所说的所有混沌非线性,经济周期是一种非常复杂的现象,但是它里面的规律却也是比较明显的 , 比如它的曲线走势有一个较明显的形状, 我们大概定性的知道这个形状背后的原因, 比如经济好的时候人们信心倍增开始举债, 然后到某个时候资本的价格开始上升, 利润率降低, 人们开始信心下降, 一些人破产, 等等。
这些模式,给我们提示了,至少是在短期预测未来的可能性。 你去提取出模式, 就可能从某些信息, 推到另一个信息。 这个在古代, 经常被结合了迷信思想的理论所总结, 比如周易里面的周期律, 阴阳的理论等。 那么, 有没有可能把这些问题逐步的量化,成为一个可以定量预测的学科呢?
如果说这个问题去问牛顿, 他一定说不可以, 如果你去问今天的人, 那就是可以。为什么呢?答案是: 大数据。 简单的说, 既然理论和逻辑推理不那么有效了, 我们就相信数字。 你要预测什么, 我就看一些历史数据, 从历史数据里拟合出一个趋势或者什么来预测。 或者直接对结果进行采样也行。
那么随着人类积累的数据指数上升, 比如来自互联网, 摄像头记录, 以及每一台手机传递的数据, 我们就可以搞清所有复杂事物间的关系并做出任何预测。 我们说, 我们干脆放弃因果,而使用相关性来预测事物。通俗的讲就是数据告我们是什么,就是什么,莫要问为什么。
这条思路我们可以打个比方叫做根据足印识别式子, 假设你住的地方有狮子, 不定时出现,你既然无法用一个牛顿方程预测狮子现在在哪, 就去寻找狮子的足印, 因为这和它的出现是高度相关的, 根据经验,我们认为足印和狮子是联系在一起的, 所以只要我有摄像头在关键道路记录足印,就可以了。
六 大数据的成败根源
大数据是每个人都非常熟悉的话题, 有的人说大数据是万能灵药, 有的人说它是骗人的, 其实关于大数据的总总争论, 只在于数据的质量。
比如对于美国大选这个事,民意调查说明的是大数据的预测完全不靠谱,而谷歌搜索则表示大数据的预测很靠谱, 这里的区别在哪里?数据源。 哪个数据源更真实客观, 更接近决定选举结果的那群人, 就是更好。 事实上,谷歌搜索的数据往往是信息量最大, 也是最客观的, 因为直接的民意调查首选受到采样的不完全的影响, 比如在幼儿园和银行门口你的采样结果一定不一样。 另一方面, 被采样的人会因为这样或那样的原因来掩饰自己, 让自己看起来更cool一些。 而谷歌搜索就不会。
这是川普和希拉里竞选时人们通过谷歌搜索看到的两人的排名情况。虽然官方的一些调查认为希拉里获胜的概率较大, 但是事实上拥有更大数据的谷歌早已预测了不同的情况。首先,我们相信搜索点击的数量客观反应了民意, 然后,我们认为这种民意会决定最后的选举结果。有了这样的逻辑, 我们用超大量的搜索数量验证了我们的想法是对的。
当然,谷歌搜索数据也不是万能的。比如,谷歌流感预测。 谷歌流感是一个非常有野心的计划, 希望通过网络对关键词的搜索来判断流感爆发的趋势。 GFT预测H1N1流感的原理非常朴素如果在某一个区域某一个时间段有大量的有关流感的搜索指令那么就可能存在一种潜在的关联在这个地区就有很大可能性存在对应的流感人群相关部门就值得发布流感预警信息。
然而这个计划最终失败了。 为什么失败? 笼统的说叫噪声。大部分时候,我们都看不到数据里的信息。因为进行这一类信息查询的人事实上根本不清楚什么是流感。 很多搜索流感相关特征的人或者完全不知道流感是什么, 另一方面, 和流感有着类似特征的人太多, 这导致谷歌收集的数据里充满噪声。完全不了解更多的流感的知识而只是靠流感病本身的分析, 就完全不能分析出流感病爆发的趋势。 而且这样一个系统本身也在制造噪声,因为google flu流感指数提升反过来引起很多媒体对这个问题的敏感, 从而制造更多这方面的数据。
还有一些事情, 比如全球变暖,即使我们到今天收集了那么多数据 ,依然是公说公有理, 婆说婆有理。如果你要靠谷歌搜索来确定全球到底变没变暖, 这还不如求助于那个会预测世界杯结果的章鱼。
数据一旦包含了和人有关的信息,就要考虑人的心理作用对数据客观性的影响, 比如大部分人认为自己努力工作的程度高于平均水平, 如果这是真的, 又什么是平均水平呢? 由于人的认知偏差, 使得由人产生的数据总是充满噪声。
那么我们直接剔除噪声呢? 想的简单, 做起来不容易, 在数据处理中, 判断哪些是正常和异常点,通常需要巨量的专业知识。也就是说, 大数据的威力是巨大的, 但是单单靠大数据是不行的。 我们需要用我们先前讲过的模型, 来帮我们去伪存真, 剔除噪声。我们来讲讲这一类方法的思维。
七 计算思维的三板斧
首先, 在数据驱动的模型前, 我们往往使用一个唯一认为正确的模型来预测, 比如牛顿定律, 给定了已知条件, 比如自由落体小球的位置和速度, 我们就可以得到一个唯一的结果来。 而现在的模型则是数据驱动的模型, 我们需要的是设定一组可能的原因和结果之间的关系,相当于我们有N个不同版本的牛顿定律(假设), 当然这N个定律(假设)要满足一定的基本假设, 就好像是一个国家的公民要遵守基本法, 然后我们通过数据来求解哪一个假设为真的可能性大一些。 在这样的一个思维下, 占星术可以和牛顿方法同台竞技,最后谁胜出, 数据说了算。
为什么这样的方法可以从数据里把潜在的模式抓出来? 因为事实上我们所处理的是一种已知的未知, 我们知道数据里一定存在某个模式, 只是我们不知道是什么, 这些数据驱动的模型,可以帮我们完成这个认定的过程。
相比物理模型的精确, 单单简单的看相关性来做预测的算法是不太够意思了。但是在巨大的数据矿藏面前, 配之以合适算法, 这类模型却成为战胜不可预测性, 发掘潜在模式的利器。 如果说以前的物理动力模型像是个一般正经背诵经典的书生, 那么机器学习模型就像经济学都不懂却可以在市场上讨价还价的小贩,他们具有一种更加practical的方法,就是经验调整法, 每天的经验告诉他们什么样的价格或时候可以该买进或卖出,以及看人下菜碟。无它,见人够多,从经验中总结教训。
对于这一类模型背后的数学基础, 本质就是贝叶斯分析的一套东西。 首先, 你要给我一个对假设正确的先验分析, 然后, 我通过加载数据, 来调整数据正确的概率。这个先验知识, 就是之前我们的理论基础。 我们可以通过一两个有意思的例子来理解这个思路。
比如说你要判断月亮是一块石头还是一个奶酪, 这个东西呢, 书里说是石头, 但是看上去(数据)比较像奶酪。 一个只听数据话的模型, 就会告诉你它是一个奶酪。 但是反过来, 如果这个模型是贝叶斯流的, 它会用先验把月亮是石头记作概率0.99, 奶酪0.01, 你的观测根据贝叶斯公式会增加它是奶酪的概率, 但是最多调整到0.02。当然, 这个模型过于简化了,我们可以给出一个更好点的数据驱动的模型例子, 即线性回归。
八 模型的构建
从数据中预测的关键在于一种有果索因的思维, 我们从一个非常有趣的词 regression 说起。 很多人会用线性回归, 却未必知道这个词的真实含义。 这个词如果你去了解拉丁语的愿意, 意思是act of going back, 是回去,往回走的意思。 那么回的是哪里? 我们说, 如果一组变量间存在相关性,比如A,B,C到D。 而且我们认为A,B,C可以确定D 。 那么我们说D就应该可以归属于一个A,B,C共同确定的函数上。
这个归属,也就是回归的意思了,即使你一开始发现的D的数据在这个曲线周围扰动, 如果你不停的收集数据,总是要回到那里去的。一个非常好的理解线性回归的例子, 是预测房产的价格, 一个房子的价格决定于非常多的相关因素,比如房子的地点,房子的面积,房子中卧室,厕所,客厅的数量和面积,周围环境的交通,安静与否,有无学校等,我们要从这些要素中知道房子的价格。如果你是链接聘请的房产专家,让你找到一个方法预测房价。你的方法一定是到各个地点做调查成交价,随着经验的增加, 你会得到各个区域的基准价格, 然后按照这个基本价格结合房子的特征上下调整,得出你的经验公式。这真是累死小哥哥。
来,让我们用回归的思路来解一解这个问题,我们剖出我们的第一个是从数据反推假设的机器学习模型-线性回归。之后你会看到我们可以把过程让机器解决。我们现在需要的是设计一份表格,把之前的数据放到网上(或者搞一个爬虫),让人们把有关房子的有用无用的信息和价格都填了, 做一个巨大的excel表格。
然后我们要设计一个机器(算法),我们用它从这些信息学习价格的pattern(模式),管他有用没用哦。然后看看我们如何教会机器思考, 机器开始不会思考,人要告诉他如何思考,机器思考首先是对人思考的模拟(三大范式-线性,决策树,贝叶斯)。
怎么说呢, 你要思考, 或者说决策,首先要考虑决定这个东西的所有可能的要素, 然后把这些按一定权重叠加一起,比如房子的价格,你看看决定房子的东西哪些比较重要, 你把它们按你的经验赋予一个权重(即使你自己不知道)然后你给出你心里的理想价位。
换到机器上,也是一样的思路, 我们 把之前说的因素在这里换以一个新的词汇-特征。每一个特征, 这次要用一个数表示, 如同线性代数里的坐标基。而这些特征如何决定价格的, 我们就可以不管, 让机器决定去。特征的个数我们通常称之为维度,一个问题的维度往往决定其复杂性, 以及所使用的方法, 这就是人复杂系统所擅长讨论的范畴了在此不详述。 维度本身同时决定我们可能需求的数据量多少, 高维度意味着我们需要求解问题的信息量也成比例的增长。
机器学习用模型来思考,模型就是寻找一个基本学习框架,比如刚刚我们说的加权重要性,翻译成机器学习的模型叫做线性回归:这就是把人的思维放了过来,我们随便给定一个权重, 机器就可以自己预测了。
九 模型的求解
然后我们说在错误中改进和学习, 卖房小哥的评估也许开始是按照自己的经验来是房子的面积比较重要还是地点比较重要, 但是之后他很快被上级打的一塌糊涂,之后在一步步调整权重。其实比较好的方法, 是小哥把历史的经验好好看一遍,但是需要的数据毕竟太多了, 而小哥是真的做不到啊。
机器,也是一样,我们要写一个程序,不仅模拟小哥挨揍学习的过程,而且还让它从全数据学。换成比较装逼的语言, 就是让一个非常初级的模型自动的进化,机器学习工程师要做的是把这个模式的毛坯找出来,以及这个寻找自动算法的算法做出来,这个一旦做出来, 后续的数据就像一颗颗子弹把模型打造成型。
这个把模型打磨成型的过程就是学习,行里叫求解参数。什么叫参数呢, 首先,你会发现,就是刚刚思考说的权重, 每一个数字乘以具体的因子, 你会得到价格, 比如刚刚的卧室三间,面积2000,你会有无数个组合得到最后的结果250000(实验),但是这个组合势必会使得第二个数组很糟糕 (实验),如果你这么一个个的试下去, 你会累死。客观上讲, 你是不可能用那么几个参数,拟合这成千上万的数据!错误要有多少!
所以,参数好不好,我们需要一次拿出所有数据来看,算出一个数, 这个数是整个数据集合的错误之和。Cost+=(a-b)*2 ,它可以衡量这组参数好不好用,继续看一下cost function的东西衡量模型预测的结果与真实值的差距, 模型的效果越差,这个cost function的值就越高。你可以理解为
这个函数告诉你的是,Cost说的是代价,每次犯错都是潜在的风险和损失,我们称之为cost。而cost 函数来衡量目前模型离最终正确模型的距离。
这个cost函数恰恰是由刚刚说的参数决定的。 当你改变某一个特征比如房屋的面积,你的房子价格就会变动,因此你的cost也会变化,但是变动的方式是什么, 你不知道, 你就去随机的扰动这些参数看看得来的价格会如何变化,并且和真实的价格信息比较,得到每次的cost。 如果你想两个参数theta1和theta2构成一个地图, 而地图上的等高线就是cost , 那么你就是在寻找这座山最低的点,或者叫做谷底。更好的方式则是你每次在可能的方式是里寻找让cost减少最快的方向,俗名梯度, 然后往下走,忽然某个瞬间,你发现你身边的点都比较高, 你已经成功过的站在谷底,称为一名成功人士。
这组参数被称为房价问题最好的拟合,整个数据集都被这数涵盖。 这就是我们学习的结果, 放佛具有了一种人一样的预测未知房价的能力。因此, 你就可能拥有比全可国最牛看房师还牛的力量!为什么我们说是站在谷底, 而不是cost为0 呢? 因为在真实的情况, 100分本不存在。 你想想一下, 房子价格本身就有很多你根本无法了解的因素。 你买了王府井附近的 房子觉得好便宜, 然后你的邻居告你,上个月, 这里刚有个老妇人上吊死了。
你永远不可能知道全部真相, 那些未知的因素, 我们统统称之为噪声, 就是对不可控的一种昵称。机器学习能否成功,就在于这个最优位置能否找到, 而在大多数时候,我们连这个最优位置是否存在都不知道。也有一些时候,我们开头的模型框架就选错了。当然刚刚说的随机方法很是不靠谱,实际操作中我们用到的是一个叫梯度下降的方法, 让参数顺着最快速减少预测错误的方向去自动调整。
用一句话总结全文:物理学的预测遇到联网的人,不灵了,需要从相关性出发,通过寻找合适的数据, 合适的特征,合适的模型,合适的错误度量,合适的学习方法, 来用机器学习的范式在大数据时代做好预测。
更多阅读
Yiqiu2019-03-23 18:20:35
第五小节说“我们干脆放弃因果,而使用相关性来预测事物。通俗的讲就是数据告我们是什么,就是什么,莫要问为什么。”这个观点个人认为值得商榷哈,后面谷歌流感的例子其实也说明了不能忽略因果而只关心相关。其实因果推断也是机器学习的一个重要领域吧,比如Judea教授的一系列工作(而且他本人好像其实对目前主流的机器学习有一些担忧?)
作者
说的很对,建议你去看今天的推送,对此有具体的论述
love妙2019-03-30 08:25:02
许老师,看了听了您的一些文章和讲座,作为一个非物理非计算机方面的人我觉得受益匪浅,非常有意思。但是我想问问您,目前您觉得人工智能机器学习最大的瓶颈在哪里呢?谢谢您
U换的又一次五K爱坚强2019-03-23 15:01:52
这篇文章好,给出了思路
xyz2019-03-22 21:57:49
突然跳到银河帝国基地那段,我还以为自己眼花了。这个例子会不会太小众了吧