贝叶斯方法不会过拟合是真的吗?

机器算法验证 贝叶斯 非参数 高斯过程 过拟合 指定错误
2022-02-05 06:49:33

贝叶斯方法不会过拟合是真的吗?(我看到一些论文和教程提出了这种说法)

例如,如果我们将高斯过程应用于 MNIST(手写数字分类),但仅显示单个样本,那么对于与该单个样本不同的任何输入,它是否会恢复到先验分布,无论差异多么小?

2个回答

不,这不是真的。贝叶斯方法肯定会过拟合数据。有几件事可以使贝叶斯方法对过度拟合更加健壮,您也可以使它们更加脆弱。

当有人缺乏零假设方法的“真实”模型时,贝叶斯假设的组合性质而不是二元假设允许多重比较。贝叶斯后验有效地惩罚模型结构的增加,例如添加变量,同时奖励拟合的改进。惩罚和收益不是像非贝叶斯方法那样的优化,而是新信息的概率变化。

虽然这通常会提供更强大的方法,但有一个重要的限制,那就是使用适当的先验分布。虽然有一种趋势是希望通过使用平面先验来模仿频率论方法,但这并不能保证一个正确的解决方案。有关于贝叶斯方法过度拟合的文章,在我看来,罪过似乎是试图从严格平坦的先验开始对非贝叶斯方法“公平”。困难在于先验对于标准化可能性很重要。

贝叶斯模型本质上是 Wald 的可接受性意义上的最优模型,但其中有一个隐藏的怪物。Wald 假设先验是您真正的先验,而不是您正在使用的某些先验,这样编辑就不会因为您在其中放入太多信息而对您不利。它们并不是与频率论模型相同的最优值。频率论方法从优化方差最小化同时保持无偏开始。

这是一种代价高昂的优化,因为它丢弃了信息,并且在 Wald 意义上本质上是不可接受的,尽管它经常是可接受的。因此,考虑到无偏性,Frequentist 模型提供了对数据的最佳拟合。贝叶斯模型既不是无偏的,也不是对数据的最佳拟合。这是您为最小化过度拟合所做的交易。

贝叶斯估计量本质上是有偏估计量,除非采取特殊步骤使其无偏,否则通常更不适合数据。他们的优点是他们永远不会使用比替代方法更少的信息来找到“真实模型”,并且这些额外的信息使得贝叶斯估计器永远不会比替代方法更具风险,特别是在没有样本的情况下。也就是说,总会存在一个随机抽取的样本,它会系统地“欺骗”贝叶斯方法。

至于您问题的第二部分,如果您要分析单个样本,则后验的所有部分都将永远改变,并且不会恢复到前一个,除非有第二个样本完全抵消了第一个样本。至少在理论上这是正确的。在实践中,如果先验信息足够丰富,而观察结果信息足够少,那么影响可能非常小,以至于由于有效数字数量的限制,计算机无法测量差异。影响可能太小,以至于计算机无法处理后验的变化。

所以答案是“是的”,您可以使用贝叶斯方法过度拟合样本,特别是如果您的样本量较小且先验不正确。第二个答案是“不”贝叶斯定理永远不会忘记先前数据的影响,尽管影响可能很小,以至于您在计算上会错过它。

需要注意的是,与几乎所有其他地方一样,贝叶斯方法中的一个重要问题可能是模型错误指定。

这是一个显而易见的观点,但我想我还是要分享一个故事。

从本科回来的一个小插曲...

贝叶斯粒子过滤的一个经典应用是跟踪机器人在房间内移动时的位置。运动会扩大不确定性,而传感器读数会降低不确定性。

我记得编写了一些例程来执行此操作。我写了一个合理的、有理论依据的模型,用于在给定真实值的情况下观察各种声纳读数的可能性。一切都是精确派生的,编码精美。那我去测试一下...

发生了什么?彻底失败!为什么?我的粒子过滤器很快就认为传感器读数已经消除了几乎所有的不确定性。我的点云塌陷到一个点,但我的机器人不一定在那个点!

基本上,我的似然函数很糟糕;我的传感器读数没有我想象的那么丰富。我过拟合了。一个办法?我混合了更多的高斯噪声(以一种相当特别的方式),点云停止崩溃,然后过滤工作相当漂亮。

道德?

正如 Box 所说的那样,“所有模型都是错误的,但有些模型是有用的。” 几乎可以肯定,你不会有真正的似然函数,如果它足够偏离,你的贝叶斯方法可能会严重出错和过度拟合。

添加先验并不能神奇地解决由于假设观察结果不是独立同分布而产生的问题,假设可能性的曲率比它更大等等......