算法在左,迷信向右 | 彭文华

简介: 算法在左,迷信向右 | 彭文华

这是彭文华的第120篇原创

   算法代表了科学,迷信意味着愚昧,这很容易区分,也没什么好区分的。作为数据工作者,这本应该就是板上钉钉的事情,根本没有什么好争辩的。但是,请你看下去,你会开始疑惑,然后开始怀疑人生。


奇怪的迷信传统

我描述一些迷信传统,你猜猜是哪个群体做的事情:

  • 在做某件事情之前48小时内,关键人物不许出现;
  • 在某件事进行的适合,要把一枚硬币放在指定地方;
  • 不允许在某一天做这种事情;
  • 关键人物出发之前,男士要在汽车后轮小便,女士则提前尿在容器里撒到汽车后轮;
  • 正式开始之前,每个人都要佩戴护身符;


你也许会说,这是邪教吧?这么邪性?那么我告诉你,这是美国、苏联的宇航员上太空之前的一些传统。就连中国宇航员杨利伟、翟志刚他们登舱之前,也都喝掺了酒的水,当壮行酒。

不仅是宇航员,神舟五号上天的时候,所有人都要喝酒壮行。你说,这群人都是什么人?称他们为世界上最顶尖的科学家不过分吧?为什么他们都搞看上去没啥用的迷信呢?

算法为什么准?

算法是什么?用最简单的二元分类器来说,就是一个能把输入的数据区分为是/否的自动分类器。只要你输入的数据在范围之内,就会像下面的硬币分类器一样,更像1角的会滚到1角的盒子里,更像5角的会滚到5角的盒子里。

但是很多时候,输出的结果并不会按照我们期望的那样,也会搞错了。算法工程师大多数时候就是在提升准确率。算法中有2个重要的指标,叫做“精准率”和“召回率”。

准确率就是这个算法模型一共预测准了多少个案例的程度(1角硬币到1角盒子,5角硬币到5角盒子的情况,占所有硬币的比)。召回率就是1角硬币到1角盒子占所有1角硬币的比。

所以算法优化的过程就是不断提升准确率和召唤率的过程。算法工程师的工作就是在不断的调整参数,让1角硬币滚到1角盒子里。


有些算法的过程我们是能理解并且控制的,比如决策树及其衍生GBDT、XGBoot等。举个例子,相亲中,“合则约见”的决策树长这样,写出来的算法也是这样子的:

这个算法是个人都能看到懂。符合当前条件再看下一个条件,不符合就拉倒。这些所有的逻辑都是我们自己定义的。机器忠实的按照这个模型比对每一个个体,这样就把所有的个体都打上了“见”或者“不见”的标签。


但是也有很多算法是我们看不太懂的。比如K-means、神经网络。K-means是一个聚类算法,就是把所有的相亲对象归归堆。比如我们已经有所有人的月薪和颜值数据。用K-means聚3类的话,算法会随机给出3组值,比如(月薪5000,颜值90)、(月薪9000,颜值60)、(月薪20000,颜值40),然后计算所有人的与这三个值之间的最短距离,更新K值,然后不断重复直到触发停止条件。请注意初始的3组值是随机的,也就是说,算法是在猜。所以每次执行K-means,大概率结果是会不一样的。

如果说K-means是在猜,那好歹我们还能总结一下这几类都有啥特征。比如颜值高但是工资低的,可以叫好看组;颜值中等,月薪也中等的,可以叫实用组,颜值低但是月薪高的,可以叫有钱组等。

但是神经网络就是真的扯了,我们完全不能理解为什么得出这个结果。神经网络分为三个层,输入、隐藏、输出。其中隐藏层又可以拆成N层。他会计算每一个路径通到最后的成功概率,然后不断的优化路径,达到最优化的效果。

所以神经网络有个好处,就是自适应和自学习,迭代N次之后就会出现类似于人类蹒跚学步的效果,所以都叫它“人工智能”算法。围棋界扛把子机器人阿法狗就是神经网络的升级版本,投喂了大量棋谱+超强算力的综合体。现在有些人在下围棋的时候会感觉出来对方是一个“人工智能”。因为人工智能棋手会下出一些我们不能理解的手法。从这个角度上来说,算法本质上就是在乱来,如果死了就结束,重新再来一次,仅此而已。


所以你看,从决策树到K-means到神经网络,算法越来越复杂,越来越不能理解,越来越乱来,越来越像是在瞎猜瞎撞,这哪里像科学啊!这比算命还扯好么?


算命为什么准?

岁数越大,越信命。算法跑的越多,越觉得麻衣神相、算命有道理。比如《麻衣神相》有云:

一取威仪:如虎下山,百兽自惊。如鹰升腾,狐兔自战。不怒而威,不但在眼,亦观顴骨神气取之。

二看精神:身如万斟之舟,驾于巨浪之中,摇而不动,引之不来, 坐卧起居,神气清灵...如此相者,不大贵亦当小贵,富亦可许,不可妄谈定。

《柳庄神相》有云:

把这些话转换一下,跟算法的逻辑是一样一样的。先获取信息,然后根据相书上已经建好的模型,直接套用即可得出结果。看上去好像有点扯?NONONONO!其实不仅是看相是这样,算命也是这样。需要很多信息其实都是话套话套出来的。算命师必备技能是观察技巧和话术技巧,那些算命的口诀只是工具而已,怎么说都有理。


比如:凡是很穷但是穿袜子的,必然是家中落寞之人。为啥?因为古时候真正的穷苦人家是不会穿袜子的。这在算法中就叫特征啊!所以算命就会很准,因为在不停的收集信息,然后根据书上的和算命先生的经验,综合起来的模型,得出一个非常靠谱的结论,自然就很准了。


比如“父在母先亡”。如果来算命的人想算父母,用这句就能应对所有情况。

对方说,父母尚在呢,怎么解?好解啊,人总要死的么,反正是一个先死一个后死。

对方说,父母早亡,怎么解?一样啊,反正一先死一个后死。

对方说,是爸爸先死的,怎么解?一样啊,父在母先,亡。你看,对上了。

对方说,是妈妈先死的,怎么解?一样啊,父在,母先亡。你看,还是对上了。


是不是觉得我在瞎扯?中国的算命就是迷信,就是在瞎扯是不是?好,咱再看一个例子。


《Lie To ME!

这是一部美剧。内容我不多说,超级经典的一部美剧。不过我们只需要看第一季的第一集就行。片中的莱特曼博士根本不需要严刑拷打或者识谎仪,只需要云淡风轻的聊几句,就能知道罪犯那句话是真的,那句话是假的。

他靠的是微表情。是不是感觉神叨叨的,跟跳大神也差不多了?聊了不到10句话,看了几眼,就能知道他想知道的一切?这样太扯了吧?


其实,我们想象一下算法的逻辑。微表情识谎与算法的逻辑是一致的。博士自己构建了一个模型,输入信息是语气、表情、肢体动作等等细微的信息,模型是不同情况下的不同表现代表什么意义,输出结果就是这句话是真的还是假的。


结语

你看多有意思啊?科学和迷信貌似就这样完美的结合了?但是,为什么?

其实我更愿意这么理解迷信和算法:我们对这个世界的一切认识,其实都是一种解释。迷信也好,算法也好,运气也好,命运也好,都是我们自己理解世界、理解复杂事务的一种解释。

我们无法理解为什么有人买彩票就能中奖,如同一只蚂蚁不明白为什么旁边的那只蚂蚁突然被踩死一样。蚂蚁可能会把无聊的小孩当成命运,因为它理解不了人类的行为。


如同我们不能理解也不知道如何提升去太空的成功概率,那么就找一个自己能解释的事情去解释就好了。

我们同样不能完全理解这个世界,只能用看上去很合理的方式去解释,比如壮行酒、朝轮胎撒泡尿、幸运数字等等。算法就一定科学吗?迷信就一定不科学吗?科学就一定是解释这个世界唯一途径吗?再想想蚂蚁,它们是不是也有自己的一套科学理论,来解释他们看到的世界呢?

相关文章
|
9月前
|
算法
【过河卒】回溯算法保姆式解题
【过河卒】回溯算法保姆式解题
50 0
|
10月前
|
算法
回溯算法——我欲修仙(功法篇)
回溯算法——我欲修仙(功法篇)
82 0
|
运维 监控 Java
左耳朵耗子:我做系统架构的一些原则
左耳朵耗子:我做系统架构的一些原则
123 0
|
算法
【递归与递推】洛谷[NOIP2002 普及组] 过河卒
前言 本题来自洛谷P1002. 题目链接:[NOIP2002 普及组] 过河卒 - 洛谷
127 0
LeetCode每日一题(11)——太平洋大西洋水流问题(递归,深度优先遍历实例)
大西洋太平洋水流问题 1.题目 2.示例 3.思路 理解题目 解题思路 4.代码
110 0
LeetCode每日一题(11)——太平洋大西洋水流问题(递归,深度优先遍历实例)
洛谷P2016 战略游戏 (树形dp)
洛谷P2016 战略游戏 (树形dp)
114 0
|
人工智能 算法
LDUOJ——没有上司的晚会(树形DP)
LDUOJ——没有上司的晚会(树形DP)
38 0
|
机器学习/深度学习 算法 vr&ar
蓝桥杯十大常见天阶功法——水之呼吸.壹之型.递归
蓝桥杯十大常见天阶功法——水之呼吸.壹之型.递归
143 0
蓝桥杯十大常见天阶功法——水之呼吸.壹之型.递归
洛谷P1047-校门外的树(模拟)
洛谷P1047-校门外的树(模拟)

热门文章

最新文章