zoukankan      html  css  js  c++  java
  • 吴恩达机器学习笔记 —— 11 应用机器学习的建议

    本篇讲述了在机器学习应用时,如何进行下一步的优化。如训练样本的切分验证?基于交叉验证的参数与特征选择?在训练集与验证集上的学习曲率变化?在高偏差或者高方差时如何进行下一步的优化,增加训练样本是否有效?

    更多内容参考 机器学习&深度学习

    如果已经创建好了一个机器学习的模型,当我们训练之后发现还存在很大的误差,下一步应该做什么呢?通常能想到的是:

    • 1 获取更多的数据
    • 2 尝试选择更少的特征集合
    • 3 获得更多的特征
    • 4 增加多项式特征
    • 5 增加λ
    • 6 减小λ

    样本的切分:首先针对我们的样本集,选择其中的70%作为训练集,训练模型;选择其中的30%作为测试集,验证模型的准确度。当使用交叉验证时,就不能简单的把数据集分成两份了,因为这样无法同时选择模型并衡量模型的好坏。因此可以把样本分成3份,其中60%作为训练集,20%作为交叉验证集,20%作为准确率测试集。

    通过多项式的维度与训练集和验证集的误差可以画出上面的图形。如果多项式维度很低,训练集和测试集误差都很大,就叫做高偏差,即欠拟合。如果维度很高,训练集的误差很低,但是验证集误差很高,就叫做高方差,即过拟合。针对正则化λ也可以用这种方式进行选择:

    当训练样本很少时,训练的模型在训练集上很容易就拟合出来,所以误差很小,随着训练样本的增加,误差也随之增加;对于验证集,由于最开始的样本很少,泛化能力很差,所以误差很高,随着样本的增加,验证集的效果越来越好。

    针对于高偏差的情况,由于多项式维度很低,所以拟合出来的是一条直线。因此随着样本的增加,训练集的误差也会增加,但是最后会趋于稳定。此时,增加样本数量并没有什么作用。

    针对于高方差的情况,增加样本则会帮助模型拟合的更好。

  • 相关阅读:
    SpringBoot自定义FailureAnalyzer
    Linux 系统目录结构
    Spring Boot实战:静态资源处理
    Activiti7整合SpringBoot(十二)
    Acvitivi网关(十一)
    为什么阿里巴巴要禁用Executors创建线程池?
    lqb 基础练习 数列排序 (sort的使用)
    lqb 入门训练 A+B问题
    lqb 入门训练 序列求和 (PS:用长整数做数据的输入输出)
    lqb 入门训练 圆的面积 (PS: PI的精确计算方法 atan(1.0) * 4)
  • 原文地址:https://www.cnblogs.com/xing901022/p/9356783.html
Copyright © 2011-2022 走看看