吴恩达机器学习笔记(十)模型评估、选择、改进

一、模型评估:对假设函数的评估

在这里插入图片描述

  • 在这里插入图片描述

  • misclassification error(0/1错误分类):
    在这里插入图片描述
    以上就是以0/1错误分类来定义的测试误差

混淆矩阵
在这里插入图片描述

在预测分析中,混淆表(有时也称为混淆矩阵)是具有两行两列的表,该表报告假阳性,假阴性,真阳性和真阴性的数量。

在这里插入图片描述

二、模型选择

应用这些方法来帮助我们进行诸如特征选择、学习算法、多项式次数选择、学习算法正则化参数 λ \lambda λ的选择等问题。

一个模型对训练集拟合得很好,但是未必对新样本表现得很好,这就是对新样本的泛化能力不一定好。

如果你的参数对某个数据集拟合得很好,比如训练集或者其他数据集,那么用同一数据集计算得到的误差,比如训练误差,并不能很好地估计出实际的泛化误差。

用训练集来拟合参数 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1等参数时,拟合后的模型在训练集上的效果是不能预测出假设对于新样本的泛化能力的,这是因为这些参数能够很好地拟合训练集,因此很有可能在训练集上表现得很好,但对其他样本来说,就不一定好。

把数据集分成三个部分:训练集、(交叉)验证集(Cross_Validation)、测试集

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试及只能用来最后的测试。

我们用训练集来训练模型,得到模型的参数;通过验证集对模型进行评估,从而选出针对这一具体问题的得分最高的机器学习算法及其相应的超参;再在每个训练集和验证集上重新训练模型得到最终的模型;最后测试集根据此最终的模型进行预测。

在这里插入图片描述

在这里插入图片描述

除去测试集以外的所有数据能够至少作为一次训练集,至少作为一次验证集

在这里插入图片描述

三、诊断偏差与方差

偏差:欠拟合
方差:过拟合

(1)多项式的次数对欠拟合和过拟合的影响

在这里插入图片描述
一个中等的次数会使交叉验证集的代价函数最小化。
小了欠拟合,大了过拟合。

(2)如何判断模型是什么原因不能很好地拟合训练数据集?怎么判断是高偏差还是高方差?

在这里插入图片描述

四、正则化和偏差、方差的关系,正则化是如何影响偏差和方差的?

在这里插入图片描述

如何选择一个合适的正则化参数 λ \lambda λ呢?

(1)定义:

在这里插入图片描述

λ = 0 \lambda=0 λ=0,即惩罚项为0时,开始调整 λ \lambda λ的值, λ \lambda λ的增长速率为2倍。

在这里插入图片描述

在这里插入图片描述
算出每个 λ \lambda λ下的模型最优化情况下的参数 θ \theta θ的值,再用交叉验证集上的代价函数来评价每个模型的拟合情况的好坏。选取这几个模型中交叉验证集误差最小的参数 θ \theta θ作为最终的模型参数。

如果想知道最终模型的测试误差,可以用选出来的最终模型,观察其在测试集上的表现

(2)正则化对偏差和方差的影响:

在这里插入图片描述

小结:正则化参数 λ \lambda λ和多项式的次数 d d d都会影响欠拟合或者是过拟合的情况。

五、学习曲线

(1)什么是学习曲线?

学习曲线是不同训练集大小,模型在训练集和验证集上的得分变化曲线。也就是以样本数为横坐标,训练和交叉验证集上的得分(如准确率)为纵坐标。learning curve可以帮助我们判断模型现在所处的状态:过拟合(overfiting / high variance) or 欠拟合(underfitting / high bias)

  • 检查学习算法是否正常运行
  • 希望改进算法的表现
  • 我们会经常使用学习曲线来判断学习算法是否处于偏差、方差或者两者皆有。

目的不是为了让训练集拟合得更好,哪怕误差大点,目的是为了让其有更好的泛化性,也就是交叉和检测集误差要小

在这里插入图片描述
在多项式次数一定时,训练集样本数量对 J t r a i n J_{train} Jtrain J c v J_{cv} Jcv的影响。
比如用一个二次函数拟合一个数据集。当数据集样本较少时,拟合效果较好;但当数据集数量增多时,拟合效果逐渐下降,即 J t r a i n J_{train} Jtrain逐渐下降,但是样本数量的增多会提高模型的泛化能力,即 J c v J_{cv} Jcv逐渐减少。

(2)学习算法处于高偏差情形学习曲线的大致走向

在这里插入图片描述
如果一个模型处于高偏差的情形,增加样本数量并不能提高模型的泛化效果( J c v J_{cv} Jcv不会有明显的下降,会出现一个平台期)
如上图所示,增加了样本数量,但是得出的预测函数都是一条差不多的直线。

通过学习曲线了解模型是否处于一个高偏差的情形可以帮助我们排除因样本数量不足而导致的模型泛化效果不好的原因,不会陷入盲目增加样本数量来提高模型的泛化能力。

(2)学习算法处于高方差情形学习曲线的大致走向

在这里插入图片描述
高方差的情形下,增加样本数量可以降低在训练集上的误差 J c v J_{cv} Jcv,提高模型的泛化能力。

六、如何通过学习曲线指引我们采取或不采取某些方法来改进学习算法

(1)几种改进学习算法的方法及其适用情形

在这里插入图片描述

修正高方差 过拟合
增加训练样本数量
减少特征数量
增加正则化参数lambda的值
修正高偏差 欠拟合
增加特征数量
增加多项式特征 即增加特征数量
减小正则化参数lambda的值

(2)从线性回归到神经网络:以上模型选择及改进方法如何应用到神经网络

如何为神经网络选择合适的结构或连接形式

在这里插入图片描述

  • 对于大型网络而言,更容易出现过拟合现象。通常情况下,大网络的性能会更好,如果出现了过拟合可以用正则化项来修正。这比应用一个小型神经网络性能会更好。
  • 如何选择一个最合适的隐含层层数呢?
    设置不同的隐含层层数,分别计算出每个神经网络的 J c v J_{cv} Jcv,选择泛化能力最强( J c v J_{cv} Jcv最小)的神经网络。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

verse_armour

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值