自学内容网 自学内容网

吴恩达深度学习笔记(6)

正交化

为了提高算法准确率,我们想到的方法

  • 收集更多的训练数据
  • 增强样本多样性
  • 使用梯度下降将算法使算法训练时间更长
  • 换一种优化算法
  • 更复杂或者更简单的神经网络
  • 利用dropout 或者L2正则化
  • 改变网络框架
  • 更换激活函数
  • 改变隐藏单元个数

为了使有监督机制的学习系统良好的运行,通常需要保证:

  • 通常确保至少训练集运行良好,因此需要对训练集的运行情况进行一些可行性评估。
  • 如果训练集表现良好,希望开发集运行良好
  • 希望测试集运行良好
  • 在代价函数的测试集中运行良好

单一的量化评估指标

一个合理的评估分类器好坏的方法,就是去看它的精确率和召回率,需要同时关注两个指标,在其中做权衡。如果尝试很多不同的算法,就会有很多超参数,需要从多个分类器中选择,因此找一个新的指标兼顾精准率和召回率。

满足和优化指标:

设置训练集、开发集、测试集的指导原则

开发集和测试集同分布,且随机选取

模型数据和未来数据要具有相似性;

训练集、开发集、测试集的比例不是一定的,数据量足够大的时候,测试集只要能提供足够的置信度来评估性能的数据量就行。设置开发集能帮我们评估不同分类器并作出选择,测试集可以对最终的分类器评估。

可能你并不需要对最终系统整体性能的评估具有很高的置信度

更改开发、测试集和指标

评估指标无法正确对算法的优劣进行排序,需要修改评估指标或者修改开发集或者测试集

如上两种算法,虽然A的错误率低,但是它存在一些无法容忍的错误,此时改良评估指标的方式,是加入一个权重项,赋予无法容忍的错误更大的权重。如果评估指标无法正确评估算法的排名,则需要重新定义一个新的评估指标。

人类水平表现、可避免偏差

人类能够做到的水平和贝叶斯误差(最优分类器)相差不远。

如果算法的表现和人类的表现之间存在巨大误差时:

消除偏差:减少训练集误差和人类水平误差之间的差距,来提高模型性能。

消除方差:用正则化方法减少开发集误差和测试集误差之间的差距,来提高模型性能。

对人类水平误差有一个大概的估计,可以让我们去估计贝叶斯误差,这样可以让我们更快的做出决定:减少偏差还是减少

参考:吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(3-1)-- 机器学习策略(1)_吴恩达机器学习不同模型的训练三板斧-CSDN博客


原文地址:https://blog.csdn.net/weixin_43899239/article/details/143023023

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!