36|最大熵原理:确定的答案找到之前,我们该做什么?

你好,欢迎来到我的《信息论40讲》。
我们上一讲所讲的奥卡姆剃刀法则,其核心是一个简单性的原则。当我们找到基函数时,而且找到了对一个事物最根本规律的认识时,我们可以得到对它最简单、最有效的描述。这就是牛顿、爱因斯坦、沃森、克里克和门捷列夫等人所做的工作。
但是,在寻找到这样的本质规律之前,我们可能需要有很多过渡性的模型,让它们来帮助我们解决当下的问题。毕竟,人类不可能等到建立起牛顿力学才制定历法,等到门捷列夫画出元素的周期表才开始寻找基本元素。
那么我们在建立那些过渡性的模型时应该遵循什么原则呢?最有效的原则就是所谓的最大熵原理。这也是我在信息论领域的主要研究方向。
“最大熵原理”这个词听起来有点唬人,但是它的原理并不难理解,我举两个例子你就明白了。
第一个例子是我在博士毕业找工作时,给别人做报告时举的。通常在美国,博士生要找一个研究型的职位,需要在应聘的研究机构做一个学术报告,展示自己的学术水平。
我做的研究就是最大熵模型的算法,这个算法背后是一大堆数学公式。如果直接推导数学公式,听众就走光了。因此为了给大家讲明白这个道理,我每次去做报告的时候,会随身带两个骰子。
在做报告时,我会先拿出第一个骰子掷一下,问听众五点那个面朝上的概率是多少?所有人都说是1/6,因为各个面朝上的概率是相等的。这种猜测当然是对的。
我随后又问听众们为什么猜1/6,而不是1/2或者1/10?大家都回答说,因为对这个骰子一无所知,只好假定它每一个面朝上的概率是均等的。
接下来我拿出另外一个被我做了手脚的骰子,我把几个角给磨圆了,然后给大家看,问大家五点朝上的概率是多少?这时没有人再猜1/6了,因为他们看到这个骰子并不均匀,他们有人猜是1/3,有人猜1/2,总之不再是1/6,说明大家在得到新的信息后,会自动考虑到“现在5点朝上的概率应该变化”这个事实。
当然,具体到那个骰子,5点朝上的概率大约是2/5,这是我经过实验验证过的,而在5点对面的2点,朝上的概率近乎是零。
于是,我又把这个事实告诉大家,接下来我再问听众,那么剩下的四个面朝上的概率分别是多少呢?大家通常会猜是3/20。因为认为除去五点和两点的概率总和2/5,剩下的3/5概率要由四个面均分,于是平均来讲就是3/20了。
为什么大家要平均分配剩下来的概率,而不会觉得1点朝上的概率比6点朝上的概率来得大呢?因为这样对大家来讲风险最小。
听我报告的人每次在作判断时,其实就是基于简单的算术加上直觉。而人作出这种基于直觉的预测,背后的依据是让风险最小,平均分配概率符合这一点要求。所幸的是,让风险最小的直觉碰巧符合了信息论中最大熵原理,因此它作出的判断是基本正确的。
接下来我们就说说最大熵原理,它的含义是这样的。当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要作任何主观假设。
我们在第一个骰子的问题上,得不到任何已知条件,因此我们不能有任何主观假设,猜每一个面朝上的概率是1/6就可以了。
但是,当我给大家看了做过手脚的骰子,大家就得到了部分信息,所以在第二次作预测时,大家首先要保证预测符合已知的信息,也就是说5点和它所对应的2点朝上的概率应该分别是2/5和0。
但是对于任何的未知,依然不能作任何主观的假设,于是大家在其他四个面朝上的概率上,均匀分配剩下的概率,猜3/20就可以了。
如果我们按照上述的方法,去建立一个概率的模型,可以证明这样的概率模型会使得熵,也就是不确定性,达到最大值,因此这种模型被称为“最大熵模型”,而相应的,建立模型的原则就被称为最大熵原理。
最大熵原理也可以用老子的智慧从另一个角度诠释一下,那就是“过犹不及”。我们学了信息论,知道信息是用来消除信息熵,也就是不确定性的。
在上面的例子,大家在猜骰子哪面朝上时,已经利用了所有已知信息,将信息熵减少了,该确定的已经确定了,我们不可能进一步减少信息熵了。于是剩下的信息熵就达到了最大,这就是把信息使用地刚刚好。
如果我们自作主张地想进一步降低信息熵,作了很多主观的假设,作出来的预测反而不准确了,我们在前面学了,不准确的预测风险是极大的。因此这就是老子所说的“过犹不及”了。
那么这个最大熵模型在技术上有什么好处,或者相对其它技术有什么优势呢?
首先,它显然和我们所有已知的信息相符合,因为我们的模型就是用已知信息搭建起来的。
其次,这样的模型最光滑。光滑在数学上是一个什么概念?你可以理解为它不会遇到黑天鹅事件,方方面面都考虑得很周全。最大熵模型光滑的原因,在于我们对于未知的信息,没有作任何的主观猜测,就可以保证结果能覆盖所有的可能性,不会有所遗漏。
我们还是以那个做了手脚的骰子为例来说明。我们只知道两件事,五点朝上的概率大约是2/5,两点朝上的概率大约是零,对于另外四个面的概率不知道。
这时候你可以赌,比如赌三点朝上的概率为1/3,四点朝上的概率为零。你或许会赌对,又或许会赌错,但是长期看下来,这样赌的风险很大,因为不符合概率上的计算结果。
因此,我们可以认为,一个光滑的模型,可以让预测的风险最小。而最大熵原则恰好满足这一点。
我们在投资时常常说这样一句话,不要把所有的鸡蛋放在一个篮子里,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性,而不要随便作主观的假设。
最后,如果你得到的信息是矛盾的怎么办?其实很多时候,我们之所以难以决策,就是因为它们相互矛盾,我们常常在“如果这样……”可是“又会那样……”的两难境地。
最大熵模型用数学推理的办法解决了整个问题,它无法同时满足两个矛盾的先决条件,会自动地在这两个条件中找到一个中间点,保证信息的损失最小。可以讲,最大熵模型在形式上是最漂亮、最完美的统计模型,在效果上也是最好、最安全的模型。
了解了最大熵模型的这么多好处,很多人会想,那我们就在各种场合使用它吧!
凡事有一利就有一弊,最大熵模型虽然有很多好处,但它最明显的弊端是计算量太大,直到21世纪之后,由于计算机速度的提升以及训练算法的改进,很多复杂的问题才开始采用最大熵模型来解决,比如自然语言处理。
这个问题一解决,就马上被用在了新技术上。当然,和钱紧密联系的行业总是喜欢最先采用新技术,因此美国的不少对冲基金,包括著名的文艺复兴技术公司,都是最大熵模型的最早使用者,它们也因此取得了很好的收益。
我在约翰·霍普金斯大学期间改进了这个模型的训练算法,然后写了一个简单的编程工具,后来有人把我论文中的算法做成了开源的代码,今天你如果需要使用这个模型,并不需要从头开始,只需要使用开源软件即可。
对大部分人而言,最大熵重要的是原理,而不是公式模型,毕竟模型使用的人会非常少。对于最大熵的原理,每一个人都应该记住以下三个结论:
1.如果你获得了全部的信息,事情就是确定的了,就不要用概率模型进行预测了。所以,最大熵模型的应用场景是你获得了一部分确信的信息,但是没有获得全部的时候。这时你要保证所建立的模型满足所有的经验,同时对不确定的因素有一个相对准确的估计。
2.在没有得到信息之前,不要作任何主观假设。这一点对投资非常重要。很多人觉得股市连续涨了半年就一定会下跌,或者下跌了半年就一定会涨,这些都是主观的假设。
我们在前面介绍投资时讲过,要想获得投资最大的收益,就需要将钱长期放在一个健康的股市中。事实上时机你是把握不住的,而时间是你的朋友。很多人对所谓时机的判断,都是主观的,其实是一种投机行为。
3.不要把鸡蛋放在一个篮子里,而要让凡事变得“平滑”,因为按照最大熵的原理,这样做风险最小。
此外,透过最大熵模型,我还想表述一个事实,那就是形式上简单的东西,获得它未必容易,在数学上漂亮,形式简单,但是实现起来反而难度很大。
我上节课讲到奥卡姆剃刀法则时说简单的方法常常最有效,可能会有人将简单和初级、低水平划等号。形式上简单的东西未必初级,相反,要把道理总结得简单易懂,自己需要有深刻的理解,在科学上,要得到形式简单的规律,反而要做更多的工作。
思考题:如果你知道未来汽车都将是电动汽车,但是你不知道哪家电动汽车公司值得投资,你怎样投资才能不错失机会,也不会把鸡蛋放在一个篮子里?
预告:下一讲,我们介绍另一个原理,麦克斯韦妖和测不准原理,告诉你能量和信息之间的互换关系。我们下一讲再见。