"고급 기계 학습"Udacity의 기계 학습 곡선을 학습 오류 이유 +를 기반으로 프로젝트의 복잡성을 모델 + 보스턴 주택 가격을 예측

 

 

오류 이유

우리는 모델의 성능을 측정하기위한 기본 지표의 일부를 언급 한이 모델은 현재 오류가 먼저 표시에 무엇을 봐.

모델 예측에서 오차 모델은, 즉 두 가지 소스로부터 발생할 수 편차를 인해 야기 기본 데이터 (바이어스) 또는 제한된 데이터 전차 모델에 지나치게 민감 인해를 나타낼 수없는 모델의 복잡성으로 인해 그 사용 편차 (분산). 우리는 두 사람이 수행 더 자세히 논의 할 것이다.

정확성과 단순성과 - 편차로 인한 오류

모델 데이터가 충분하지만, 근본적인 관계 의지 편차를 캡처 할 복잡한 충분하지가있는 경우, 앞서 언급 한 바와 같이. 결과적으로, 모델은 에러 데이터, 감소 된 정확도에서 얻어진 것을 나타낸다 체계적왔다. 이러한 현상은 (단순성과) 단순성과라고합니다.

간단히 말해서, 모델이 부적절한 경우, 의지 편차. 예를 들어 개체가 색상과 모양에 따라 분류되어 있지만 모델 만 잘못 객체를 분류 된 객체 및 분류 개체 (과도하게 단순화 된 모델)의 색상으로 구별 할 수있는 경우.

또는, 우리는 자연의 연속 데이터 다항식을 가질 수 있지만 선형 관계 모델을 표현할 수 있습니다. 모델 번호는 중요하지 않습니다에이 경우, 우리는 모델이 단순히 그들 사이의 기본적인 관계를 나타낼 수 없기 때문에, 우리는 더 복잡한 모델을 필요로 데이터를 제공합니다.

정확성과 overfitting - 오류 분산으로 인한

모델, 더 큰 훈련 세트에서 샘플 일반적으로 제한된 수의 훈련을합니다. 당신이 교육 모델 반복 데이터의 무작위로 선택된 부분 집합을 사용하는 경우, 예측 결과로 인해 다른 특정 샘플에 사용할 수있을 것으로 기대된다. 여기서, 상기 예측 결과의 변화를 측정하는 데 사용되는 분산 (편차)는 주어진 시험 샘플에 대한 많은 것이다.

나타나는 변동은 정상이지만, 너무 높은 분산은 모델이 더 많은 데이터의 결과를 예측하기 위해 일반화 될 수 있음을 나타낸다. 훈련 세트에 매우 민감도 (overfitting)를 overfitting로 알려져 있으며, 일반적으로 모델에 너무 복잡하거나 우리가 그것을 지원하기에 충분한 데이터가없는 나타납니다.

일반적으로, 더 많은 데이터가 예측 모델의 분산을 감소시키고 결과의 정확성을 개선하기 위해, 트레이닝에 사용될 수있다. 더 이상 데이터가없는 경우는 훈련을 위해 사용할 수 있습니다뿐만 아니라 모델의 복잡성을 제한하여 분산을 줄일 수 있습니다.

모델의 효율성 향상

我们可以看到,在给定一组固定数据时,模型不能过于简单或复杂。如果过于简单,模型无法了解数据并会错误地表示数据。但是,如果建立非常复杂的模型,则需要更多数据才能了解基本关系,否则十分常见的是,模型会推断出在数据中实际上并不存在的关系。

关键在于,通过找出正确的模型复杂度来找到最大限度降低偏差和方差的最有效点。当然,数据越多,模型随着时间推移会变得越好。

要详细了解偏差和方差,建议阅读 Scott Fortmann-Roe 撰写的这篇文章

除了选定用来训练模型的数据子集外,您使用的哪些来自给定数据集的特征也会显著影响模型的偏差和方差?

 


 

 

学习曲线

让我们根据模型通过可视化图形从数据中学习的能力来探讨偏差与方差之间的关系。

机器学习中的学习曲线是一种可视化图形,能根据一系列训练实例中的训练和测试数据比较模型的指标性能。

在查看数据与误差之间的关系时,我们通常会看到,随着训练点数量的增加,误差会趋于下降。由于我们尝试构建从经验中学习的模型,因此这很有意义。

我们将训练集和测试集分隔开,以便更好地了解能否将模型泛化到未见过的数据而不是拟合到刚见过的数据。

在学习曲线中,当训练曲线和测试曲线均达到稳定阶段,并且两者之间的差距不再变化时,则可以确认模型已尽其所能地了解数据。

 

 

 

理想的学习曲线

模型的最终目标是,误差小并能很好地泛化到未见过的数据(测试数据)。如果测试曲线和训练曲线均收敛,并且误差极低,就能看到这种模型。这种模型能根据未见过的数据非常准确地进行预测。

 

模型复杂度

与学习曲线图形不同,模型复杂度图形呈现的是模型复杂度如何改变训练曲线和测试曲线,而不是呈现用来训练模型的数据点数量。一般趋势是,随着模型增大,模型对固定的一组数据表现出更高的变化性。

 

学习曲线与模型复杂度

那么,学习曲线与模型复杂度之间有何关系?

如果我们获取具有同一组固定数据的相同机器学习算法的学习曲线,但为越来越高的模型复杂度创建几个图形,则所有学习曲线图形均代表模型复杂度图形。这就是说,如果我们获取了每个模型复杂度的最终测试误差和训练误差,并依据模型复杂度将它们可视化,则我们能够看到随着模型的增大模型的表现有多好。

模型复杂度的实际使用

既然知道了能通过分析模型复杂度图形来识别偏差和方差的问题,现在可利用一个可视化工具来帮助找出优化模型的方法。在下一部分中,我们会探讨 gridsearch 和如何微调模型以获得更好的性能。

 


 

问题 2 - 拟合程度

假设一个数据集有五个数据且一个模型做出下列目标变量的预测:

真实数值 预测数值
3.0 2.5
-0.5 0.0
2.0 2.1
7.0 7.8
4.2 5.3

你觉得这个模型已成功地描述了目标变量的变化吗?如果成功,请解释为什么,如果没有,也请给出原因。

提示1:运行下方的代码,使用 performance_metric 函数来计算 y_true 和 y_predict 的决定系数。

提示2$R^2$ 分数是指可以从自变量中预测的因变量的方差比例。 换一种说法:

  • $R^2$ 为0意味着因变量不能从自变量预测。
  • $R^2$ 为1意味着可以从自变量预测因变量。
  • $R^2$ 在0到1之间表示因变量可预测的程度。
  • $R^2$ 为0.40意味着 Y 中40%的方差可以从 X 预测。

第四步. 分析模型的表现

在项目的第四步,我们来看一下不同参数下,模型在训练集和验证集上的表现。这里,我们专注于一个特定的算法(带剪枝的决策树,但这并不是这个项目的重点),和这个算法的一个参数 'max_depth'。用全部训练集训练,选择不同'max_depth' 参数,观察这一参数的变化如何影响模型的表现。画出模型的表现来对于分析过程十分有益,这可以让我们看到一些单看结果看不到的行为。

 

学习曲线

下方区域内的代码会输出四幅图像,它们是一个决策树模型在不同最大深度下的表现。每一条曲线都直观得显示了随着训练数据量的增加,模型学习曲线的在训练集评分和验证集评分的变化,评分使用决定系数R2。曲线的阴影区域代表的是该曲线的不确定性(用标准差衡量)。

运行下方区域中的代码,并利用输出的图形回答下面的问题。

 

 

 

 

 

 

추천

출처www.cnblogs.com/JasonPeng1/p/12110070.html