我有点理解“过度拟合”的含义,但是我需要有关如何提出适用于过度拟合的真实示例的帮助。
我有点理解“过度拟合”的含义,但是我需要有关如何提出适用于过度拟合的真实示例的帮助。
Answers:
这是xkcd总统选举时间序列模型的一个很好的例子:
只有56次总统选举和43位总统。要学习的数据不多。当预测变量的空间扩展到包括假牙和名字的Scrabble point值之类的东西时,模型很容易从拟合数据(信号)的通用特征开始与噪声进行匹配。发生这种情况时,历史数据的拟合度可能会提高,但是当用于推断未来的总统选举时,该模型将惨遭失败。
我最喜欢的是美国人口普查人口与时间的关系的Matlab示例:
(至少我衷心希望这是过度拟合的例子)
http://www.mathworks.com/help/curvefit/examples/polynomial-curve-fitting.html#zmw57dd0e115
陈等人的研究。(2013年)将两个三次方拟合为预期寿命随纬度变化的不连续性。
Chen Y.,Ebenstein,A.,Greenstone,M。和Li,H.2013。持续暴露于空气污染对中国淮河政策预期寿命影响的证据。美国国家科学院院刊 110:12936-12941。 抽象
尽管它在杰出的期刊等上发表过,也得到了杰出人士的默许,等等,但我仍然将其作为过度拟合的初步例子。
一个有说服力的迹象是立方的不可信性。隐式拟合三次方是由于某些原因,预期寿命会随您所居住的纬度的三次多项式而变化。这似乎是难以置信的:很难想象会引起这种影响的合理的物理机制。
另请参见以下博客文章,以对本文进行更详细的分析:持续使用多项式回归对因果推理的影响的证据(声称煤加热使10亿人的寿命减少了5年)。
在2014年3月14日的《科学》杂志上,David Lazer,Ryan Kennedy,Gary King和Alessandro Vespignani指出了Google流感趋势中的问题,这些问题归因于过拟合。
这是他们讲故事的方式,包括对过度拟合的性质及其导致算法失败的原因的解释:
2013年2月,《自然》报道GFT预测,像流感样疾病(ILI)的医生就诊比例是疾病控制与预防中心(CDC)的两倍以上。尽管GFT是为预测CDC报告而构建的,但这还是发生了。...
本质上,该方法是在5000万个搜索词中找到最佳匹配项以适合1152个数据点。找到与流感的倾向相匹配但在结构上不相关且因此无法预测未来的搜索词的可能性非常高。实际上,GFT开发人员报告说,他们淘汰了与流感无关但与CDC数据密切相关的季节性搜索字词,例如与高中篮球有关的数据。这本来是一个警告,说明大数据已适合少数情况,这是数据分析中的标准问题。当GFT完全错过了非季节性的2009年甲型H1N1流感大流行时,这种排除特殊搜索词的特殊方法失败了。
[重点已添加。]
几周前,我看到了这张图片,并认为它与眼前的问题非常相关。
它不是线性拟合序列,而是拟合了四次多项式,该多项式具有完美的拟合度,但得出的答案显然很荒谬。
对我而言,最好的例子是天文学中的托勒密体系。托勒密认为地球处于宇宙的中心,并创建了一个复杂的嵌套圆形轨道系统,可以很好地解释物体在天空上的运动。天文学家不得不不断加圈来解释偏差,直到有一天它变得如此混乱以至于人们开始怀疑它。那时哥白尼提出了一个更现实的模型。
这是过度适合我的最好例子。您不能将数据生成过程(DGP)过度拟合到数据。您只能过度拟合错误指定的模型。几乎我们所有的社会科学模型都被错误地指定了,因此关键是要记住这一点,并使它们保持简约。不是尝试捕获数据集的每个方面,而是尝试通过简化来捕获基本特征。
假设您在图形上有100个点。
您可能会说:嗯,我想预测下一个。
在这里,您可以看到此示例的简化图示:
多项式阶数越高,将越适合现有点。
但是,尽管看起来像是点的更好模型,但高阶多项式实际上使它们过度拟合。它模拟噪声而不是真实的数据分布。
因此,如果您使用完美拟合的曲线向图形添加新的点,则与使用简单的低阶多项式相比,曲线可能离曲线更远。
可能导致福岛灾难的分析是过度拟合的一个例子。在地球科学中,有一个众所周知的关系描述给定观测到的“较小”地震发生的频率,即一定规模的地震发生的概率。这就是所谓的古腾堡-里希特(Gutenberg-Richter)关系,它提供了数十年的直线对数拟合。分析反应堆附近的地震风险(此数据来自内特·西尔弗(Nate Silver)的优秀著作《信号与噪声》(The Signal and Noise)),在数据中显示出“扭曲”。忽略扭结,估计9级地震的年风险约为300分之一,这肯定是有待准备的。然而,对双斜率线的过度拟合(显然是在对反应堆进行初始风险评估时所做的)将风险预测降低到13,000年中的约1。不能指责工程师没有设计反应堆来抵御这种不太可能发生的事件-但绝对应该指责过高(然后推断)数据的统计学家...
“啊!帕特要离开公司了。我们如何找到替代者?”
招聘启事:
通缉:电气工程师。42岁,雌雄同体,拥有电气工程,数学和畜牧学学位。身高必须为68英寸,棕色头发,左眼上方有痣,并且容易长发long鹅,并滥用“律师”一词。
从数学的意义上讲,过度拟合通常是指使用比所需数量更多的参数来制作模型,从而导致更适合特定数据集,但没有从兴趣类别中获取适合其他数据集所需的相关细节。
在上面的示例中,发布者无法区分相关特征和无关特征。所获得的资格仅可能由他们已经知道适合该职位(但不再想要)的一个人来满足。
这是伪造的,但我希望它可以说明情况。
例子1
set.seed(123)
k <- 100
data <- replicate(k, rnorm(100))
colnames(data) <- make.names(1:k)
data <- as.data.frame(data)
现在,让我们拟合线性回归:
fit <- lm(X1 ~ ., data=data)
以下是前十个预测变量的摘要:
> summary(fit)
Call:
lm(formula = X1 ~ ., data = data)
Residuals:
ALL 100 residuals are 0: no residual degrees of freedom!
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.502e-01 NA NA NA
X2 3.153e-02 NA NA NA
X3 -6.200e-01 NA NA NA
X4 7.087e-01 NA NA NA
X5 4.392e-01 NA NA NA
X6 2.979e-01 NA NA NA
X7 -9.092e-02 NA NA NA
X8 -5.783e-01 NA NA NA
X9 5.965e-01 NA NA NA
X10 -8.289e-01 NA NA NA
...
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 99 and 0 DF, p-value: NA
结果看起来很奇怪,但让我们对其进行绘图。
> sum(abs(data$X1-fitted(fit)))
[1] 0
它为零,因此图并不对我们说谎:该模型非常适合。分类的精确度如何?
> sum(data$X1==fitted(fit))
[1] 100
例子2
再举一个例子。让我们补充一些数据:
data2 <- cbind(1:10, diag(10))
colnames(data2) <- make.names(1:11)
data2 <- as.data.frame(data2)
所以看起来像这样:
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
1 1 1 0 0 0 0 0 0 0 0 0
2 2 0 1 0 0 0 0 0 0 0 0
3 3 0 0 1 0 0 0 0 0 0 0
4 4 0 0 0 1 0 0 0 0 0 0
5 5 0 0 0 0 1 0 0 0 0 0
6 6 0 0 0 0 0 1 0 0 0 0
7 7 0 0 0 0 0 0 1 0 0 0
8 8 0 0 0 0 0 0 0 1 0 0
9 9 0 0 0 0 0 0 0 0 1 0
10 10 0 0 0 0 0 0 0 0 0 1
现在让我们对此进行线性回归:
fit2 <- lm(X1~., data2)
因此我们得到以下估计:
> summary(fit2)
Call:
lm(formula = X1 ~ ., data = data2)
Residuals:
ALL 10 residuals are 0: no residual degrees of freedom!
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10 NA NA NA
X2 -9 NA NA NA
X3 -8 NA NA NA
X4 -7 NA NA NA
X5 -6 NA NA NA
X6 -5 NA NA NA
X7 -4 NA NA NA
X8 -3 NA NA NA
X9 -2 NA NA NA
X10 -1 NA NA NA
X11 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 9 and 0 DF, p-value: NA
这是不言自明的。您可以认为示例1与示例2类似,但添加了一些“噪音”。如果您有足够大的数据并将其用于“预测”某些内容,那么有时只有一个“功能”可能会让您相信,您有一个“模式”可以很好地描述您的因变量,而这可能只是一个巧合。在示例2中并没有真正预测到结果,但是在示例1中发生了完全相同的变化,只是变量的值不同。
现实生活中的例子
现实生活中的例子是,通过观看由全球意识项目的计算机伪随机数字生成器随机绘制的数字“模式” 或“白鲸”中的“秘密信息”来预测2001年9月11日的恐怖袭击,这些信息揭示了暗杀名人的事实(受圣经中类似的发现启发)。
结论
如果您看起来很努力,就会发现任何东西的“样式”。但是,这些模式不会让您了解有关宇宙的任何知识,也不会帮助您得出任何一般性结论。它们将完全适合您的数据,但将毫无用处,因为它们将无法容纳数据本身。他们不会让您做出任何合理的样本外预测,因为他们会做的是,他们宁愿模仿而不是描述数据。
导致现实生活过度拟合的一个常见问题是,除了正确指定模型的术语外,我们可能还添加了一些无关紧要的东西:正确术语的不相关幂(或其他变换),不相关变量或不相关交互。
如果您添加了一个不应该出现在正确指定的模型中但又不想删除它的变量,则这会在多元回归中发生,因为您担心会导致遗漏的变量偏差。当然,您无法知道自己错误地将其包括在内,因为您看不到全部样本,只能看到样本,因此无法确定正确的规格。(正如@Scortchi在评论中指出的那样,可能没有“正确的”模型规范之类的东西-从这个意义上讲,建模的目的是找到“足够好”的规范;避免过度拟合涉及避免模型复杂性大于可以从可用数据中获得的数据。)如果您想要一个真实的过度拟合示例,则每次都会发生这种情况您应该将所有潜在的预测变量都放入回归模型中,一旦将其他预测变量的影响分摊后,它们中的任何一个实际上都不与响应相关。
对于这种类型的过度拟合,好消息是这些不相关项的包含不会引入估计量的偏差,并且在非常大的样本中,不相关项的系数应接近零。但是,还有一个坏消息:由于现在将来自样本的有限信息用于估算更多参数,因此只能以较低的精度进行估算-因此,真正相关的术语的标准误差会增加。这也意味着它们与真实值的距离可能比正确指定的回归估计值的距离还远,这反过来意味着,如果给定了解释变量的新值,则过拟合模型的预测将不如对预测值的准确性正确指定的模型。
这是2010年美国50个州的原木GDP与原木人口的关系图。选择了10个州的随机样本(以红色突出显示),对于该样本,我们拟合了简单的线性模型和5级多项式。点,多项式具有额外的自由度,因此它比直线可以“蠕动”更靠近观测数据。但是,作为整体的50个州服从了几乎线性的关系,因此与较不复杂的模型相比,多项式模型在40个样本外点上的预测性能非常差,尤其是在外推时。多项式有效地拟合了样本的某些随机结构(噪声),但并未推广到更广泛的人群。在推断超出样品观察范围的情况下,效果特别差。此答案的修订版。)
R
require(MASS) #for multivariate normal simulation
nsample <- 25 #sample to regress
nholdout <- 1e6 #to check model predictions
Sigma <- matrix(c(1, 0.5, 0.4, 0.5, 1, 0.3, 0.4, 0.3, 1), nrow=3)
df <- as.data.frame(mvrnorm(n=(nsample+nholdout), mu=c(5,5,5), Sigma=Sigma))
colnames(df) <- c("x1", "x2", "x3")
df$y <- 5 + 2 * df$x1 + rnorm(n=nrow(df)) #y = 5 + *x1 + e
holdout.df <- df[1:nholdout,]
regress.df <- df[(nholdout+1):(nholdout+nsample),]
overfit.lm <- lm(y ~ x1*x2*x3, regress.df)
correctspec.lm <- lm(y ~ x1, regress.df)
summary(overfit.lm)
summary(correctspec.lm)
holdout.df$overfitPred <- predict.lm(overfit.lm, newdata=holdout.df)
holdout.df$correctSpecPred <- predict.lm(correctspec.lm, newdata=holdout.df)
with(holdout.df, sum((y - overfitPred)^2)) #SSE
with(holdout.df, sum((y - correctSpecPred)^2))
require(ggplot2)
errors.df <- data.frame(
Model = rep(c("Overfitted", "Correctly specified"), each=nholdout),
Error = with(holdout.df, c(y - overfitPred, y - correctSpecPred)))
ggplot(errors.df, aes(x=Error, color=Model)) + geom_density(size=1) +
theme(legend.position="bottom")
这是我一次运行的结果,但是最好多次运行模拟,以查看不同生成的样本的效果。
> summary(overfit.lm)
Call:
lm(formula = y ~ x1 * x2 * x3, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.22294 -0.63142 -0.09491 0.51983 2.24193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 18.85992 65.00775 0.290 0.775
x1 -2.40912 11.90433 -0.202 0.842
x2 -2.13777 12.48892 -0.171 0.866
x3 -1.13941 12.94670 -0.088 0.931
x1:x2 0.78280 2.25867 0.347 0.733
x1:x3 0.53616 2.30834 0.232 0.819
x2:x3 0.08019 2.49028 0.032 0.975
x1:x2:x3 -0.08584 0.43891 -0.196 0.847
Residual standard error: 1.101 on 17 degrees of freedom
Multiple R-squared: 0.8297, Adjusted R-squared: 0.7596
F-statistic: 11.84 on 7 and 17 DF, p-value: 1.942e-05
> summary(correctspec.lm)
Call:
lm(formula = y ~ x1, data = regress.df)
Residuals:
Min 1Q Median 3Q Max
-2.4951 -0.4112 -0.2000 0.7876 2.1706
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.7844 1.1272 4.244 0.000306 ***
x1 1.9974 0.2108 9.476 2.09e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.036 on 23 degrees of freedom
Multiple R-squared: 0.7961, Adjusted R-squared: 0.7872
F-statistic: 89.8 on 1 and 23 DF, p-value: 2.089e-09
> with(holdout.df, sum((y - overfitPred)^2)) #SSE
[1] 1271557
> with(holdout.df, sum((y - correctSpecPred)^2))
[1] 1052217
(这样做的自由度比正确指定的模型要大,因此可以产生“更好的”拟合)。查看保留项集上的预测的平方误差总和,我们没有用它来估计回归系数,并且我们可以看到过度拟合模型的表现更差。实际上,正确指定的模型是做出最佳预测的模型。我们不应该基于用来估计模型的数据集的结果对预测性能进行评估。这是误差的密度图,正确的模型规格会产生更多接近于0的误差:
该模拟清楚地表示了许多相关的现实情况(只需想象任何依赖于单个预测变量的现实响应,并假设在模型中包括无关的“预测变量”即可),但是它具有可以在数据生成过程中使用的优势,样本大小,过拟合模型的性质等。这是检查过度拟合效果的最佳方法,因为对于观察到的数据,您通常无法访问DGP,并且在可以检查和使用的意义上,它仍然是“真实”数据。以下是一些值得尝试的有价值的想法:
n <- 1e6
Sigma
。只需记住将其保持为正半定(包括对称)即可。您应该发现,如果降低了多重共线性,那么过拟合模型的性能不会那么差。但是请记住,相关的预测变量确实存在于现实生活中。df$y <- 5 + 2*df$x1 + rnorm(n=nrow(df))
df$y <- 5 + 2 * df$x1 + 0.1*df$x2 + 0.1*df$x3 + rnorm(n=nrow(df))
nsample <- 25
nsample <- 1e6
,它可以很好地估计较弱的影响,并且仿真显示,复杂模型的预测能力优于简单模型。这表明“过度拟合”是模型复杂性和可用数据的问题。当我试图自己理解这一点时,我开始用类比来描述真实的对象,因此,如果您想了解一般的想法,我想它就是“现实世界”:
假设您要向某人描述椅子的概念,以便他们得到一个概念模型,使他们可以预测找到的新对象是否是椅子。您去宜家(Ikea)并获得了一些椅子样本,并通过使用两个变量开始对其进行描述:这是一个有4条腿可以坐着的对象。好吧,这也可能描述了凳子或床或许多其他东西。您的模型不尽人意,就好像您要尝试为变量分布太少的复杂分布建模一样,很多非主席事物将被识别为主席。因此,让我们增加变量的数量,例如,添加对象必须具有后盖。现在,您已经有了一个可以接受的模型来描述您的椅子组,但是它的通用性足以允许将一个新对象标识为一个椅子。您的模型描述了数据,并且能够做出预测。但是,假设您碰巧有一套所有椅子都是黑色或白色并由木头制成的椅子。您决定将这些变量包括在模型中,然后突然将黄色塑料椅子识别为椅子。因此,您已经过度拟合了模型,并包含了数据集的特征,就好像它们通常是椅子的特征一样((如果愿意,您可以通过将样本的随机变化解释为“噪声”识别为“信号”)。整个“现实世界的椅子”的特征)。因此,您要么增加样本并希望包括一些新的材料和颜色,要么减少模型中的变量数量。不能将黄色塑料椅子识别为椅子。因此,您已经过度拟合了模型,并包含了数据集的特征,就好像它们通常是椅子的特征一样((如果愿意,您可以通过将样本的随机变化解释为“噪声”识别为“信号”)。整个“现实世界的椅子”的特征)。因此,您要么增加样本并希望包括一些新的材料和颜色,要么减少模型中的变量数量。不能将黄色塑料椅子识别为椅子。因此,您已经过度拟合了模型,并包含了数据集的特征,就好像它们通常是椅子的特征一样((如果愿意,您可以通过将样本的随机变化解释为“噪声”识别为“信号”)。整个“现实世界的椅子”的特征)。因此,您要么增加样本并希望包括一些新的材料和颜色,要么减少模型中的变量数量。
这可能是一个简单化的类比,并且在进一步的审查中可能会细分,但是我认为它可以作为一般性的概念化……让我知道是否需要澄清某些部分。
在预测建模中,其想法是使用手头的数据来发现现有趋势,并将其推广到未来数据。通过在模型中包含具有较小的,不重要的影响的变量,您将放弃这个想法。您正在做的事情是考虑特定样本中的特定趋势,这些趋势只是由于随机噪声而不是真正的潜在趋势而出现。换句话说,变量太多的模型适合噪声而不是发现信号。
这是我在说什么的夸张插图。这里的点是观察到的数据,线是我们的模型。看看那完美的搭配-多么棒的模型!但是,我们真的发现了趋势吗?还是只是适应噪音?可能是后者。
过度拟合的一种形式在体育运动中非常普遍,即通过没有或只能模糊地预测未来结果的因素来确定解释过去结果的模式。这些“模式”的一个共同特征是它们通常基于很少的情况,因此纯粹的机会可能是对该模式的最合理的解释。
例子包括类似的东西(“引号”由我编造,但通常看起来很相似)
自从教练开始穿着魔术般的红色外套以来,A队已经赢得了所有X场比赛。
类似:
我们不会在季后赛中刮胡子,因为那帮助我们赢得了过去的X场比赛。
不太迷信,但也有过度拟合的形式:
多特蒙德足球俱乐部从未输过一场冠军联赛主场比赛,而他们此前至少打进过一次进球,而他们此前输掉了德甲联赛两次以上的进球,却没有输给西班牙对手。
类似:
罗杰·费德勒(Roger Federer)至少在当年的澳网公开赛中打入半决赛,赢得了他所有戴维斯杯比赛的冠军。
前两个是很明显的废话(至少对我而言)。最后两个例子可能很好地适用于样本(例如,过去),但是我很乐意与一个对手打赌,如果该对手输了4,该“信息”将大大影响他的多特蒙德击败马德里的赔率:即使他当年赢得了澳网冠军,上个星期六他还是在沙尔克获得1球,或者费德勒击败德约科维奇。
这是一个“现实世界”的例子,并不是在研究中偶然碰到它,而是在它使用日常概念而没有许多特定于统计的术语的意义上。也许这样说对某些受过其他领域培训的人会更有帮助。
假设您有一个数据库,其中包含有关罕见病患者的数据。您是一名医学研究生,想看看您是否可以识别出这种疾病的危险因素。这家医院有8例这种疾病,您已经随机记录了100篇有关这些疾病的信息:年龄,种族,出生顺序,他们小时候是否患有麻疹等。您还记录了8位无此疾病的患者的数据。
您决定对危险因素使用以下启发式方法:如果在多于一个患病患者中某个因素具有给定值,但在您的对照组中有0个,您将认为它是危险因素。(在现实生活中,您会使用更好的方法,但我想保持简单)。您发现您的患者中有6名是素食主义者(但没有一个对照是素食主义者),有3名是瑞典祖先,其中有2名患有口吃障碍。在其他97个因素中,没有一个以上的病人发生任何事情,但在对照组中却不存在。
多年后,其他人对这种孤儿疾病产生了兴趣,并复制了您的研究成果。因为他在较大的医院工作,该医院与其他医院有数据共享合作,所以他可以使用约106例数据,而不是您的8例。他发现,在患者组和对照组中,口吃者的患病率是相同的。口吃不是危险因素。
这里发生的是,您的小组中有25%的口吃者是偶然发生的。您的试探法无法得知这是否与医学相关。您给它提供了标准,以决定何时考虑数据中的“足够有趣”的模式以使其足以包含在模型中,并且根据这些条件,结结足够有趣。
您的模型已经过拟合,因为它错误地包含了在现实世界中并不真正相关的参数。它非常适合您的样本-8位患者+ 8个对照-但不符合真实世界的数据。当模型对样本的描述比对现实的描述更好时,称为过拟合。
如果您选择了8位具有特征的患者中的3位阈值,就不会发生-但是您有更高的机会错过一些真正有趣的东西。尤其是在医学中,许多疾病仅在极少数具有危险因素的人群中发生,这是一个很难权衡的问题。有避免这种情况的方法(基本上是与第二个样本进行比较,看看解释力是保持不变还是下降),但这是另一个问题。
这是现实生活中过度拟合的示例,我曾对此进行过尝试,然后尝试(未成功)避免:
我有数千个独立的双变量时间序列,每个序列不超过50个数据点,并且建模项目涉及将向量自回归(VAR)拟合到每个序列。没有尝试过对观察值进行正则化,估计方差分量或类似的东西。时间点是在一年的过程中测量的,因此数据受各种季节和周期性影响的影响,每个季节仅出现一次。
与其余数据相比,数据的一个子集显示出极高的格兰杰因果关系率。抽查显示,在此子集中,正峰值出现了一个或两个间隔,但是从上下文中可以清楚地看出,两个峰值都是直接由外部来源引起的,一个峰值没有引起另一个峰值。使用这种模型进行样本外预测可能是完全错误的,因为模型过于拟合:没有通过平均峰值到其余数据中来“消除”峰值,而是没有足够的观察结果表明峰值实际上在驱动估计。
总体而言,我认为该项目进展并不顺利,但我认为它所产生的结果几乎没有本来可以做的有用。造成这种情况的部分原因是,即使有一个或两个滞后,多次独立的VAR程序仍然很难区分数据和噪声,因此适合后者的代价是要提供对噪声的了解。前任的。
在这个话题上有很多聪明的人---比我更精通统计。但是我仍然看不到外行人的例子容易理解。总统的例子在典型的过度拟合方面并没有完全解决这个问题,因为从技术上来说,尽管在每个疯狂的主张中它都过度拟合,但通常过度拟合模型都会过度拟合-ALL-给定的噪声,而不仅仅是其中的一个元素。
我真的很喜欢Wikipedia中的偏差-偏差权衡解释中的图表:http : //en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff
(最下面的图表是过度拟合的示例)。
我很难想像一个听起来不像是完整的庞然大物的真实示例。想法是数据部分是由可测量,可理解的变量引起的,部分是随机噪声。尝试将此噪声建模为模式会给您带来误差。
一个经典的例子是在MS Excel中基于R ^ 2完全建模(无论多么荒谬,您都试图使用多项式从字面上尽可能地拟合方程/模型)。
假设您正在尝试将冰淇淋的销售量模拟为温度的函数。您拥有“真实世界”数据。您绘制数据并尝试最大化R ^ 2。您会发现使用实际数据,最接近的拟合方程不是线性的或二次的(这在逻辑上是合理的)。像几乎所有方程式一样,您添加的无意义的多项式项(x ^ 6 -2x ^ 5 + 3x ^ 4 + 30x ^ 3-43.2x ^ 2-29x)-越适合数据。那么,这如何将温度与冰淇淋销售合理地联系起来?您将如何解释这个荒谬的多项式?事实是,这不是真正的模型。您已经过拟合数据。
您无法解释噪音-可能是由于促销或其他一些可变因素或“噪音”所致,例如一只蝴蝶拍打着翅膀在宇宙中拍打(这是无法预料的)-并试图根据温度对其进行建模。现在,通常,如果您的噪声/误差不平均为零或与自相关,等等,这意味着那里存在更多的变量---最终您将获得通常随机分布的噪声,但是,这是我能做到的最好的方法解释一下。
有点直观,但也许会有所帮助。假设您想学习一些新语言。你如何学习?您可以使用示例,而不是学习课程中的规则。特别是电视节目。因此,您喜欢犯罪节目,并且观看一些警察节目的系列节目。然后,您进行另一场犯罪表演,并观看该系列的一些系列节目。在第三个节目中,您会看到-您几乎了解所有内容,没问题。您不需要英文字幕。
但是,当您下次访问时,您在街上尝试了刚学到的语言,您意识到除了谈论“军官!那个男人拿了我的包并枪杀了那个女士!”之外,您再无话可说。当您的“训练错误”为零时,您的“测试错误”很高,这是由于语言“过拟合”,仅研究了有限的单词子集并假设单词足够。