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

    http://www.cnblogs.com/xing901022/p/9356783.html

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    设置 tableview 的背景颜色,总是有蒙层
    设置 tableview 的背景颜色,总是不生效
    bug: 在使用HMSegmentedControl时,设置selectionIndicatorEdgeInsets对左右边界没有用
    心情烦闷annoying,贴几个图!唉!annoying
    [EffectiveC++]item28:避免返回handles指向对象内部成分
    Memorize and recite an important historical speech
    NCE3
    NCE2
    015 volatile关键字 线程函数的lParam 原子操作和旋转锁.
    015 原子操作 旋转锁
  • 原文地址:https://www.cnblogs.com/DicksonJYL/p/9419848.html
Copyright © 2011-2022 走看看