吴恩达机器学习笔记(八):advice for applying machine learning

评估假设:Evaluating a hypothesis

Training/testing procedure for linear regression
在这里插入图片描述Training/testing procedure for logistic regression
在这里插入图片描述

模型选择

Model selection and training/validation/test
sets

模型选择(model selection)
可以依据训练误差和测试误差来评估假设 h θ ( x ) h_\theta(x) hθ(x)
一般来说,我们将数据集划分成训练集(60%)Train set、验证集(20%)交叉验证集Cross validation set和测试集(20%)test set;
在训练集上我们学习参数 θ : minJ(θ);
计算训练误差、验证误差:
在这里插入图片描述for linear regression:
J t r a i n ( θ ) = 1 2 m t r a i n ∑ i = 1 m t r a i n ( h θ ( x t r a i n ( i ) ) − y t r a i n ( i ) ) 2 J_{train}(\theta)=\frac{1}{2m_{train}} \sum_{i=1}^{m_{train}}(h_\theta(x_{train}^{(i)})-y_{train}^{(i)})^2 Jtrain(θ)=2mtrain1i=1mtrain(hθ(xtrain(i))ytrain(i))2
J c v ( θ ) = 1 2 m c v ∑ i = 1 m c v ( h θ ( x c v ( i ) ) − y c v ( i ) ) 2 J_{cv}(\theta)=\frac{1}{2m_{cv}} \sum_{i=1}^{m_{cv}}(h_\theta(x_{cv}^{(i)})-y_{cv}^{(i)})^2 Jcv(θ)=2mcv1i=1mcv(hθ(xcv(i))ycv(i))2
for logistic regression:
J t r a i n ( θ ) = − 1 m t r a i n ∑ i = 1 m t r a i n ( y t r a i n ( i ) log ⁡ ( h θ ( x t r a i n ( i ) ) ) + ( 1 − y t r a i n ( i ) ) log ⁡ ( 1 − h θ ( x t r a i n ( i ) ) ) ) J_{train}(\theta)=-\frac{1}{m_{train}}\sum_{i=1}^{m_{train}}(y_{train}^{(i)}\log(h_\theta(x_{train}^{(i)}))+(1-y_{train}^{(i)})\log(1-h_\theta(x_{train}^{(i)}))) Jtrain(θ)=mtrain1i=1mtrain(ytrain(i)log(hθ(xtrain(i)))+(1ytrain(i))log(1hθ(xtrain(i))))
J c v ( θ ) = − 1 m c v ∑ i = 1 m c v ( y c v ( i ) log ⁡ ( h θ ( x c v ( i ) ) ) + ( 1 − y c v ( i ) ) log ⁡ ( 1 − h θ ( x c v ( i ) ) ) ) J_{cv}(\theta)=-\frac{1}{m_{cv}}\sum_{i=1}^{m_{cv}}(y_{cv}^{(i)}\log(h_\theta(x_{cv}^{(i)}))+(1-y_{cv}^{(i)})\log(1-h_\theta(x_{cv}^{(i)}))) Jcv(θ)=mcv1i=1mcv(ycv(i)log(hθ(xcv(i)))+(1ycv(i))log(1hθ(xcv(i))))
选择 J c v ( θ ) J_{cv}(\theta) Jcv(θ)最小的模型;
计算测试误差 J t e s t ( θ ) J_{test}(\theta) Jtest(θ)
在这里插入图片描述

对于逻辑回归还可以计算误分类率:
在这里插入图片描述

诊断方差和偏差:Diagnosing bias vs variance

在这里插入图片描述一般来说,欠拟合会产生高偏差;过拟合过产生高方差;
具体来说,当模型欠拟合时,训练误差和验证误差都会较大;当模型过拟合时,训练误差很小,然而验证误差很大,如下图:
在这里插入图片描述
在这里插入图片描述

正规化和偏差方差

如何处理高方差和高偏差问题呢?
一般来说,加入合适的正则化项可以有效地避免过拟合。
当正则化参数 λ \lambda λ较大时, θ j ≈ 0 \theta_j\approx0 θj0 (除 θ 0 \theta_0 θ0 ​外),假设函数趋于直线,因而会造成高偏差的问题,导致欠拟合;
当正则化参数 λ较小时,正则化项不起作用,模型会变得过拟合。

在这里插入图片描述在这里插入图片描述一般的,对于高偏差问题(欠拟合):

增加特征个数
增加多项式特征
降低 λ 

对于高方差问题(过拟合):

增加训练样本
减少特征个数
增加 λ 

对于神经网络来说,参数越少,越有可能欠拟合;参数越多,网络结构越复杂,越有可能过拟合,应该加入正则化项。

学习曲线:Learning curves

高偏差,增加训练样本,交叉验证误差不会明显下降,基本变成平的,对改善算法没有益处。
参数少,数据多,m很大的时候,训练集误差和交叉验证集误差将会非常接近。
在这里插入图片描述

高方差,在训练误差和交叉验证误差之间有很大的差距。增加训练样本,交叉验证误差将会降低,对改进算法有好处。
在这里插入图片描述

改进算法

在这里插入图片描述

参考链接:https://blog.csdn.net/qq_29317617/article/details/86312154

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值