原文链接:http://tecdat.cn/?p=19518
介绍
模型表现差异很大的可能原因是什么?换句话说,为什么在别人评估我们的模型时会失去稳定性?
在本文中,我们将探讨可能的原因。我们还将研究交叉验证的概念以及执行它的一些常用方法。
目录为什么模型会失去稳定性?
什么是交叉验证?
交叉验证的几种常用方法验证集方法
留一法交叉验证(LOOCV)
k折交叉验证
分层k折交叉验证
对抗验证
时间序列的交叉验证
自定义交叉验证技术
如何测量模型的偏差方差?
为什么模型会失去稳定性?
让我们使用下面的快照来说明各种模型的拟合情况,以了解这一点:
在这里,我们试图找到数量和价格之间的关系。为此,我们采取了以下步骤:我们使用线性方程式建立了关系,并为其显示曲线图。从训练数据点来看,第一幅图有很高的误差。在这种情况下,我们的模型无法捕获数据的潜在趋势
在第二个图中,我们刚刚发现了价格和数量之间的正确关系,即较低的训练误差
在第三个图中,我们发现训练误差几乎为零的关系。这是因为通过考虑数据点中的每个偏差(包括噪声)来建立关系,即模型过于敏感并且捕获仅在当前数据集中存在的随机模式。这是“过度拟合”的一个例子。
数据科学竞赛的一种常见做法是迭代各种模型以找到性能更好的模型。为了找到正确的答案,我们使用验证技术。
什么是交叉验证?
在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预测,并求这小部分样本的预测误差,记录它们的平方和。
以下是交叉验证中涉及的步骤:保留样本数据集
使用数据集的其余部分训练模型
使用测试(验证)集的备用样本。帮助您评估模型性能的有效性。
交叉验证的几种常用方法
有多种方法可用于执行交叉验证。我已经在本节中讨论了其中一些。
验证集方法
在这种方法中,我们将数据集的50%保留用于验证,其余50%用于模型训练。但是,这种方法的主要缺点是,由于我们仅在50%的数据集上训练模型,因此很可能会错过一些