Algorithmtoliveby读书笔记该不该用算法在日常生活中决策

在过去,当我们站在人生选择的十字路口,我们会从古代先哲的话中去寻找启迪,会听从当地宗教领袖的话,到了启蒙运动之后,社会的主流意见变成了听从你内心的声音。然而,随着数据在我们的生活中占据了越来越重要的位置,我们做决策时也需要拿出数据和图表,用量化的数据以及算法来指导我们的决策,而不只是做你自己喜欢的事。
然而有些时候,人们不愿相信算法帮我们做出正确的决策,尤其在面对人生的关键选择时,例如,你愿意你的终身大事被算法安排吗?当一个程序告诉你,你应该和A结婚,尽管你觉得B更有魅力时,你会听程序的安排吗?要回答这个问题,最好我们先了解程序背后的算法逻辑。在不久的将来,算法将会或显或隐的影响你的选择,《算法之美》这本书通过具体的例子,讲如何用算法的逻辑去做出人生中的关键抉择。

1)探索与利用的权衡
个人如何选择最合适的伴侣,是否应当一直寻找更好的,还是将就嫁了。如果用算法思维来回答这个问题,可以假如一个非常优秀的人参加选秀节目,已知追求的他的人是有限的,例如10位,选秀节目规定,他不能脚踏两只船,即不能同时和两个人交往,如果在交往之后他没有接受这个人,那么,以后也没有机会再选择这个人作为对象。然后接着和下一个人交往。他该怎么办?
对这个问题的回答,有两种思考方式,先说机器学习的方式。一个做机器学习的人拿到这个问题,首先会做的是收集数据,假设上面提到的选秀节目进行了100期,那么要收集的数据包括这一百期节目中每位男嘉宾的年龄,学历,身高,职业等,还会收集台上发生的对话,最后在通过对每位女嘉宾的事后访谈,确定各位女嘉宾是否后悔自己的选择,是否和男嘉宾有更多的发展。
之后将所有的这些数据放入多个模型中,目标是找出一套规律来,来指导未来参加这个节目的女嘉宾,让她们能做出让她们最不后悔的选择。不同的模型给出的规律会各有不同,有的模型很简单,会告诉女嘉宾找和自己年龄相差最小的,有些规则会很复杂,会告诉女嘉宾去找又高又年轻的程序员但是却要比自己大1岁到3岁。
另一种方法是传统的数学模型,关于上文提到的问题,有一个现成的数学理论可以去对这个问题给出最优解。Optimal Stop Theory 是一个在金融衍生品定价中应用很广泛的理论,假设每个女嘉宾可以对男嘉宾给出一个唯一的打分,但女嘉宾不清楚这届男嘉宾的整体水平怎么样,需要拿前几个去摸索一下自己应该把标准定的多高,又担心久久不选择,错过了最好的那个,那么Optimal Stop Theory 给出的答案是37%,在37%之后,女嘉宾应该不要犹豫,只要遇到一个比之前的选择都得分高的男嘉宾,该将就就将就吧。
/pic/1_d98hwRnvUibDqjzlhOLUmKC5Yat42w.jpg
对于这个问题的数学建模,感兴趣的童鞋可以自己去推算出上文提到37%来。

/pic/2_96CVd863I2oIr7vh2LxtseKz0YywLg.png

在男嘉宾的数目不同时,女嘉宾按Optimal Stop Theory 应该采取的最优策略,以及对应的有多少比例找到这一组中男嘉宾中最好的那个,有63%的概率遇不到最好的那个这不是一个好消息,但从另一方面来看,Optimal Stop Theory保证了不管男嘉宾有多少个,女嘉宾总能有差不多的几率找到最好的那个。
将选秀节目中的场景反射到生活的时间之流中。我们每个人也都会遇到或多或少几个追求者,也会在到底是该等待唯一的那个人,还是就这么嫁了中彷徨。假设我们的平均寿命是90岁,那么Optimal Stop Theory 告诉你可以在33岁前去探索你的选择,过了33岁之后,再选择遇到的最好那个不迟。下次再遇到逼婚的,就可以给父母亲戚推一推公式,告诉他们数学家已经证明了,再等几年是最优的选择。
2)评价不同方法需要注意的点
比较一下机器学习和传统的数学建模的方式,机器学习处理的多维的,复杂的数据,其模型相比数学模型,需要更少的假设条件,其得出的结论,不会保证其一定是最优的。而数学建模,首先假设了男嘉宾出现的次序和其质量是独立的,更重要的是,其要求女嘉宾对每一个男嘉宾有一个唯一的打分,如果真的能这样,生活中的选择就简单多了。所以说,尽管机器学习有时会给出一些不那么靠谱的选择,在面对现实的问题时,不过度的简化问题,是给出的解答有用的一个必要条件。
不管是那么方法得出的答案,基于数据的思考方式要求你去做验证,要求你去质疑的假设,并看看将某些假设做了修改后,答案又会变成怎样。比如上文提到的问题,如果假设在女嘉宾拒绝了男嘉宾后一次,男嘉宾还会接受女嘉宾,那么女嘉宾的最优选择应该是什么了?又比如女嘉宾能给男嘉宾一个0到100之间的评分,而不是不清楚这届男嘉宾的分数上下限的时候,又应该采取什么样的策略了,数据时代,首先要说的质疑你的假设。
如果你按照算法的逻辑,你需要将一个人抽象成一个数字,而不是有血有肉的一个人,如果习惯了这样的思考方式,那么个人就会越来越活得像个机器,在评价基于数据和算法的思维时,这是一个不容忽视的“副作用”。

上文案例反映的一个更深层次的权衡(tradeoff),Explore vs Exploit。我们年轻的时候,总是忍不住想去看一看世界,所谓的没有看过世界,哪来的世界观,而当年纪渐长,就应有所立足,在某一个领域有所专注,从而exploit自己之前积累的见识,这固然会让你觉得生活不在像之前那样丰富多彩,新的刺激会减少,然而这是生命的常态,如同熵增一样不可避免。要想生命之树常青,除了认识到时间箭头不可逆带来的新朋友新经历越来越少,就是要在自己横向的处理问题时把握好这个权衡,做到既不over explore,也不over exploit。
/pic/3_2U8okPVtHSmgHZiaWdBiaI6QN0klqA.png
over exploit带来的问题是overfitting,这个机器学习中的概念对应是生活中的阴谋论或者对文本的过度解读。比如用一条线连接下图的五个点。overfiting的答案是这样一条包含五个参数的弯弯曲曲的曲线,这条曲线虽然在这五个点上误差极小,但当加入一个新的点之后,结果就不那么好了。这里更好的解答应该是一条包含两个参数的直线。
/pic/4_1MqtWVCcrtuLiaTKEJb0x31YO0BarA.jpg
阴谋论将几个看似不相关的事件用一个不那么简单直接的故事连接起来,在阴谋论为何总是错的?中,对阴谋论有更深入的分析,感兴趣的小伙伴可以点击查看。
犯了over exploit这种错误的小伙伴,总想着找出一个一招鲜吃遍天的法子来,在数据收集的还不够充分的时候,机器学习的方法既可以放大数据中的规律,也可以放大其噪音,只有更多的数据才能解决这个问题。比如下图中的下一个图形该是哪一个,有两种可能的解答,这两种规律哪一个才是我们真正关心的了?只有更多的数据才能回答。/pic/5_ldiaHVXuVHC4LzEKRYWU0QKCOSIuEQ.png
over explore的问题也许更多人更加熟悉,信息过载这个词很多人会觉得陌生,然而当看到那数不清的朋友圈,每日头条的诸多推送,你就会明白什么叫information overload了,关于这个问题,可以参考如果用刷朋友圈的时间读一本书,能读多少本?我应该删掉多少好友,屏蔽多少朋友圈。over explore让人成为只会读兵书的赵括马谡,让人们以为知道了很多碎片化的知识,却无法形成体系。
over explore的一个解毒药是机器学习中No free lunch 定理,我们在机器学习中衡量两个算法,到底孰优孰劣,该怎么考虑?“没有免费的午餐定理”仿佛给了一个很令人 depressing 的答案:针对某一域的所有问题,所有算法的期望性能是相同的。注意,这里有两个关键词,某一域的“所有”,和“期望”性能。所以它并没有否认两个算法有优劣之分,并且事实上还提供了一个视角让我们理解为什么在机器学习中,我们可以选择算法的优劣性。
No free lunch告诉我们,没有一个适用于所有问题的通用方法。机器学习的诸多方法各有各的适用场景,需要使用者因地制宜的去选择。这个定理还告诉我们,即使收集到了全部的数据,我们也无法一锤定音的找到一个一成不变的最优方案。这对从事机器学习人来说是个好消息,说明其工作要被计算机取代,还需要一段时间,任何机器学习算法成功的背后,都是很多人持续的选择和分析一点一滴堆出来的胜利。
3)算法带给我们的更为一般性的启示
数据思维带给我们的启示,除了用数据去支持你人生的决策外,另一点是去关注explore 和exploit自己的平衡,不要犯上面提到的两类错误。知道何时该停止试水的Optimal Stop Theory,无疑可以在这方面给予读者启迪。而另一方,我们可以通过制度的设计来帮助大家去做出更好的选择。
阅读这本书,和看任何算法一样,都体现出现代社会的复杂性下所必须的权衡与弹性,最初的问题太难,放松问题的约束条件,或者去找近似解,无法证明一个问题的解一定正确,可以通过随机的验证保证其在可接受的置信度上是正确的,这些都体现了变通。问题的解决不意味着问题的终结,而是意味着暂时这个问题在可接受的时间范围内有了一个还可以接受的解。如同我们在黑暗中探索,算法带给我们生活的启发永远是gentle的,是不那么极端的。
正如星际迷航中的那首诗中说的,Do Not Go Gentle Into That good Night,人最重要的是有反省心智,是有感情,是不服输的那口气,Old age should burn and rave at close of day; Rage, rage against the dying of the light. 讲算法带来的启发,就一定要提到算法不能够,也不应该觉得我们人生的那部分。正是因为《算法之美》的作者既是一个程序员,也曾受过正规的古典诗歌的训练,正是这样的背景,他才能写出这样具有人文关怀的跨界神作。
Though wise men at their end know dark is right,
Because their words had forked no lightning they
Do not go gentle into that good night.
更多阅读The most human human读书笔记-谈谈语言,人性还有人工智能
别让我们的谈话进入到马尔科夫链的状态
从不拒绝自命不凡,说到柏林墙的终结

面无表情2020-05-02 00:30:23

最近开始用多臂老虎机决策explore/exploit的我建模→选择算法→走向收敛→迭代,如文章所说每一步都很重要,建模反映问题实情,恐怕也是最难的部分了;用耐心去走收敛之路也很难,需要坚持;最后还要有迭代修正的本领和勇气。选择用数据指导自己也是一种选择,我觉得比盲选还是更靠谱,但数据给你的也只是一个参考,到最后拍板时还是该问问自己的心

吸引子2020-05-01 19:00:54

叫模式识别多好,非得叫机器学习,把它最初前人总结出来的算法本质都搞丢了,现在又得花一堆力气去解释那么多,走了弯路才深刻理解其奥义,其实还是数学公式中的那个subject to 即缩写s.t.,多走点弯路也行,至少map框架现在是看到了