不确定性下的数据思维应对信息爆炸
新冠肺炎导致的信息爆炸让每个人都有应对不暇之感, 一方面数据和模型思维在这个时候是我们应对包括阴谋论和双黄连治病这类消息的分辨利器,另一方面我们应时刻对不确定性保持敬畏。
1 大数据和预测模型的失败
大数据是每个人都非常熟悉的话题, 有的人说大数据是万能灵药, 有的人说它是骗人的, 其实关于大数据的总总争论, 只在于数据的质量。对于疫情相关的模型,更是如此,初始变量的细小改变,都会让模型的预测显著改变。网上的极度乐观和悲观的预测, 我们首先要关注的是其所采用的数据源。比如最近讨论极多的新冠死亡率有从3%到15%, 如果你去查看武汉周边的死亡率和全国其它地区的, 你会发现非常不对等。那么是什么造成武汉的死亡率高于其它?除非你对数据的源头做分析,你不可能对这件事有个非常公允的认知。
比如对于美国大选这个事,民意调查说明的是大数据的预测完全不靠谱,而谷歌搜索则表示大数据的预测很靠谱, 这里的区别在哪里?数据源。哪个数据源更真实客观, 更接近决定选举结果的那群人, 就是更好。事实上,谷歌搜索的数据往往是信息量最大, 也是最客观的, 因为直接的民意调查首选受到采样的不完全的影响, 比如在幼儿园和银行门口你的采样结果一定不一样。另一方面, 被采样的人会因为这样或那样的原因来掩饰自己, 让自己看起来更cool一些。而谷歌搜索就不会。
这是川普和希拉里竞选时人们通过谷歌搜索看到的两人的排名情况。虽然官方的一些调查认为希拉里获胜的概率较大, 但是事实上拥有更大数据的谷歌早已预测了不同的情况。首先,我们相信搜索点击的数量客观反应了民意, 然后,我们认为这种民意会决定最后的选举结果。有了这样的逻辑, 我们用超大量的搜索数量验证了我们的想法是对的。
当然,谷歌搜索数据也不是万能的。比如,谷歌流感预测。谷歌流感是一个非常有野心的计划, 希望通过网络对关键词的搜索来判断流感爆发的趋势。GFT预测H1N1流感的原理非常朴素如果在某一个区域某一个时间段有大量的有关流感的搜索指令那么就可能存在一种潜在的关联在这个地区就有很大可能性存在对应的流感人群相关部门就值得发布流感预警信息。
然而这个计划最终失败了。为什么失败?笼统的说叫噪声。大部分时候,我们都看不到数据里的信息。因为进行这一类信息查询的人事实上根本不清楚什么是流感。很多搜索流感相关特征的人或者完全不知道流感是什么, 另一方面, 和流感有着类似特征的人太多, 这导致谷歌收集的数据里充满噪声。完全不了解更多的流感的知识而只是靠流感病本身的分析, 就完全不能分析出流感病爆发的趋势。 而且这样一个系统本身也在制造噪声,因为google flu流感指数提升反过来引起很多媒体对这个问题的敏感, 从而制造更多这方面的数据。
2 数据质量问题的根源
数据并非越大越好, 数据大有可能噪声增加的源头是普遍存在的非线性。这使得收集同质数据背后最重要的一个条件 - iid (
独立同分布
)遭到破坏
还回到新冠死亡率上说,为什么武汉的就是比别的地方高?我们可以做出的合理假设一是武汉医疗资源相比患病大大不足导致重病得不到照顾, 二是是否病毒的初代版本毒性最高,被传播后的病毒是否和亲代保持一致?这些哪一条都会破坏武汉患病者和全国其它地区符合一个分布函数的假设, 而要把两者区别对待。
社会,历史,经济问题恰是两个不同尺度的复杂非线性网络的耦合, 一个是社会网络, 一个是大脑网络 。两个网络都符合前面的所有特征。而恰恰是两个网络纠缠在一起。社会网络的节点, 其实是一个个超级复杂的脑网络, 它们的某个情绪风暴, 会引起下一级社会网络的一个革命风暴, 尤其是当两个网络都处于相变点, 这种级联效应更加可怕, 也使得它们构成的整体中的任何一部分都可能脱离独立同分布的条件。
人本身的大脑网络对数据质量的影响突出体现在人的心理作用对数据客观性的影响, 比如大部分人认为自己努力工作的程度高于平均水平, 如果这是真的, 又什么是平均水平呢?由于人的认知偏差, 使得由人产生的数据总是充满噪声。
这种非线性效应导致的偏差使得和人类社会有关的现象处处脱离独立同分布, 而变得非常难以靠直接收集数据来预测, 幂律分布的长尾(个别事件)反过来主宰我们的命运。
虽然非线性网络在毁灭预测性, 但也来了世界的丰富多彩, 生命本身来自于这样的网络, 以至于智能物种的产生, 直道文明和社会, 直到你自己, 这些事情都是不可思议, 也非确定发生的, 它, 也是我们生活的所有滋味所在。
我们既然存在于这张不确定的网中, 就要做到与它对抗, 而是共存。因为在我们的生活, 还是创业中, 我们真正面临的不是精确的预测每个个体乃至社会的行为, 而是正确的决策, 即使无法预测, 依然可以英明决策。
比如此次病毒的传播, 虽然滥吃野味的有关群众或者掩盖消息的某些政府官员都值得谴责,**但是我们不能说取消掉其中的某个要素疫情就可以得到控制, 对于这类事件最根本的是要具备某种应对突发不确定性危机的算法。
3 有关决策应对不确定性的问题:
系统应对不确定性的思维方法可以称之为算法,算法让我们站在事物发展, 而非自身的层面去看问题。如果大数据
进化算法:
其实整个生命进化史, 就是一套自然应对不确定性的方法论。 你要看到,从远古生命到现在, 自然环境发生的沧海桑田的变化已经有多少次?也许有无数次, 你都可以假定生命已经毁灭了, 事实上发生的是, 生命没有被毁灭, 而是在这个过程里, 越来越复杂, 越来越高级。这背后, 就是达尔文发生的进化论。我想可以把这件事做如下总结:
1, **生命不能预测未来, 但是它可以生成一套在各种条件下的一组行为策略。**比如摄入什么样的物质, 向什么方向移动, 这组策略被一套叫DNA的大分子固定, 也就是我们常常说的遗传编码 , 它通过一个复杂的化学反应, 制造RNA和特定的蛋白质,而一切生命现象都是由特定蛋白质实现的, 我们简单的说就是生命策略, 比如在外界环境出现如何变化时候如何反应。你可以把DNA的编码看成一系列的if else语句, 就是在某种条件下, 触发某个蛋白质, 实现某一个功能。
2, 单组策略的存在时间有限, 它会以繁殖的形式得到一个和自己一样的策略, 但是这个过程不是完全精确的, 它会以一定的方式出错或者说变化。 这恰恰使得下一代的策略可以轻微的偏离上一代, 从而在一段时间里, 形成越来越多的策略,我们叫做基因池。
3, 有的时候不同的基因会发生交叉。 也就是说把两组策略把各自的一部分给对方, 然后形成新的策略组合。这种重组产生新的基因的速度会比变异快的多, 也就是我们说的交配。
3, 环境会评估某个策略(DNA) 是不是适合自己, 这个通常由一个叫适应度函数的东西表达。 适应度越高, 基因就是越适应当下环境。 经过一段时间, 适应环境的策略会比不适应的环境的策略得到更多的个体,因为它自身存活的概率更高, 这样, 最终环境里数量最多的, 是最适应环境的策略。这样的策略不一定有一个。
**4, 环境会变化。**当环境变化, 最适宜的策略发生变化, 这个时候最适合的策略也发生变化, 导致新的物种和生态系统的生成。
应该说, 这样的一个算法具有一种天然的反脆弱性, 基因的变化是随机的无目的的, 恰恰对应环境的变化是不可预测的无方向的, 生命通过死亡,竞争和繁殖的游戏, 使得群体总有某些个体能够适应环境而延续, 即使对于每个个体这足够残酷, 但是在总体水平上, 却使得基因能最有效的调整自己。 即便不做任何预测, 也可以很好存留。
一个日常生活中的进化选择算法例子: 此处, 我们假定有100个随机排列的扇贝(三角形),它们的基因组就是每个扇贝的颜色和位置, 我们的环境适应函数是让它们组合起来接近一个火狐的形状, 越接近就是越相似。我们每一次稍稍改变这组参数, 并且寻找一组最优的交换基因, 最终的结果大家见图 。
对于我们日常生活中的方法论
1, 试错而非设计的方法论:对不确定环境具有最高适应的策略 , 是来自于自然进化和淘汰而非设计, 靠的是繁殖的速度能够跑赢环境变化。因此, 对于产品设计, 最重要的是加快迭代速度, 远好于常开会。
2, 鲁棒性很重要: 最好的东西不一定是目前看起来最优的, 而是在变化的环境中可以适应自己的。这个特性通常称为鲁棒性, 所谓杀不死的是最好的, 也就是塔勒布的反脆弱。也许一个方案特别完美, 但是条件一旦出现变化, 它就不成立了, 这还不如找一个没有那么完美, 但是适应性更好的方案, 往往迭代试错来的方案具有这个特点。
由此我们也可以想一下最近基因编辑的那个事情。你随意的改变人的基因, 这是基于设计而非进化来的东西, 也没有经过过各种环境的论证, 这样创造的人, 就是不具备自然选择赋予的鲁棒性,说不定在某个情况下会有灭顶之灾, 这也是基因编辑的科学问题的一个关键挑战。
3, 多备胎策略。 自然进化的特点是对待个体是残酷的, 而总体上获得进化的鲁棒性, 多子嗣,也就是多备胎。对于产品设计, 或公司运营, 我们要考虑环境变化时候的备选方案。
4 强化学习:主动有目标的调整
进化算法最重要的里程碑是动物神经系统的产生, 或者说我们的大脑。也就是在这个阶段, 生存策略的生成出现了质的飞跃, 此时的策略, 不再是单向的在环境有水的时候就去喝水这种, 而是出现了所谓的学习策略,你可以把它看成一个生成策略的策略,通过一个叫神经网络的东西, 你可以超越基因编码新的策略。 这里最重要的就是强化学习的出现, 相比进化这种被动的随机的策略搜索, 强化学习更类似于一种主动有目标的调整, 从而使得策略更新的效率极大的加快。
那么,强化学习算法可以看作第二个更有效的面对不确定性的思维框架。
强化学习里最核心的思想是有效的探索策略, 以及探索和收益的平衡。它包含如下要点:
1, 强化学习分为几个要素, 个体, 环境, 行为, 奖励, 个体做出行动, 获得环境的奖励反馈,同时改变环境,个体为了让长期的奖励最大化, 需要调整自己的行为。行为的规则的, 也就是不同环境条件下的该做什么行为, 也就是策略, 也就是我们学习的对象。
2, 未来是不确定的,但我们必须在此刻做出选择, 因此, 我们把未来所有可行的选项都考虑进去, 并给每个可行性估值, 它代表我所认为的潜在收益。我们根据这个估值来做行动的决策, 我们倾向于选择那个估值最高的选项, 但是不要马上抛弃其它选项,而是给其它的选项一个较小的概率执行,这又称为探索。最初的估值我们可以看作在初期更多就是凭直觉, 后面会迅速调整。
3, 每个行动会带来有关结果的新的信息,这个信息可能对结果有害或者有益, 这时候我们要迅速的调整估值。
4, 根据新的估值决策。一个特别简单的例子是摇臂赌博机, 你去赌场玩的, 都知道这个机器的存在, 它的构造就是很多个长得一样的摇臂,每个对应不同的中奖概率, 你要玩N轮, 每次选择摇臂, 使得最终的收益最大。聪明的你一定可以设计一个方案, 让自己的收益最大, 怎么做呢?
这里, 我们就到了一个点,就是探索与收益的平衡, 加入你开始就中了 , 你会一直选择那个中奖的摇臂不放过吗?显然这可能是陷阱,因为还有收益更高的臂,或者只是这次的运气好。反过来, 你会不停的随机试下去吗?显然不会, 因为存在收益比较高的臂。所以, 你就需要设计一个策略, 在有效探索的同时加大在那个最有收益可能的臂的概率, 每次玩, 又都增加你的信息。 这就是一个极为典型的应对不确定的策略。而且, 可以直接用到产品设计上, 我们也可以把它看成一个特别有方向性的试错, 比进化的随机试错要快的多。
更高级的强化学习包含了一个世界模型的部分, 也就是说, 在行动之初, 你不仅要设定可行选项, 还要尽可能的在平行宇宙里将不同选项导致的未来展开, 先在思维里战上100轮,减少那些不好的选项, 这就比最初凭直觉估值好的多了, 虽然我们无法精确预测, 但是有一个模糊的世界模型依然可以大大加强我们决策正确的概率, 阿法狗就是凭类似的思想战胜李世石的。
5 强化学习给我们的启示
1, 未来不可预测, 但不等于我们可以没有清晰的目标: 强化学习成立的根据在于一开始就有一个自定义的收益函数, 这个函数必须是行为体已知的, 而不是之前进化算法里来自环境的适应度。这里的收益, 就是目标, 一开始没有清晰的目标界定, 一切行动无从谈起。
**2, 只考虑可行边界之内的事, 无论目标有多宏大, 我们每一步只考虑可能做到的几个动作, 及这些动作对目标的影响。**这点的反面就是眼高手低, 很多人每天想来想去,事实上都在想自己的可行区间外的事情。
3, 探索与收益是随时间调整的。 虽然我们始终要考虑探索与收益,但是强化学习过程里, 探索和收益的比值始终在不停减少。也就是说越到后期, 就越以收益为主, 探索,但一定要有限度,因为你的生命是有限的。这里面直接的方法论就是我们年龄越大就越要保守,如果你20岁, 失败只是打一个喷嚏, 30岁, 还可以从头再来, 50岁, 就很难了, 褚时健毕竟是少数, 已经取得了一定资历的人, 一定要把成功换成更稳定的,可以向下一代传递的东西。
4, 无论任何时候, 尝试建立世界模型。 虽然预测是困难的, 你要把不同方案导致的未来,以及它们的结果, 尽量的建立一个世界模型, 就好像一个平行宇宙的展开。这个展开的方式, 一方面来自由你的经验模板塑造的直觉, 另一方面是关于世界运行的原理。如果你的平行宇宙展开的足够好, 你就得到了一个可能世界的合理分布。阿法狗其实是面对不确定性的最聪明的算法, 虽然我们不是阿法狗, 但是可以学习它的套路。 有时候, 你做了这件事, 会淘汰一些直觉看起来正确, 但是错误的选项。
曾经的我, 思路更加接近于不断试错和迭代的进化算法, 而今天, 我的思维更接近强化学习的系统, 人生苦短, 试错有限,在结构目标非常清晰的时候, 极为高效的试错, 并且迅速的收敛于那个收益最高的解,再此基础上迭代, 是更有效的策略。
6 贝叶斯算法:如何把更精确的使用数据
当下这个时代, 我们拥有越来越多帮助我们决策的数据, 谷歌,百度, 知乎, 都在帮助我们迅速的得到信息。很多时候你会告诉我, 预测无非就是数数, 比如预测大选结果, 我可以做一个简单的假设, 在谷歌上被搜索更多的那位更有可能获胜 , 然后你去查看谷歌的搜索结果, 你居然真的可以准确预测啊,请看下图。
但是这样的方法却不总是奏效, 几年前谷歌搞过一个预测流感的系统,它把流感出现的关键词,比如头痛,发烧,咳嗽, 呕吐都做成了特征。这些关键词,构成了一组关键特征, 可以用来有效的预测流感是否发生, 只要我们搜索这些词汇, 应该就可以预测流感在一个地区是否会发生。然而,这个问题虽然一开始的预测比较准确, 很快就完全的偏离了真实的数据, 问题出在什么地方?我们无法避免隐藏在数据里的大量噪声, 因为产生那些特征的原因非常多, 比如说头痛, 工作疲劳可以头痛, 失恋也可以头痛,感冒仅仅是原因之一。
而贝叶斯算法可以有效的剔除数据里的噪声,因为它可以通过加入先验信息, 把我们几千年积累的知识和大数据结合起来。贝叶斯算法其实是一种非常中庸的态度, 一方面, 我们要保持一套对世界的预测模型, 虽然我们知道它不准确, 另在不确定性面前, 我们最好的办法是保持一种理性的谦逊, 也就是赋予这种原始预测一个有限的概率, 然后我们设计实验收集数据, 如果这个数据支持这种模型假设, 我们就加强一点信息, 否则就减少一点, 这个根据数据调整信心(概率)的公式就是贝叶斯公式, 我更喜欢把它看成一个思维方法。
一个很好的例子是月亮和奶酪的估计, 你孩子看到月亮, 觉得那是个奶酪, 你不要马上告诉它那不是, 而是告诉它根据物理学家的理论,它是一个石头, 不过你的观测确实也作数, 因此你可以稍稍的动一下概率。 根据贝叶斯公式, 依然鼓励我们做出一个初始的模型预测, 比如说, 你去看未来的经济形势, 你可以根据各类的周期理论, 得到一个大致的上行或下行估计。然后你可以根据周边人的状态调整这个概率。这样的思维可以让你在不确定性面前最有效的调整自己。
一个很好的运用贝叶斯的例子来自于对掉入海里的飞机的搜索, 比如之前的马航事件, 这几乎可以说是一个不确定性大到极点的例子,大海茫茫, 我们依据的信息确是非常稀少的。但是并不需要特别担心, 因为我们有贝叶斯的框架。首先, 一组专家会对可能找到黑匣子的区域做出限定, 然后, 搜救人员会出动进入这个区域, 它们所做的事情大致是这样的, 我们把区域分成无数的小方格, 首先搜索那些根据专家开始估计的概率最大的区域, 如果没有黑匣子, 就降低这个区域的概率,同时提高那些没有搜救的概率, 这样每搜索一个格子, 这个概率就会变化一次, 最终经过几轮之后, 我们就会得到越来越小和精确的搜救区域, 根据这样的方法, 即使是大海捞针,我们也可以胜利。
在不确定面前,我们能够做的最蠢的事情是直接把某些选项的概率降为0, 因为这样如果它们真的是成立的, 你就死无葬身之地了。
更多阅读
玥玥爸2020-02-02 08:48:37
“过早优化,都是罪恶之源。”
曾晓冬-艺仓美术馆2020-02-02 07:59:04
读正文的时间远小于查概念和资料的时间,甚至无法判断是否有些句子是手误的错字[捂脸][捂脸],反复读了多次,学习受教啦
cla2020-02-02 09:07:21
我是文科生 公号的文章大多读不懂 但坚持读 希望可以帮我提高思考力度 这篇读完 感觉懂了三分之一 很欣喜
关鑫2020-02-02 08:55:39
好决策未必有好运气,人们会认为决策失误。
爱民2020-02-02 09:57:59
这是一篇非常好的方法论文章,适合于生活中的方方面面。尤其是在那些充满了不确定性的证券交易市场中。
玥玥爸2020-02-02 09:14:51
”把进化论,强化学习,贝叶斯用在同一个模型上(把三点连接起来)会很想看到!”——同想。 此外,可不可以说说"体制内逆淘汰"的模型。
王满喜2020-02-02 10:52:31
智能的本质可以说就是应对不确定性,该文说的很在理[强]
傅雨2020-02-02 09:01:59
贝叶斯那一个"对世界保持一个谦逊的态度"太好的一个角度了,理性而又谨慎。 强化学习总结的俩点,经验模板和运行原理也总结的很好! 只是图片好像都有点儿不清楚。然后如果可以把进化论,强化学习,贝叶斯用在同一个模型上(把三点连接起来)会很想看到! 感谢分享
玥玥爸2020-02-02 08:39:34
这几天的文章,每篇都好,可能因为作者在家给闲的[呲牙]