没有免费午餐——为什么偏差学不来
父级:learning-theory 前置知识:learning-theory —— 定义了
H(假设类)、样本以及泛化误差。
没有免费午餐定理(Wolpert,1996)对所有可能的目标函数取平均(也就是世界所有可能的样子),每一个学习算法在未见数据上的期望误差都相同——不比随机猜测更好。不存在普适学习器。
定理实际说的是什么
任取一个在某组世界上表现良好的学习器。存在另一组恰好同样大的世界(把每一个未见过的标签都翻转所得到的那些世界),学习器在其上的表现同样糟糕。已见数据对这两组世界同样成立,数据本身无法区分它们。在你的问题上表现好从来不是免费的——它是用你永远不会遇到的那些"反问题"上的糟糕表现换来的。
所以:学得好 = 你的归纳偏差恰好匹配了你实际所处的世界。 把 H 限制为"合理的"假设(小的 VC)就是这种偏差。
学不到的底层(第 0 层)
这就逼出了一个回归。学习需要先验/偏差——但这个偏差本身无法被学到:要学出哪个偏差是对的,你需要"哪些偏差奏效过"的例子,而这又需要一个关于偏差的先验,如此层层递归。最底层的假设是给定的,不是学来的——是一层学不到的底座。
这正是休谟归纳问题(过去的观察再多,也无法在逻辑上证成一个预测)的形式化骨架,也是"什么都不假设 → 什么都学不到"这句话的由来。每一个学习器都在第 0 层偷偷塞进了一个关于世界的假设;诚实的做法是把它明说出来。