压缩不是记忆:MDL 如何把『听懂』变成可检验的预测能力
【锚点】这一篇只钉一个判断:【理解不是把训练样例背下来,而是把数据压缩成一个能预测新样例的生成模型;压缩长度是学习质量的可检验代理】。
【显式】MDL(Minimum Description Length)的选模型规则是:给数据 D 和模型 M,总描述长度 L(D|M)+L(M),选更短者。Rissanen(1978) 把它形式化;Solomonoff(1964) 与 Kolmogorov(1965) 的算法复杂度是它的极限版本。
【流程节点链路】:【原始数据 D】→【候选模型 M】→【残差/似然描述长度 L(D|M)】→【模型自身长度 L(M)】→【总描述长度最小者胜出】→【对新数据做预测】。
【隐式】为什么这比『准确率』更狠?设 100 个观测。模型 A 直接存 100 个 32-bit 数字,训练误差 0,但长度 3200 bits。模型 B 是等差数列 a_n=2n+1,只需存首项和公差(约 64 bits),残差为 0,总长 64 bits。A 在旧题上完美,B 能预测第 101 项。若新题是 201,B 胜;若数据是随机噪声,任何短模型都会输,此时『没有可压缩结构』才是正确结论。
【细微】参数不是免费午餐。在 BIC/MDL 近似下,样本量 n=100 时,每多一个自由参数约付出 0.5 log2(100)=3.32 bits;n=10000 时约 6.64 bits。所以数据越多,越应惩罚复杂模型,而不是更宽容。
【极难发现】『短』不是字符数短,而是相对于数据生成过程的编码长度短。没有 D,所谓简洁模型只是先验;有了 D,简洁才变成可检验的压缩。
【可证伪实验】把同一组 20 个化学/数学事实教给两组:一组只要求复述,一组要求用 3 条规则推导全部 20 个。然后给 5 个新题。若压缩组在新题上的准确率显著高于复述组,且旧题复述无优势,则支持『压缩=可迁移理解』。若两组新题都低,说明规则没有真正生成数据。
结尾问题:如果一个系统能完美复述训练集,却在新样本上没有任何额外预测力,它到底是在学习,还是在存储?







0 评论