1.3 模型选择 在我们使⽤最⼩平⽅拟合多项式曲线的例⼦中,我们看到,存在⼀个最优的多项式阶数,能 够给出最好的结果。多项式的阶数控制了模型的⾃由参数的个数,因此控制了模型的复杂度。 通过正则化的最⼩平⽅,正则化系数λ也控制了我们的模型复杂度。⽽对于更复杂的模型,例如 混合分布或者神经⽹络,可能存在多个控制模型复杂度的参数。在实际应⽤中,我们需要确定 这些参数的值,这么做的主要⽬的通常是为了在新数据上能做出最好的预测。此外,除了找到 模型中复杂度参数的合适的值之外,我们可能还希望找到⼀个可选的模型的范围,以便能够找 到对于特定应⽤的最好的模型。 我们已经看到,在最⼤似然⽅法中,由于过拟合现象,模型在训练集上的表现并不能很好地 表⽰模型对于未知数据的预测能⼒。如果数据量很⼤,那么模型选择很简单。使⽤⼀部分可得 到的数据,可以训练出⼀系列的模型,也可以得到某个给定模型的⼀系列复杂度的参数值。之 后在独⽴数据上(有时被称为验证集)⽐较它们,选择预测表现最好的模型即可。如果模型的 设计使⽤有限规模的数据集迭代很多次,那么对于验证数据会发⽣⼀定程度的过拟合,因此保 留⼀个第三⽅的测试集是很有必要的。这个测试集⽤来最终评估选择的模型的表现。 但是在许多实际应⽤中,训练数据和测试数据都是很有限的。为了建⽴好的模型,我们 想使⽤尽可能多的可得到的数据进⾏训练。然⽽,如果验证机很⼩,它对预测表现的估计 就会有⼀定的噪声。解决这种困境的⼀种⽅法是使⽤交叉验证(cross validation),如图1.18 所⽰。这种⽅法能够让可得到数据的S−1 S ⽤于训练,同时使⽤所有的数据来评估表现。当数 据相当稀疏的时候,考虑S = N的情况很合适,其中N是数据点的总数。这种技术叫做“留⼀ 法”(leave-one-out)。 交叉验证的⼀个主要的缺点是需要进⾏的训练的次数随着S⽽增加,这对于训练本⾝很耗时 的问题来说是个⼤问题。对于像交叉验证这种使⽤分开的数据来评估模型表现的⽅法来说,还 有⼀个问题:对于⼀个单⼀的模型,我们可能有多个复杂度参数(例如可能有若⼲个正则化参 29
- 粉丝: 39
- 资源: 4133
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助