因果关系

朱迪亚珀尔老爷子认为现代正火着的基于统计学的人工智能是没有希望通过图灵测试的,只有算法会做反事实推理,会因果关系才有可能,才是强人工智能的基础。所谓反事实推理,就是“如果不做什么,事情会是什么?”这样的反问,这样的推理。到目前为止还没有这样的人工智能。作者认为这个推理的理论基础要靠一门新的学科”因果关系“,他干脆出了一本书来推广这个理论,这本书叫《为什么》。

在《为什么》一书中,他赤裸裸的嘲笑了统计学的多位大师,并列出很多单纯从统计学思考问题而引出的笑话,比如著名的辛普森悖论等等。

其中作者对变量之间的伪相关关系做了一个总结,受益匪浅。对我平时处理不确定性高的问题挺有帮助。比如耳机的蓝牙连线不稳定,播放声音有杂音等等的问题的处理,我们需要设计实验做各种验证,寻找因变量和问题之间的因果关系,而这些变量到底该不该控制是大有学问的,控制错了的话,很可能得出一个错误的结论你还不知道,作者针对变量之间的结合关系总结了三种,这里记录下。

  1. 链结合:A—>B—>C,比如 火灾—>烟雾—>报警

是烟雾引起了报警,实际上火灾跟报警没有关系。

  1. 叉结合:A<—B—>C,比如:鞋子尺码<—孩子年龄—>阅读能力

如果你发现鞋码大的孩子,阅读能力强,你就认为脚大的孩子聪明,那你搞错了因果关系,实际上真正的原因是跟孩子年龄有关,年龄大了,脑量后了才有可能阅读能力强。

  1. 对撞结合:A—>B<—C,比如:长得帅—>明星<—演技好

如果你认为长得帅跟演技好是相关的,那也是有问题的。长的帅可以当明星,演技好可以当明星,但长得帅跟演技好之间没关系。

所以我们在设计实验的时候,要提前思考过控制变量之间是否条件独立,否则要花费很多时间绕在虚假关系中。

比如分析噪音问题,需要先要搞清楚整个音频线路上有哪些部分,然后确认针对这些部分可以做哪些操作,最后找到是那个变量引起了最终的噪音。比如音源就有可能有噪音,那你一直控制“音频处理算法”这个变量就是错误的,你可能开开关关了一大堆DSP算法,绕在这个虚假关系中,浪费大量时间。

flowchart LR
  Setting[软件配置]-->2822DAC[数模转换]
  Buck[芯片内干扰]-->2822DAC
  2822DAC-->Wired[音频线材]-->Noise[接收端噪音]
  2822DAC-->Noise
  Source[音源]-->DspLib
  Source-->Noise
  DspLib[音频处理算法]-->Stream[音频数据流]
  Stream-->Noise