目录 一. 正交化 二. 指标 1. 单一数字评估指标 2. 优化指标.满足指标 三. 训练集.验证集.测试集 1. 数据集划分 2. 验证集.测试集分布 3. 验证集.测试集大小 四. 比较人类表现水平 1. 贝叶斯最佳误差 2. 改进方向 全部来自同一分布 当训练集来自不同分布 五. 误差分析 错误标签 六. 快速搭建系统并迭代 七. 迁移学习 八. 多任务学习 九. 端到端的学习 参考笔记:深度学习笔记 一. 正交化 正交化就是将深度学习的整个过程的所有需要解决的问题独立开来.针对于某个方…
参考:https://blog.csdn.net/red_stone1/article/details/78519599 1. 正交化(Orthogonalization) 机器学习中有许多参数.超参数需要调试. 通过每次只调试一个参数,保持其它参数不变而得到的模型某一性能改变是一种最常用的调参策略,我们称之为正交化方法(Orthogonalization). 对应到机器学习监督式学习模型中,可以大致分成四个独立的"功能": Fit training set well on cost…
参考:https://blog.csdn.net/red_stone1/article/details/78600255https://blog.csdn.net/red_stone1/article/details/78600255 1. error analysis 举个例子,猫类识别问题,已经建立的模型的错误率为10%.为了提高正确率,我们发现该模型会将一些狗类图片错误分类成猫.一种常规解决办法是扩大狗类样本,增强模型对够类(负样本)的训练.但是,这一过程可能会花费几个月的时间,耗费这么大…
一.进行误差分析 很多时候我们发现训练出来的模型有误差后,就会一股脑的想着法子去减少误差.想法固然好,但是有点headlong~ 这节视频中吴大大介绍了一个比较科学的方法,具体的看下面的例子 还是以猫分类器为例,假设我们的模型表现的还不错,但是依旧存在误差,预测后错误标记的数据中有一部分狗图片被错误的标记成了猫.这个时候按照一般的思路可能是想通过训练出狗分类器模型来提高猫分类器,或者其他的办法,反正就是要让分类器更好地区分狗和猫. 但是现在的问题是,假如错误分类的100个样本中,只有5个狗样本被…
从接触机器学习就了解到Andrew Ng的机器学习课程,后来发现又出来深度学习课程,就开始在网易云课堂上学习deeplearning.ai的课程,Andrew 的课真是的把深入浅出.当然学习这些课程还是要有一些基础的.线性代数,高等数学的一些知识. Andrew NG: Deep Learning.ai 网易云课堂(中文字幕) 推荐理由: Andrew Ng老师是讲课的能手,很多人认识他是从Stanford的经典<机器学习>课程上.Andrew老师授课思路清晰,简洁明了. 这是一份优美的信息图…
一.为什么是ML策略 如上图示,假如我们在构建一个喵咪分类器,数据集就是上面几个图,训练之后准确率达到90%.虽然看起来挺高的,但是这显然并不具一般性,因为数据集太少了.那么此时可以想到的ML策略有哪些呢?总结如下: 收集更多的数据 收集更多不同的训练集 结合梯度下降训练算法更长时间 尝试Adam算法 尝试更大的网路 尝试小一点的网络 试着用一下dropout算法 加上\(L_2\)正则项 改善网络结构,如 激活函数 隐藏层节点数量 and so on 二.正交化 正交这个词很好理解,即各个变量…
神经网络和深度学习这一块内容与机器学习课程里Week4+5内容差不多. 这篇笔记记录了Week4+5中没有的内容. 参考笔记:深度学习笔记 神经网络和深度学习 结构化数据:如数据库里的数据 非结构化数据:hard to understand:如图像.文本 一. 深度学习的优势 算法.硬件计算能力的提高使神经网络运行速度变快 大数据(带labels的)使得神经网络精确度更高 在数据集不多的时候深度学习的优势并不是很明显,但是在大数据的情况下,辅助以好的算法和强计算能力,会使神经网络的运行速度和精确…
Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究)) 1.Problem Statement This example is adapted from a real production application, but with details disguised to protect confidentiality. (问题陈述:这个例子来源于实际项目,但是为了保护机密性,我们会对细节…
目录 一. 改善过拟合问题 Bias/Variance 正则化Regularization 1. L2 regularization 2. Dropout正则化 其他方法 1. 数据变形 2. Early stopping 二. 特征缩放 1. 归一化 2. 标准化 三. 初始化参数 梯度消失.梯度爆炸 四. 梯度检验 在神经网络实施梯度检验的实用技巧和注意事项 五. 优化算法 1. mini-Batch梯度下降法 2. 动量梯度下降法 指数加权平均 指数平均加权的偏差修正 动量梯度下降法公式…
目录 第一周 机器学习策略(1) 第二周 机器学习策略(2) 目标:学习一些机器学习优化改进策略,使得搭建的学习模型能够朝着最有希望的方向前进. 第一周 机器学习策略(1) 搭建机器学习系统的挑战:尝试和改变的东西太多,比如超参数. 什么是正交化? 正交化是协助调节搭建机器学习系统的方法之一,类比老式电视机的调节按钮,正交化指的是电视设计师设计这样的按钮,使得每个按钮都只调整一个性质,这样调整电视图像就很容易,就可以把图像跳到正中. 训练神经网络时,使用early stopping虽然可以改善过…
第一周 机器学习(ML)策略(1)(ML strategy(1)) 1.1 为什么是 ML 策略?(Why ML Strategy?) 希望在这门课程中,可以教给一些策略,一些分析机器学习问题的方法,可以指引朝着最有希望的方向前进.这门课中,我会分享我在搭建和部署大量深度学习产品时学到的经验和教训.比如说,很多大学深度学习课程很少提到这些策略.事实上,机器学习策略在深度学习的时代也在变化,因为现在对于深度学习算法来说能够做到的事情,比上一代机器学习算法大不一样. 1.2 正交化(Orthogon…
第一章 神经网络与深度学习(Neural Network & Deeplearning) DeepLearning.ai学习笔记(一)神经网络和深度学习--Week3浅层神经网络 DeepLearning.ai学习笔记(一)神经网络和深度学习--Week4深层神经网络 第二章 改善深层神经网络 DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试.正则化以及优化--Week1深度学习的实用层面 DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试.正则化以…
本系列主要是我对吴恩达的deeplearning.ai课程的理解和记录,完整的课程笔记已经有很多了,因此只记录我认为重要的东西和自己的一些理解. 第一门课 神经网络和深度学习(Neural Networks and Deep Learning) 第一周:深度学习引言(Introduction to Deep Learning) 1.常用神经网络的结构与对应的数据类型 数据类型 结构化数据:表格类型的数据,有明确的行和列. 非结构化数据:音频.视频.图像.文本等类型的数据. 网络结构 标准的NN结…
title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模模糊糊的感觉,也刚入门,虽然现在也是入门,但是对于一些概念已经有了比较深的认识(相对于最开始学习机器学习的时候).所以为了打好基础,决定再次学习一下Andrew Ng的课程,并记录笔记以供以后复习参考. 1. 内容概要 Introduction 什么是机器学习 监督学习 非监督学习 Linear R…
介绍 DeepLearning课程总共五大章节,该系列笔记将按照课程安排进行记录. 另外第一章的前两周的课程在之前的Andrew Ng机器学习课程笔记(博客园)&Andrew Ng机器学习课程笔记(CSDN)系列笔记中都有提到,所以这里不再赘述. 1.神经网络概要 注意:这一系列的课程中用中括号表示层数,例如\(a^{[1]}\)表示第二层(隐藏层)的数据. 2.神经网络表示 这个图的内容有点多,跟着下面的步骤来理解这个图吧: 首先看蓝色字体,这个2层的神经网络(输入层一般理解成第0层)有输入层…
算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基于深度学习的交通行业视频结构化类应用在实际使用场景中遇到的一些问题.计算机视觉处理的目标是图片,因此图片直接影响最终算法的效果,实际场景中碰到的问题基本都是由于各种原因导致视频图片发生变化最后影响系统的使用效果. 露天天气环境影响 由于天气变化.光照季节性变化等各种原因,视频画面经常出现干扰性噪声,…
一.为什么选择序列模型 序列模型可以用于很多领域,如语音识别,撰写文章等等.总之很多优点... 二.数学符号 为了后面方便说明,先将会用到的数学符号进行介绍. 以下图为例,假如我们需要定位一句话中人名出现的位置. 红色框中的为输入.输出值.可以看到人名输出用1表示,反之用0表示: 绿色框中的\(x^{<t>},y^{<t>}\)表示对应红色框中的输入输出值的数学表示,注意从1开始. 灰色框中的\(T_x,T_y\)分别表示输入输出序列的长度,在该例中,\(T_x=9,T_y=9\)…
一.词汇表征 首先回顾一下之前介绍的单词表示方法,即one hot表示法. 如下图示,"Man"这个单词可以用 \(O_{5391}\) 表示,其中O表示One_hot.其他单词同理. 但是这样的表示方法有一个缺点,看是看下图中右侧给出的例子,比如给出这么一句不完整的话: **I want a glass of orange ___** 假设通过LSTM算法学到了空白处应该填"juice".但是如果将orange改成apple,即 **I want a glass…
第二周:神经网络的编程基础(Basics of Neural Network programming) 1.逻辑回归的代价函数(Logistic Regression Cost Function) 逻辑回归需要注意的两个点是,sigmoid函数和log损失函数. sigmoid函数的函数表达式为 作为线性函数后的非线性转化,使得逻辑回归有别于硬分类的算法,例如SVM.逻辑回归对于分类的输出结果是[0,1]之间的一个值. 逻辑回归使用的损失函数(用于更新梯度)是 log损失函数,具体公式如下 y^…
1. Mini-batch梯度下降法 介绍 假设我们的数据量非常多,达到了500万以上,那么此时如果按照传统的梯度下降算法,那么训练模型所花费的时间将非常巨大,所以我们对数据做如下处理: 如图所示,我们以1000为单位,将数据进行划分,令\(x^{\{1\}}=\{x^{(1)},x^{(2)}--x^{(1000)}\}\), 一般地用\(x^{\{t\}},y^{\{t\}}\)来表示划分后的mini-batch. 注意区分该系列教学视频的符号标记: 小括号() 表示具体的某一个元素,指一个…
一.计算机视觉 如图示,之前课程中介绍的都是64* 64 3的图像,而一旦图像质量增加,例如变成1000 1000 * 3的时候那么此时的神经网络的计算量会巨大,显然这不现实.所以需要引入其他的方法来解决这个问题. 二.边缘检测示例 边缘检测可以是垂直边缘检测,也可以是水平边缘检测,如上图所示. 至于算法如何实现,下面举一个比较直观的例子: 可以很明显的看出原来6 * 6的矩阵有明显的垂直边缘,通过3 * 3的过滤器(也叫做 "核")卷积之后,仍然保留了原来的垂直边缘特征,虽然这个边缘…
一.为什么要进行实例探究? 通过他人的实例可以更好的理解如何构建卷积神经网络,本周课程主要会介绍如下网络 LeNet-5 AlexNet VGG ResNet (有152层) Inception 二.经典网络 1.LeNet-5 该网络主要针对灰度图像训练的,用于识别手写数字. 该网络是在1980s提出的,当时很少用到Padding,所以可以看到随着网络层次增加,图像的高度和宽度都是逐渐减小的,深度则不断增加. 另外当时人们会更倾向于使用Average Pooling,但是现在则更推荐使用Max…
一.什么是人脸识别 老实说这一节中的人脸识别技术的演示的确很牛bi,但是演技好尴尬,233333 啥是人脸识别就不用介绍了,下面笔记会介绍如何实现人脸识别. 二.One-shot(一次)学习 假设我们发财了,开了一家公司.然后作为老板的我们希望与时俱进,所以想使用人脸识别技术来实现打卡. 假如我们公司只有4个员工,按照之前的思路我们训练的神经网络模型应该如下: 如图示,输入一张图像,经过CNN,最后再通过Softmax输出5个可能值的大小(4个员工中的一个,或者都不是,所以一一共5种可能性).…
一.基础模型 假设要翻译下面这句话: "简将要在9月访问中国" 正确的翻译结果应该是: "Jane is visiting China in September" 在这个例子中输入数据是10个中文汉字,输出为6个英文单词,\(T_x\)和\(T_y\)数量不一致,这就需要用到序列到序列的RNN模型. ​ 类似的例子还有看图说话: 只需要将encoder部分用一个CNN模型替换就可以了,比如AlexNet,就可以得到"一只(可爱的)猫躺在楼梯上"…
一.深层神经网络 深层神经网络的符号与浅层的不同,记录如下: 用\(L\)表示层数,该神经网络\(L=4\) \(n^{[l]}\)表示第\(l\)层的神经元的数量,例如\(n^{[1]}=n^{[2]}=5,n^{[3]}=3,n^{[4]}=1\) \(a^{[l]}\)表示第\(l\)层中的激活函数,\(a^{[l]}=g^{[l]}(z^{[l]})\) 二.前向和反向传播 1. 第\(l\)层的前向传播 输入为 \(a^{[l-1]}\) 输出为 \(a^{[l]}\), cache(…
一.什么是ML策略 假设你正在训练一个分类器,你的系统已经达到了90%准确率,但是对于你的应用程序来说还不够好,此时你有很多的想法去继续改善你的系统: 收集更多训练数据 训练集的多样性不够,收集更多的具有多样性的实验数据和更多样化的反例集. 使用梯度下降法训练更长的时间 尝试一个不同的优化算法,例如Adam优化算法. 尝试更大的神经网络或者更小的神经网络 尝试dropout 尝试L2正则化 改变神经网络的结构: 修改激活函数 改变隐藏单元的数目 如果你使用了错误的方向,不仅会浪费大量的时间,而且…
一.目标定位 这一小节视频主要介绍了我们在实现目标定位时标签该如何定义. 上图左下角给出了损失函数的计算公式(这里使用的是平方差) 如图示,加入我们需要定位出图像中是否有pedestrian,car,motorcycles.注意在这里我们假设图像中只肯呢个存在这三者中的一种或者都不存在,所以共有四种可能. \(P_c=1\)表示有三者中的一种 \(C_1=1\)表示有pedestrian,反之没有 \(C_2=1\)表示有car \(C_3=1\)表示有motorcycles \(b_*\)用于…
1.迁移学习 比如要训练一个放射科图片识别系统,但是图片非常少,那么可以先在有大量其他图片的训练集上进行训练,比如猫狗植物等的图片,这样训练好模型之后就可以转移到放射科图片上,模型已经从其他图片中学习到了低层的特征,可能会对当前训练系统产生帮助.但要保证其他图片的量很多. 对迁移的模型只要修改输出层,进行重新训练最后一层或者最后一两层的参数即可,或者还可以在最后层进行添加神经网络层. 任务A和B有相同的输入x; 对任务A比任务B有更多的数据: A的低层特征对学习B有帮助. 2 多任务学习 对于迁…
1. Executor基于生产者-消费者模式,提交任务的操作相当于生产者,执行任务的线程相当于消费者,如果要在程序中实现一个生产者-消费者的设计,最简单的方式通常就是使用Executor 2. Executor的生命周期: 为了解决执行任务的生命周期问题,Executor扩展了ExecutorService接口,添加了一些用于生命周期管理的方法,如下: public interface ExecutorService extends Executor{ void shutdown(); List…
第四周:深层神经网络(Deep Neural Networks) 1.深层神经网络(Deep L-layer neural network) 在打算使用深层神经网络之前,先去尝试逻辑回归,尝试一层然后两层隐含层,把隐含层的数量看做是另一个可以自由选择大小的超参数,然后再保留交叉验证数据上评估,或者用你的开发集来评估. 2.前向传播和反向传播(Forward and backward propagation) 前向传播: 反向传播: 3.为什么使用深层表示?(Why deep representa…