机器学习-吴恩达(第四周)

十、算法优化

10-1 可能遇到的问题

在测试机器学习算法的过程中,假设已经计算出了房屋价格预测的线性回归模型,并有了代价函数;然而在测试数据时发现模型预测结果与实际结果存在巨大偏差,此时往往会考虑到如下做法:

  1. 获得更多训练数据
  2. 尝试减少特征
  3. 尝试获取更多特征
  4. 增加多项式特征
  5. 增大或减小λ
    对于方法的选择不能盲目,要学会有效地排除不可用的方法,以节省时间

10-2 评估假设

通常将数据集按照7:3的比例分为训练集和测试集,尽量保证打乱顺序
训练或测试线性回归模型的过程:

  1. 从训练集中习得参数θ(最小化J(θ))
  2. 从测试集计算测试误差
    在这里插入图片描述
    训练或测试逻辑回归模型的过程:
  3. 从训练集中习得参数θ
  4. 从测试集计算测试误差
    在这里插入图片描述

10-3 模型选择

在这里插入图片描述
假设用测试集通过以上过程得出五次多项式为较好地结果,就不能再用测试集去衡量该模型拟合数据的好坏,因为参数的训练出自训练集,其模型能很好地拟合训练集
解决方法:
在这里插入图片描述
按照6:2:2分别划分为训练集、交叉验证集、测试集
误差公式:
在这里插入图片描述
用交叉验证集计算参数的好处:可以将省下测试集用于衡量模型的泛化误差

10-4 诊断偏差与方差

在这里插入图片描述
图像说明训练集随着多项式次数的增加,拟合的效果会越来越好,误差是一个趋于0的过程;而交叉验证集的误差会经历一个先下降后增加的过程。
现在假设一个机器学习算法的交叉验证误差和测试集误差都很大,如何判定此算法是高偏差问题还是高方差问题呢?
高偏差:交叉验证误差和训练误差都很大且接近(对应图像低次数多项式一侧)
高方差:训练误差很小而交叉验证误差远远大于训练误差

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

λ过大:高偏差(欠拟合)
λ过小:高方差(过拟合)
在这里插入图片描述
如何自动化选择合适的参数λ?
在这里插入图片描述
总结:尝试不同的λ取值,通常设置两倍速递增;最小化代价函数得出相应的θ,然后用交叉验证集评价每个θ的误差,选择误差最小的模型作为最终选择。

当改变参数λ时,交叉验证误差和训练误差的变化情况(理想化):
在这里插入图片描述

10-6 学习曲线

训练集中:样本很少时,比较容易拟合;随着样本数量增多,误差会越来越大
交叉验证集中:样本越多,模型越能获得更好的泛化表现
在这里插入图片描述
高偏差时学习曲线:
在这里插入图片描述
结论:如果一个学习算法有高偏差,增加训练样本数量并不能优化算法性能

高方差时学习曲线:
在这里插入图片描述
结论:如果一个学习算法有高方差,增加训练样本数量可能会有用

10-7 方法的选择

有了学习曲线的相关知识,回到10-1提到的几种方法,下面说明它们所适用的情况

  1. 获得更多训练数据----------高方差
  2. 尝试减少特征----------------高方差
  3. 尝试获取更多特征----------高偏差
  4. 增加多项式特征-------------高偏差
  5. 增大λ--------------------------高偏差
  6. 减小λ--------------------------高方差

神经网络的选择:
通常可以从一个较简单的网络模型开始,此时参数量很少,容易计算,但容易出现欠拟合;而较大的神经网络模型往往拥有更多的参数,计算代价大,性能也越强,但容易出现过拟合情况,此时可用正则化方法解决过拟合
另一个常用的技巧是,可以同时设定分别具有一个隐藏层、两个隐藏层、三个隐藏层的神经网络,然后分别计算每个模型的交叉验证误差,选择出表现最好的神经网络结构

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值