读书笔记1|深度学习入门:Machine Learning Yearning

Posted 程序媛一枚~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记1|深度学习入门:Machine Learning Yearning相关的知识,希望对你有一定的参考价值。

Machine Learning Yearning中文版

有一段时间有点摸不着头脑,因为是自学python,深度学习,分类太多,人脸识别,对象检测,对象追踪,图像处理,语义分割等。有点眼花缭乱,太多细节。
和同事聊推荐的这本书,花了俩天加班读完的,收货还蛮多的。嗯就是站在一个高度上,不突然一下子把自己扎进去。先整体了解思想,以思考如何解决问题的方式,先理清思路,在实践同时也要及时调整方向。这是这本书给我的感受。

machine learning 机器学习
neural network 神经网络
supervised learning 监督学习(即使用labeled的数据集(x,y)来学习从x映射到y的函数)。主要包括回归(linear regression线性回归,logistics regression逻辑回归/对数几率回归,dicision tree决策树)和神经网络(neural network);
unsupervised learning 非监督学习(聚类,降维,推荐系统clustering, dimensionality reduction, recommender systems)
二分类(binary classification)

训练集 training set
开发集 development set 也称为留出交叉验证集(hold-out cross validation set)
测试集 test set
泛化 generalize
过拟合 overfit
基准测试 benchmark

开发集/训练集 70%/30% 并非越大越好 10000个样本左右
开发集——————帮助快速评估算法性能
选择开发集和测试集以反映你在将来想要正确处理的数据。

单值评估指标 single-number evaluation metric

查准率 Precision 精度
查全率 Recall 召回率
F1 Score 优化过的 精度+召回率取平均值 2/((1/precision)+(1/recall))
取平均值或者加权平均值是将多个指标合并为一个指标的常用办法之一。

准确率 accuracy
运行时间 running time
尝试先框出一些可接受的阈值,然后根据指标去选出最优!

false positive rate假正例率 用户没有说出唤醒词系统却响应了
false negative rate假反例率 用户说出唤醒词系统却未响应 最小化假反例率

训练集/开发集/测试集 + 度量指标 + idea — code — experiment 循环找到最优的方法;

  1. 你需要处理的实际数据的分布和开发集/测试集数据的分布情况不同。
  2. 算法在开发集上过拟合了。
  3. 该指标不是项目应当优化的目标。

误差分析 Error Analysis
labeled
mislabeled

偏差 bias 在训练集上的错误率
方差 variance 在开发/测试集上的错误率

训练错误率 1%
开发错误率 11% 高方差——过拟合overfitting

训练错误率 15%
开发错误率 16% 高偏差——欠拟合underfitting

训练错误率 15%
开发错误率 30% 高偏差/高方差——同时过拟合和欠拟合

训练错误率 0.5%
开发错误率 1% 低偏差/低方差——完美!分类器效果很好。

最优错误率(不可避免偏差)
可避免偏差: 训练错误率和最优误差率之间的差值
方差: 开发错误和训练错误之间的偏差

偏差 = 最佳误差率(不可避免误差)+可避免的偏差

最优错误率也称为贝叶斯错误率Bayes error rate

较高的可避免偏差:添加层/神经元数量来增加神经网络的大小。
高方差:增加训练集的数据量
加大模型规模通常可以减少偏差,但也可以增加过拟合风险(精心设计的正则化方法可避免过拟合)

增加神经网络的规模大小,并调整正则化方法去减少偏差,而不会明显增加方差;
增加训练数据,也可以在不影响偏差的情况下减少方差;

EyeBall开发集 Ear开发集 BlackBox开发集

L2正则化 dropout技术

优化验证测试(Optimization Verification test)
情感分类(sentiment classification)
解析器 parser
情感分类器(sentiment classifier)

端到端的例子:语音识别系统
直接从输入~~到输出,由神经网络进行学习
不一定要引入先验的“人工设计”部分,小数据量引入有好处,大数据量时引入过多“人工设计”部分可能会限制算法的性能。

暹罗猫检测可分俩步:图片–猫咪检测器–猫咪种类分类器–标签0/1
自动驾驶:检测其他车辆;检测行人;检测车道标记,规划路径,操纵方向,拆分成每一个步骤都是相对简单的功能,而不是纯粹端到端的方法,只需要从少量的数据中学习更容易实现。

场景:scenario

组件误差分析告诉我们:哪些组件的性能是最值得尽力去改进的。

参考

  • https://github.com/deeplearning-ai/machine-learning-yearning-cn
  • Github:https://github.com/deeplearning-ai/machine-learning-yearning-cn
  • 在线阅读:https://deeplearning-ai.github.io/machine-learning-yearning-cn/docs/home/
  • 中文版:https://github.com/deeplearning-ai/machine-learning-yearning-cn/releases/download/v0.5.0/MLY-zh-cn.pdf

以上是关于读书笔记1|深度学习入门:Machine Learning Yearning的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记2|深度学习入门——基于python的理论与实现

读书笔记2|深度学习入门——基于python的理论与实现

《Python深度学习》第三章第一部分读书笔记

《Python深度学习》第一章读书笔记

python神经网络入门---读书笔记简单的神经网络

python神经网络入门---读书笔记简单的神经网络