当前位置: 首页 > news >正文

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

正交化

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

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

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

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

单一的量化评估指标

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

满足和优化指标:

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

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

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

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

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

更改开发、测试集和指标

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

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

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

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

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

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

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

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

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


http://www.mrgr.cn/news/52502.html

相关文章:

  • linux的安装教程(后续会更新)
  • Qt | 元对象+元枚举+Qt自带图标案例
  • Windows环境apache控制台命令行启动、停止、重启httpd服务
  • JavaScript 第17章:性能优化
  • Ability内页面的跳转和数据传递(router和want显/隐跳转)
  • 后端程序员必备:15个MySQL表设计的经验准则
  • 【python实操】python小程序之UnitTest框架以及TestSuite书写方法
  • 【橙子老哥】C# 实操高并发分布式缓存解决方案
  • python取字典的任意一项的value
  • OpenCV和HALCON
  • LeetCode Hot100 | Day6 | 从前序和中序数组构建二叉树
  • 祝贺 “微信服务号折叠” 获得2024诺贝尔设计奖
  • 网络编程(22)——通过beast库快速实现websocket服务器
  • 【服务器知识】Tomcat简单入门
  • 【线性回归分析】:基于实验数据的模型构建与可视化
  • 【fisco学习记录3】扩容新节点以及配置控制台
  • extern与static
  • 电能表预付费系统-标准传输规范(STS)(9)
  • 蓝桥算法双周赛 第 19 场 小白入门赛
  • JavaScript 第18章:安全性