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

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

正交化

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

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

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

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

单一的量化评估指标

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

满足和优化指标:

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

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

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

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

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

更改开发、测试集和指标

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

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

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

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

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

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

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

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

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


http://www.kler.cn/a/355223.html

相关文章:

  • linux-21 目录管理(一)mkdir命令,创建空目录
  • Docker基础知识 Docker命令、镜像、容器、数据卷、自定义镜像、使用Docker部署Java应用、部署前端代码、DockerCompose一键部署
  • 【K8S问题系列 | 21 】K8S中如果PV处于Bound状态,如何删除?【已解决】
  • Elasticsearch:analyzer(分析器)
  • uniapp 微信小程序 数据空白展示组件
  • 嵌入式系统 第十四讲 嵌入式GUI及应用程序设计
  • 【进阶OpenCV】 (19)-- Dlib库 --人脸表情识别
  • 删除链表的倒数第 N 个结点 | LeetCode-19 | 双指针 | 递归 | 栈 | 四种方法
  • 数据库初体验
  • 淘系商品详情数据封装接口(API接口)json数据格式分析
  • srsRAN 4G设置的笔记
  • Cocos Creator 原生Android项目打 aab 包,升级到Android14(API 34)
  • 想让前后端交互更轻松?alovajs了解一下?
  • Java爬虫:从入门到精通实战指南
  • apache pulsar 安装最新版本, docker安装pulsar3.3.2
  • unity学习笔记-Text mesh Pro
  • web API基础
  • 【大数据】Hive快速入门
  • 【Linux】Linux常见指令及权限理解
  • TCP——Socket
  • linux的学习第二天
  • 基于Opencv中的DNN模块实现图像/视频的风格迁移
  • mysql-数据库的操作
  • 交叉熵损失 在PyTorch 中的计算过程
  • MySQL-CRUD-基础-(详解) ┗( ▔, ▔ )┛
  • PostgreSQL学习笔记十三:常用函数