【CV】吴恩达机器学习课程笔记第10章

本系列文章如果没有特殊说明,正文内容均解释的是文字上方的图片
机器学习 | Coursera
吴恩达机器学习系列课程_bilibili

10 应用机器学习的建议

10-1 决定下一步做什么

10-2 评估假设函数

在这里插入图片描述
随机选择数据集中的70%作为训练集,30%作为测试集,将数据集分为两个部分

  • 首先根据训练集计算出参数 Θ \Theta Θ
  • 把参数 Θ \Theta Θ代入测试集计算代价函数的值(这里是线性回归的代价函数,逻辑回归的代价函数同理):
    J t e s t ( θ ) = 1 2 m t e s t ∑ i = 1 m t e s t ( h θ ( x t e s t ( i ) ) − y t e s t ( i ) ) 2 J_{test}(θ)=\frac{1}{2m_{test}}\sum_{i=1}^{m_{test}}(h_θ(x^{(i)}_{test})-y^{(i)}_{test})^2 Jtest(θ)=2mtest1i=1mtest(hθ(xtest(i))ytest(i))2
    在这里插入图片描述

逻辑分类中有另一种形式的测试度量,称作错误分类或0/1错误分类,计算过程如上图

10-3 模型选择和训练、验证、测试集

在这里插入图片描述
随机选择数据集中的60%作为训练集(Training Set),20%作为交叉验证集(验证集,Cross Validation Set,cv),20%作为测试集(Test Set),将数据集分为三个部分
在这里插入图片描述
上图,计算训练误差、验证误差和测试误差
在这里插入图片描述
d d d来表示假定函数的多项式的最高次幂

  • 先用训练集求每一个假定函数的代价函数 J ( Θ ) J(\Theta) J(Θ)取到最小值时 Θ \Theta Θ的值,再把这个求得的 Θ \Theta Θ代入交叉验证集求得 J c v ( Θ ) J_{cv}(\Theta) Jcv(Θ),对每一个假定函数进行以上步骤的计算,得到 d = 1 , . . . , 10 d=1,...,10 d=1,...,10的10个代价函数的值,取最小的那个,这里假定是 d = 4 d=4 d=4,再使用 d = 4 d=4 d=4时的 Θ \Theta Θ代入测试集得到泛化误差

10-4 判断偏差与方差

在这里插入图片描述
上图坐标系 y y y轴为误差, x x x轴为 d d d(多项式最高次幂)的大小
以上图为例,

  • d d d过小时,出现欠拟合(underfit),偏差(bias)过大,此时的训练集误差 J t r a i n ( Θ ) J_{train}(\Theta) Jtrain(Θ)很大,并且 J c v ( Θ ) ≈ J t r a i n ( Θ ) J_{cv}(\Theta)\approx J_{train}(\Theta) Jcv(Θ)Jtrain(Θ)
  • d d d过大时,出现过拟合(overfit),方差(variance)过大,此时的训练集误差 J t r a i n ( Θ ) J_{train}(\Theta) Jtrain(Θ)很小,并且 J c v ( Θ ) > > J t r a i n ( Θ ) J_{cv}(\Theta)>> J_{train}(\Theta) Jcv(Θ)>>Jtrain(Θ)

10-5 正则化和偏差、方差

在这里插入图片描述

  • 若正则化参数 λ \lambda λ过大,会导致欠拟合,高偏差,并且参数 θ 1 ≈ 0 , θ 2 ≈ 0 , . . . \theta_1\approx 0,\theta_2\approx 0,... θ10,θ20,...,假定函数的结果 h θ ( x ) ≈ θ 0 h_{\theta}(x)\approx \theta_0 hθ(x)θ0,如上图最左侧坐标系
  • 若正则化参数 λ \lambda λ过小,会导致过拟合,高方差,如上图最右侧坐标系
    在这里插入图片描述
    使用不带正则化项的 J t r a i n ( Θ ) 、 J c v ( Θ ) 、 J t e s t ( Θ ) J_{train}(\Theta)、J_{cv}(\Theta)、J_{test}(\Theta) Jtrain(Θ)Jcv(Θ)Jtest(Θ)
    J ( Θ ) J(\Theta) J(Θ)取下图中的带正则化项的代价函数
    在这里插入图片描述
  • 首先取多种 λ \lambda λ的情况,这里从0,0.01开始,下一个 λ \lambda λ是上一个的两倍,一直取到 λ = 10.24 \lambda=10.24 λ=10.24,由于此时小数部分对结果影响不大,所以也可以直接取 λ = 10 \lambda=10 λ=10
  • 将每一种情况的 λ \lambda λ代入带正则化项的代价函数 J ( Θ ) J(\Theta) J(Θ)中,这里共能得到12个不同的 Θ \Theta Θ
  • 再把这12个 Θ \Theta Θ代入到交叉验证集代价函数 J c v ( Θ ) J_{cv}(\Theta) Jcv(Θ)中,注意这里的 J c v ( Θ ) J_{cv}(\Theta) Jcv(Θ)是不带正则化项的,最后得到12个不同的 J c v ( Θ ) J_{cv}(\Theta) Jcv(Θ)
  • 取最小的那个 J c v ( Θ ) J_{cv}(\Theta) Jcv(Θ)值对应的 λ \lambda λ(这里认为第5个 λ \lambda λ是最合适的)代入到测试集的代价函数 J t e s t ( Θ ) J_{test}(\Theta) Jtest(Θ)中,计算泛化误差,注意这里的 J t e s t ( Θ ) J_{test}(\Theta) Jtest(Θ)也是不带正则化项的
    在这里插入图片描述

10-6 学习曲线

在这里插入图片描述
在这里插入图片描述
如上图是高偏差/欠拟合的情形
此时增加数据集数量对于误差的缩小没有明显帮助
在这里插入图片描述
如上图是高方差/过拟合的情形
此时交叉验证集的曲线和训练集的曲线中间相差较大,所以增加数据集数量对于减小误差是有帮助的

10-7 决定接下来做什么

解决高偏差或高方差的一些方法如下图:
在这里插入图片描述
在这里插入图片描述
如上图

  • 在一个小型的神经网络中,容易出现欠拟合现象,但它的好处是计算量较小
  • 在一个大型的神经网络中,容易出现过拟合现象,可以通过正则化来避免,它的好处是效果较好,但是计算量较大
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Fannnnf

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

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

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

打赏作者

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

抵扣说明:

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

余额充值