“信息论理应先于概率论,而非基于概率论。”
——公理化概率论创始者Andrey Kolmogorov
今天我们讲一件旧事。物理学家Richard Cox曾证明过一个事关概率论基础的定理:令A,B为两事件,若f(A,B)为满足下列条件的实值函数:
(1)对任意B≠∅,f(A,B)可以被表成f(Ω\A,B)的某个二阶可微函数。式中Ω\A为事件A的补。
(2)对任意A∩B≠∅,f(A∩B,C)可以被表成f(B,A∩C)和f(A,B)的某个二阶连续可微函数。
则存在一一连续映射g:R→[0,1],使得P(A|B):=g·f(A,B)满足Kolmogorov的概率论公理,从而数学性质与通常的条件概率P(A|B)并无二致。而事件A自身的概率则可被定义为P(A):=P(A|Ω)。因为g是一一的,所以反过来也能把条件概率还原为f(A,B),f(A,B)可以被看做是一种用来导出概率的“原材料”。
在Cox的原始论文中,f(A,B)代表人根据已知B对事件A所怀有的确信程度。联系常理可以说明,符合常识的信念应满足上述两条件(例如,条件1无非表示对一事件的信念完全决定了对其反面的信念,且两者间可以通过性质良好的函数关系换算),由这一定理就推出了令人赞叹的结果:任何成功量化信念的方法最终都导致通常的概率论,所以,概率完全可以认为是最适合信念的表示方法而不需要涉及独立事件本身发生的次数。虽然Cox的论文本来只是发表在统计物理期刊上,现在客观贝叶斯学派已经把它作为重要论据了。
不过,因为Cox定理本身的证明是纯形式的,所以f(A,B)就算不表示信念也没关系。只要所涉及的对象间允许定义对应于集合交并补的演算且满足(1)(2)这两个很自然的要求,f甚至可以是能量密度,股价或酸碱度。这也把概率论的一个特征凸显了出来:概率论的应用不代表有客观随机性存在,即使一个过程是完全确定的,还是可以用概率描述它(这也是贝叶斯学派先驱拉普拉斯所相信的)。
实际上,概率和统计也从来不能真的【证明】一个过程中真的有不确定性和偶然性,我们所做的事情是【预设】它确实是满足某些条件的随机过程,然后根据得到的数据检验原本的假设。你永远都不能把统计检验当成是证明,即使在近似的意义上也不行。只要这种检验方法是以确定性的流程进行的,那么它都包含着漏洞——用冯-诺依曼的话来说:
“任何考虑用算术方法来生成随机数的人,都犯下了僭越之罪”
把生成数据换成检验其实也是一样的,“用算术方法来检验数据是否来自真随机源的人,都犯下了僭越之罪”。假如我们有一种确定性的流程(或者说算法)A可以检验数据的随机性,那么总可以用一个同样完全确定的算法B来生成“随机”的数据,方法非常简单:按固定顺序逐个枚举二元串,调用A判断是否随机,输出第一个被A判定为随机且未曾被访问的串。因为A是确定性的,所以B的输出一定也会被A(再次)判定为来自真随机源,但运行算法B的机器显然不是。
如果我们的检验流程本身是非确定性的,看起来可以避开上面的矛盾,因为此时调用了A的B不再是完全确定性的。但这又陷入了鸡生蛋蛋生鸡的循环之中:这个非确定性的流程本身就需要真随机源的帮助(如果你使用伪随机,那么它其实还是确定性的),那么,第一个真随机源是怎么检验出来的?
而现在我们注意到并不需要假定这种偶然性的真实存在也能应用概率,上述的问题就自然不是障碍了,尽管作为哲学问题还有些趣味。
这种概率观还能解决一项重要的实际问题:在人工智能领域,很多算法是用概率和统计的方式来实现“推理”的过程的,你可能会质疑说:人类的推理不是基于概率的计算,因此机器的推理最终必定走向与人类完全不同的结果,机器不可能理解人的智能。
但如果你这样考虑:人的神经活动状况也是可以用物理量来描述的,物理量都是实值。把描述人脑对不同事件的反应的物理量看做是Cox定理中的f,由于它必须正确反映信念的变化,从而自然满足定理的前提。由Cox定理知这个物理量总可以被变形为一个满足概率论公理的量(注意这种变换是一一的,所以信息被完全保持)
现在我们不把人工智能算法中的“概率”理解成概率,而是理解成这个变形后的物理量的话,问题就迎刃而解了:基于“概率”的算法其实可以视为就是在模拟人脑活动,只是把数据做了一种归一化的变换而已。由于数学性质完全和概率一样,算法不需要做任何修改。