最小描述长度准则—Minimum Description Length

来源:互联网 发布:九域神皇免费阅读 软件 编辑:程序博客网 时间:2024/06/07 15:51

一、MDL的提出目的  

提出最小描述长度(MDL)的目的是为了根据信息论中的基本概念来解释极大后验假设(MAP)。

二、理论基础

A. 极大后验假设(MAP)  

贝叶斯公式:

 

在许多学习场景中,学习器考虑候选假设集合H并在其中寻找给定数据D时,可能性最大的假设h(或者存在多个这样的假设时选择其中之一)。这样的具有最大可能性的假设h被称为极大后验(maximum a posteriori, MAP)假设。

h满足一下公式:


在最后一步,去掉了P(D),因为它不依赖于h。

B. 最优编码

假设想要为随机传送的消息设计一个编码,其中遇到消息 i 的概率是 Pi。Shannon 已经证明最优编码(使得期望消息长度最短的编码)对消息 i 的编码长度为

三、最小描述长度准则的信息论解释

极大后验假设所满足的等式,可以等价地表示为使以2为底的对数的负值最小化:

上述等式与我们熟悉的极大后验假设公式完全等价。由此也不难看出:

1. 公式中第一项对应的是——在给定假设 h 时,训练数据 D 的描述长度。也即是发送者和接收者都知道假设 h 时描述数据 D 的最优编码。

2. 公式中第二项对应的是——在假设空间 H 的最优编码下 h 的描述长度。

至此,可以看出:最小描述长度准则默认选用使这两个描述长度的和最小化的假设 h。

四、对最小描述长度的思考

从信息论的角度看最小描述长度公式,可以把整个学习过程(以分类为例)理解为以下过程:

发送者需要将训练数据 D (包含特征和分类结果)、拟合这些数据的假设 h 以编码的方式传送给接收者。在此处明确一下发送者究竟需要传送哪些必须的信息呢?

训练数据——为了尽量降低编码长度,我们假设发送者和接收者都知道每一个训练数据的特征信息,所以特征信息就不用编码传送。而每一个训练数据的分类结果必须传送吗?答案是N0,因为我们还要讲假设 h 编码传送。如果训练数据的分类结果label 和通过假设 h 预测出的结果一致,那么我们就不需要传送这个数据的标签信息。只有当训练数据预测出错时,才需要将正确的标签信息传送。

假设——假设 h 必须编码传送。并且 h 越复杂, 编码长度越大。如若不明白,可以假设学习器是决策树,对树的编码方法随着决策树节点和边的增长而增加。

其中对训练数据的编码和对假设的编码分别记为 C1 和 C2。

至此可以看出,当 C1 和 C2 分别选取MDL准则中对应的最佳编码方式时训练数据和假设的编码长度之和最小。所选的假设 h 也就是 极大后验假设。

注:从上面的分析可以看出,MDL准则,实际上是假设复杂性(模型复杂度)和假设产生错误的数量之间对的一个折中。MDL 倾向于选择一个产生少量错误而且较短的假设,而不是能完美分类你和训练数据的较长的假设。

五、博主有话说

MDL准则,可以用于处理数据过拟合的问题。Quinlan & Rivest 在1989年就做过实验验证,相关报告可以在 Information and Computation 中找到,报告全称是 Inferring decision trees using the minimum description length principle.

MDL能不能说明所有情况下短假设最好?MDL应用的难点在哪儿?

答案是 否!回顾MDL的证明过程,我们能明确的是,当选定编码方式 C1 和 C2时,如果能使得假设 h 的编码长度和给定 h 训练数据 D 的编码长度分别满足 MDL中的形式时,MDL准则将能得到 MAP 假设。

所以,我们仍没有证明,对于任意 C1 , C2,MDL假设都是最好的。故此,答案是否。

MDL的应用难点在于,我们需要知道所有假设 h 的概率 以及在假设 h 下,训练数据 D 的概率。目前研究者对于MDL的争论,集中于为选择 C1 和 C2 的论证。

MDL 准则是个很有意思的玩意儿,也远比我写的复杂得多。欢迎大牛指正,也欢迎各位交流学习。


阅读全文
0 0