IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 3.结构化机器学习项目 -> 正文阅读

[人工智能]3.结构化机器学习项目

1.学习如何更快速高效地优化你的机器学习系统
可以指引你们朝着最有布望的方向前进

正交化

正交化就是你想出一个维度,这个维度单独做这个维度的事情。(自我理解:完全的分解功能)

在这里插入图片描述

所以类似地,如果你的算法在成本函数上不能很好地拟合训练集,你想要一个旋钮,用来确保你的可以调整你的算法,让它很好地拟合训练集,所以你用来调试的旋钮是你可能可以训练更大的网络,或者可以切换到更好的优化算法,比如Adam优化算法,等等。

相比之下,如果发现算法对开发集的拟合很差,比如说,你的算法在开发集上做的不好,它在训练集上做得很好,但开发集不行,然后你有一组正则化的旋钮可以调节,尝试让系统满足第二个条件。增大训练集可以是另一个可用的旋钮,它可以帮助你的学习算法更好地归纳开发集的规律

如果它不符合第三个标准呢?如果系统在开发集上做的很好,但测试集上做得不好呢?如果是这样,那么你需要调的旋钮,可能是更大的开发集。因为如果它在开发集上做的不错,但测试集不行这可能意味着你对开发集过拟合了,你需要往回退一步,使用更大的开发集。

最后,如果它在测试集上做得很好,但无法给你的猫图片应用用户提供良好的体验,这意味着你需要回去,改变开发集或成本函数。因为如果根据某个成本函数,系统在测试集上做的很好,但它无法反映你的算法在现实世界中的表现,这意味着要么你的开发集分布设置不正确,要么你的成本函数测量的指标不对。

单一数字评估指标

查准率的定义是在你的分类器标记为猫的例子中,有多少真的是猫。
查全率就是,对于所有真猫的图片,你的分类器正确识别出了多少百分比。
查准率和查全率的调和平均值 F 1 {F_1} F1?

满足和优化指标

两个指标,一个满足指标,一个优化指标




训练集(training set):训练算法。

开发集(development set):调整参数、选择特征,以及对学习算法作出其它决定。

测试集(test set):开发集中选出的最优的模型在测试集上进行评估。不会据此改变学习算法或参数。

开发集和测试集一定要来自同一个数据集,瞄准同一个目标

在这里插入图片描述
训练集最多,开发集和测试集最少。
在这里插入图片描述
机器学习超越人类前后,以及原因。

训练的时候,你得知道或者大概了解 贝叶斯误差大盖在什么位置。
可避免偏差、人类水平误差、知道人类的极限在哪

整体概述

在这里插入图片描述

人工检查称为误差分析

训练集误差是否需要修复,只要总数据集够大,放着不管也可以。看看有没有严重影响,是否值得去人工修正标记出错的数据。

误差分析是如何在启动新的机器学习项目中发挥作用的

快速的建立你的系统,然后迭代。

对于真实数据不足的情况,可以将大量其他数据放在训练集,但是对于开发集和测试集,数据都要来源于真实的数据。
在这里插入图片描述
采用option2.

训练-开发集:这是一个新的数据子集,我们应该从训练集的分布里挖出来,但你不会用来训练你的网络,随机打散训练集,然后分出一部分训练集作为 训练-开发集,就像开发集和测试集来自同一分布,训练集和训练-开发集 也来自同一分布,但不同的地方是 现在你只在

我的意思是我们已经设立过这样的训练集、开发集和测试集了,并且开发集和测试集来自相同的分布,但训练集来自不同的分布。

在这里插入图片描述

我们要做的是随机打散训练集,然后分出一部分训练集作为训练-开发集(training-dev),就像开发集和测试集来自同一分布,训练集、训练-开发集也来自同一分布。

在这里插入图片描述

但不同的地方是,现在你只在训练集训练你的神经网络,你不会让神经网络在训练-开发集上跑后向传播。为了进行误差分析,你应该做的是看看分类器在训练集上的误差,训练-开发集上的误差,还有开发集上的误差。
在这里插入图片描述

比如说这个样本中,训练误差是1%,我们说训练-开发集上的误差是9%,然后开发集误差是10%,和以前一样。你就可以从这里得到结论,当你从训练数据变到训练-开发集数据时,错误率真的上升了很多。而训练数据和训练-开发数据的差异在于,你的神经网络能看到第一部分数据并直接在上面做了训练,但没有在训练-开发集上直接训练,这就告诉你,算法存在方差问题,因为训练-开发集的错误率是在和训练集来自同一分布的数据中测得的。所以你知道,尽管你的神经网络在训练集中表现良好,但无法泛化到来自相同分布的训练-开发集里,它无法很好地泛化推广到来自同一分布,但以前没见过的数据中,所以在这个样本中我们确实有一个方差问题。

我们来看一个不同的样本,假设训练误差为1%,训练-开发误差为1.5%,但当你开始处理开发集时,错误率上升到10%。现在你的方差问题就很小了,因为当你从见过的训练数据转到训练-开发集数据,神经网络还没有看到的数据,错误率只上升了一点点。但当你转到开发集时,错误率就大大上升了,所以这是数据不匹配的问题。因为你的学习算法没有直接在训练-开发集或者开发集训练过,但是这两个数据集来自不同的分布。但不管算法在学习什么,它在训练-开发集上做的很好,但开发集上做的不好,所以总之你的算法擅长处理和你关心的数据不同的分布,我们称之为数据不匹配的问题。

一般的原则,我们要看的关键数据是人类水平错误率,你的训练集错误率,训练-开发集错误率。根据这些错误率之间差距有多大,你可以大概知道,可避免偏差、方差数据不匹配问题各自有多大。

定位数据不匹配

当你使用人工数据合成时,一定要谨慎,要记住你有可能从所有可能性的空间只选了很小一部分去模拟数据。

所以这就是如何处理数据不匹配问题

迁移学习

预训练和微调迁移学习
那么迁移学习什么时候是有意义的呢?
迁移学习起作用的场合是,在迁移来源问题中你有很多数据,但迁移目标问题你没有那么多数据。以总结一下,什么时候迁移学习是有意义的?

  • 如果你想从任务A学习并迁移一些知识到任务V,那么当任务A和任务V都有同样的输入x时,迁移学习是有意义的。
  • 当任务A的数据比任务B多得多时,迁移学习意义更大。.
  • 然后如果你觉得任务A的低层次特征,可以帮助任务B的学习,那迁移学习更有意义一些。
多任务学习

并行的,而不是串行的。

在迁移学习中,你的步骤是串行的,你从任务A里学习只是然后迁移到任务B。在多任务学习中,你是同时开始学习的,试图让单个神经网络同时做几件事情,然后希望这里每个任务都能帮到其他所有任务。

那么多任务学习什么时候有意义呢?当三件事为真时,它就是有意义的。

  • 第一,如果你训练的一组任务,可以共用低层次特征。对于无人驾驶的例子,同时识别交通灯、汽车和行人是有道理的,这些物体有相似的特征,也许能帮你识别停车标志,因为这些都是道路上的特征。
  • 第二,这个准则没有那么绝对,所以不一定是对的。但我通常会看的是如果你专注于单项任务,如果想要从多任务学习得到很大性能提升,那么其他任务加起来必须要有比单个任务大得多的数据量。
  • 最后多任务学习往往在以下场合更有意义,当你可以训练一个足够大的神经网络,同时做好所有的工作.

在实践中 多任务学习的使用频率要低于迁移学习

端到端深度学习

以前有一些数据处理系统或者学习系统,它们需要多个阶段的处理。那么端到端深度学习就是忽略所有这些不同的阶段,用单个神经网络代替它。

如果有大量的数据让你去训练,那么端到端其实更好,要不然还是传统的流水线,分布其实更容易一些。

优点

  • 端到端学习真的只是让数据说话
  • 所需手工设计的组件更少,所以这也许能够简化你的设计工作流程

缺点

  • 它可能需要大量的数据
  • 它排除了可能有用的手工设计组件
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:56:30  更:2021-09-30 11:57:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 3:15:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码