是否可以比较具有相同数量参数和解释变量的模型的简约性?

机器算法验证 模型选择
2022-03-23 21:44:46

简约通常被定义为模型中不必要的参数或解释变量的最小化。但是模型也有结构——可以改变的功能形式。在具有相同数量参数的两个模型之间,是否可以说一个模型比另一个模型更简洁?另一种说法可能是:有没有办法量化一个初等函数的简单性?

例如,f(x)=1cos(x)f(x)=x22在大约 -0.5 和 0.5 之间是一个非常相似的函数:

1-cos(x) 和 x^2

它们可以是在该有限域上运行的过程的同样好的模型。有没有办法说一个比另一个简单?

2个回答

当统计学家说他们更喜欢简约模型时,他们实际上是在警告不要过度拟合。除了易于解释之外,确实没有其他统计理由更喜欢简约模型,一般来说,这对统计学家来说是一个愚蠢的理由。我认为格尔曼在这里很好地阐明了这一点当然,我们为了可解释性而牺牲统计准确性的原因是可以想象的,但这些不是统计原因。

我意识到这并不能真正回答你问题的精神,所以我也会尝试这样做。函数的“复杂性”是客观的。我想很多人都会同意,一个非常“弯曲”的函数比一个不太弯曲的函数更复杂。评估函数弯曲度的一种方法是查看导数,以下是评估函数在其域内的弯曲度的方法,

f(x)2dx

参数的数量通常不能很好地衡量函数或模型的复杂性。在不同的场景中有多种测量复杂性的方法——最简单的方法之一是Vapnik–Chervonenkis 维度基本思想是想象一堆分布在 xy 平面上的点,一些标记为 +,一些标记为 -。是否可以选择来自特定模型类的曲线,使得所有 + 点都在线上方,所有 - 点都在下方?您可以执行此操作的点数定义了模型类的“摆动”程度,以及它的复杂程度。

例如,假设您有两个模型f1(x)=ax2f2(x)=1cos(ax), 每个都有一个可调参数a. 对于每个模型,我们可以为多少个点(比如放置在 -0.5 和 0.5 之间)产生任何 +/- 标记?f1(x)以这种方式衡量非常差,因为它甚至不能为两个点生成所有标签(如果y1/x12>y2/x22,那么你永远不能得到线以下的点 1 和上面的点 2)。f2(x)然而,实际上具有无限的 VC 维度,因为它可以为任意数量的点生成任何标签(请参见此处的解决方案 B2b)。所以如果两者f1f2两者都能很好地拟合某些数据(例如,我们可以找到a对于每个适合的),我们强烈希望f1因为它来自一个更简单的模型类,因此更容易泛化。

请注意,我们在这里讨论的是函数类的复杂性,而不是您在问题中暗示的特定函数-通常“参数”不是指输入x函数的系数,但模型各部分的系数 (a在我的例子中)。