吴恩达《Machine Learning》-Advice for Applying Machine Learning应用机器学习的建议(十)

假如预测数据与真实数据之间的差距很大。可以尝试一下步骤:

在这里插入图片描述

Machine learning diagnostic机器学习诊断:

在这里插入图片描述
来判断机器学习算法的内部,并且获得提高性能的指导

练习题:

在这里插入图片描述
选择(B,C,D)
A.根据感觉判断肯定是错的
B.诊断可以提供指导,哪些可能更有成效的事情,试图改善学习算法。
C.执行和尝试诊断可能很费时,但它们仍然可以很好地利用您的时间。
D.诊断有时会排除某些操作过程(对学习算法的更改)不太可能显著提高其性能。

Evaluating a hypothesis评估假设函数

虽然训练集上正确率很高,但是模型过拟合了.
在这里插入图片描述
故我们将整个数据集分成训练集与测试集。
如:70%训练集,30%测试集。注意此处的划分前,应该将整个数据集随机打乱。
在这里插入图片描述

计算方法:

在这里插入图片描述

练习题:

在这里插入图片描述
选择(A)
训练集J(θ)很低,代表已经达到训练集的最优值
测试集J(θ)很高,说明对测试集的拟合很不好。
训练集上表现好,测试集上表现差。则表示该模型过拟合。

对于线性回归的的测试集计算:

计算测试集的错误率
在这里插入图片描述

对于逻辑回归(分类问题)测试集计算:

误分类率
在这里插入图片描述
计算步骤:
在这里插入图片描述
在这里插入图片描述

Model Selection模型选择

如何评价模型的泛化能力。如果采用测试集的错误率,来评价模型泛化能力会产生问题。因为我们训练出来的参数只是针对于训练集的。
在这里插入图片描述
60%训练集,20%交叉验证集,20%测试集
在这里插入图片描述
训练集,验证集,测试集错误率:
在这里插入图片描述
对不同的polynomial regression多项式回归中的多项式项,计算交叉验证集的错误率Jcv(θ(1))。从d=1到d=n一直尝试,发现d=4的时候,Jcv(θ(4))最小。
之后评估测试集的generalization error泛化误差,Jtest(θ(4)
在这里插入图片描述

练习题:

在这里插入图片描述
选择(A)
A.选择模型中的参数,更适合于交叉验证集中的数据。

模型选择总结:

仅仅因为一个学习算法很适合一个训练集,这并不意味着它是一个好的假设。它可能会过拟合,因此对测试集的预测将很差。在训练参数的数据集上测量的假设误差将低于任何其他数据集上的误差。
对于许多具有不同多项式次数的模型,我们可以使用系统的方法来识别“最佳”函数。为了选择假设的模型,您可以测试多项式的每个阶数并查看错误结果。

将数据集分解为三组的一种方法是:

训练集Training set:60%
交叉验证集Cross validation set:20%
测试集Test set:20%

现在,我们可以使用以下方法为三个不同的集合计算三个单独的错误值:

在这里插入图片描述
1.对于每一阶的多项式的阶,使用训练集优化参数Θ
2.使用交叉验证集,找出所有阶中错误率最小的那个阶数
3.使用找出的那个阶数,在测试集中,来评估泛化误差。

Diagnosing Bias vs. Variance诊断偏差与方差

Bias problem偏差问题:欠拟合问题
Variance problem方差问题:过拟合问题
在这里插入图片描述
Jtrain训练集的错误率表现会随着polynomial多项式d的阶数增加而减少,但是会产生过拟合的状态。
故,在一定的阶数交叉验证集(或测试集)的错误率会提高。
在这里插入图片描述
d=1的时候,此时为bias也就是欠拟合状态。
d=4的时候,此时为variance也就是过拟合状态。
在这里插入图片描述

Regularization and bias/variance加入正则化的偏差与方差

纠错:惩罚项的求和应该是∑从j=1到j=n
在这里插入图片描述

如何选择正则项参数λ的值

在这里插入图片描述
λ以2的次方来递进,使用训练集训练出每一个θ,并使用交叉验证集挑选出Jcv(θ)最小的那一个。
本例中,θ(5)为最小,最后放入测试集中计算数据集的错误率。
在这里插入图片描述

练习题:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择(D),随着λ参数越来越大,也就是惩罚项的惩罚力度越来越大,惩罚力度越大越容易欠拟合。故对于训练集的的J(θ),会随着λ参数的增大而增大。而交叉训练集的是用来判断是否欠拟合与过拟合的。故只有在惩罚项λ参数合适的时候,其Jcv(θ)的值最小。其余都为最大。

总结如何惩罚项参数λ:

在这里插入图片描述

学习曲线learning curves

在这里插入图片描述
训练集越大Jtrain的错误率越大,因为更难拟合好每一个数据
训练集越大,Jcv的错误率越小,因为更多数据能够更好的预测新的测试数据。

在这里插入图片描述
如果当前为high bias欠拟合状态,对于增加更多数据 对于学习效果没有提升。
解释:
随着样本数据的增大,训练集更难拟合样本,故Jtrain的错误率增大。而样本增大交叉训练集,对于新数据的预测能力会更好。所以Jcv的错误率会降低。
两个曲线很快下降,并差不多相等的解释:因为参数太少,数据太多,至少在m很大的时候。训练集和交叉验证集的性能将非常相似

在这里插入图片描述
如果当前为high variance过拟合状态,对于增加更多数据 对于学习效果有提升。因为Jtrain和Jcv之间有很大的gap差距,增大数据量可以减少差距。

练习题:

在这里插入图片描述
选择(B,C)

调试算法与对应的现象:

在这里插入图片描述
对于神经网络来说,神经元少,即特征参数少的网络更容易欠拟合。但是使用计算资源少。
参数多,神经元多的网络,更容易过拟合。但是使用计算资源多。这种过拟合的神经网络,可以使用正则化来调整过拟合现象。
使用Jcv来选择出最佳的神经网络。
在这里插入图片描述

练习题:

在这里插入图片描述
选择(D)
Jcv比Jtrain远远大于的情况,可以判断为过拟合。增加隐藏层数会加重过拟合现象,故错误。

测试题:

在这里插入图片描述
选择(C)
解释:
两个曲线最后接近的很近 故为high bias

在这里插入图片描述
选择(B,C)
解释:
训练集表现好,测试集表现差。明显过拟合。故减少特征,增加惩罚系数。
D.对于h(x)的评价就是使用测试集的,交叉训练集是用来选择模型的。

在这里插入图片描述
选择(B,C)
解释:
在训练集上表现差,测试集上也表现差。故为欠拟合。欠拟合,增加特征与减少惩罚系数很有用。

在这里插入图片描述
选择(C,D)
解释:
C.一般训练集上的表现,会优于测试集上表现。
D.采用交叉验证集来选择惩罚系数λ

在这里插入图片描述
选择(B,C,D)
A.可能是过拟合 或者 数据集不够。故增加神经网络层数无法解决过拟合问题.
B.多参数更容易过拟合
C.绘制学习曲线有利于帮助我们分析问题
D增加训练样本对于欠拟合是没用的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值