吴恩达深度学习第三章-结构化机器学习
2017-11-04 09:56
246 查看
1.1 ML策略
more data
more diverse training set
train algorithm longer with sgd
try adam optimization instead of sgd
try bigger/smaller network
try dropout/L2 regularization
network architecture.1: activation functions,2:hidden units ….
判断哪些idea 有效?
1.2 正交化
TV tuning example :每一个旋钮只调整一个性质
fit training set -> fit dev set -> fit test set
如果训练集不好 更大的网络,变化更好的优化算法。。
如果在训练集上效果很好,开发集不好,需要有一组正则化的按钮可以调节(增大训练集)
如果在训练集,开发集fit,在测试集不好,需要使用更大的开发集。
不太使用early stopping。stop early对训练集的拟合就不太好
1.3 单一数字评估指标
trade off of precision and recall 。F1 score
1.4 满足和优化指标
accuracy optimizing, running time satisfied(<1000 ms)。
一个优化指标 一个或多个满足指标
1.5 训练开发测试
workflow: try many ideas->train different models->use dev set to evaluate and pick one
randomly shuffled data into the dev and test set.From same distribution.
1.6 开发集和测试集的大小
old way <10000 data :
0.7 train,0.3 test.0.6 train ,0.2 dev,0.2 test.
now large data sets 10e6:
0.01dev,0.01 test
some cases。train and dev set.no test might be ok.not recommend
1.7 改变开发、测试的指标
猫分类例子:算法A在评价指标上做得更好,但是会如(将色情图片分类为猫)。B评价指标并不如A,但是不会发生上述错误。评价指标无法衡量算法之间的优劣排序
改变error metric:把色情图片分类成猫这一错误的惩罚权重加大10倍。
define a metric to evaluate classifiers->worry separately about how to do well on this metric
1.8 人的表现
1.9 可避免偏差
如果训练误差和验证误差 远大于人类或state of art:focus on bias
如果接近 focus on variance
humans error 7.5,train 8,test 10:
贝叶斯误差估计。0.5 可避免偏差,2是方差。减小方差相对容易。
1.12 改善模型
fit train set:bias
generalizes well to dev/test: variance
reducing
human level(state of art)avoid bias:
train bigger model
train longer/better optim
nn architecture/ hyperparameters search
training error avoid variance
more data
regularization L2,dropout,data augmentation
nn architecture/ hyperparameters search
dev error
2.1 进行误差分析
look as dev examples to evaluate ideas
get 100 mislabeled dev set examples,count up error types and analysis.Decide solve it is necessary?决定在哪个错误类型有改进的必要。
evaluate multiple ideas in parallel
进行误差分析,应该找一组开发集的错误例子,观察错误标记例子,看看假阳性和假阴性,启发归纳出新的误差类型。
2.2 清楚标注错误的数据
深度学习算法对随机误差是鲁棒的,但对系统误差(标记的人把白色的狗标记成猫)是不鲁棒的。
2.3 快速搭建系统
机器学习程序-> 快速搭建第一个程序->使用偏差、方差分析,错误分析,找到改善系统要优先处理的方向,迭代。 如果这个问题很熟悉或有几乎完全相同的参考文献可以不这么做。
2.4 在不同的划分上进行训练并测试。
data1 200000 data2:10000
option 1:merge ->shuffle
option2: training 20万data1+5000data2。 dev:2500data2
2.5 不匹配数据划分的偏差和方差
2.6 定位数据不匹配
2.7 迁移学习
使用在分类猫数据训练好的神经网络,用这些知识或部分知识去阅读x射线扫描图。
将原网络的最后一层改变,重新训练。数据少-只训练最后一层的参数,
数据多可以重新训练所有层的参数。
2.8 多任务学习
一张图可以有多个标签。训练一个神经网络识别图中的四个物体。
当训练一系列任务可以共享低层次特征,每个任务的数据量接近(不绝对),可以训练一个足够大的神经网络在所有的任务中效果好。
2.9 端到端的深度学习
训练一个大型神经网络,输入是音频,输出是听写文本。
需要大量数据
人脸识别:分解任务,先识别人脸位置,在识别人脸
2.10 是否要使用端到端的深度学习
let the data speak
data+ hand-designed components(features).当没有大量数据时。
more data
more diverse training set
train algorithm longer with sgd
try adam optimization instead of sgd
try bigger/smaller network
try dropout/L2 regularization
network architecture.1: activation functions,2:hidden units ….
判断哪些idea 有效?
1.2 正交化
TV tuning example :每一个旋钮只调整一个性质
fit training set -> fit dev set -> fit test set
如果训练集不好 更大的网络,变化更好的优化算法。。
如果在训练集上效果很好,开发集不好,需要有一组正则化的按钮可以调节(增大训练集)
如果在训练集,开发集fit,在测试集不好,需要使用更大的开发集。
不太使用early stopping。stop early对训练集的拟合就不太好
1.3 单一数字评估指标
trade off of precision and recall 。F1 score
1.4 满足和优化指标
accuracy optimizing, running time satisfied(<1000 ms)。
一个优化指标 一个或多个满足指标
1.5 训练开发测试
workflow: try many ideas->train different models->use dev set to evaluate and pick one
randomly shuffled data into the dev and test set.From same distribution.
1.6 开发集和测试集的大小
old way <10000 data :
0.7 train,0.3 test.0.6 train ,0.2 dev,0.2 test.
now large data sets 10e6:
0.01dev,0.01 test
some cases。train and dev set.no test might be ok.not recommend
1.7 改变开发、测试的指标
猫分类例子:算法A在评价指标上做得更好,但是会如(将色情图片分类为猫)。B评价指标并不如A,但是不会发生上述错误。评价指标无法衡量算法之间的优劣排序
改变error metric:把色情图片分类成猫这一错误的惩罚权重加大10倍。
define a metric to evaluate classifiers->worry separately about how to do well on this metric
1.8 人的表现
1.9 可避免偏差
如果训练误差和验证误差 远大于人类或state of art:focus on bias
如果接近 focus on variance
humans error 7.5,train 8,test 10:
贝叶斯误差估计。0.5 可避免偏差,2是方差。减小方差相对容易。
1.12 改善模型
fit train set:bias
generalizes well to dev/test: variance
reducing
human level(state of art)avoid bias:
train bigger model
train longer/better optim
nn architecture/ hyperparameters search
training error avoid variance
more data
regularization L2,dropout,data augmentation
nn architecture/ hyperparameters search
dev error
2.1 进行误差分析
look as dev examples to evaluate ideas
get 100 mislabeled dev set examples,count up error types and analysis.Decide solve it is necessary?决定在哪个错误类型有改进的必要。
evaluate multiple ideas in parallel
进行误差分析,应该找一组开发集的错误例子,观察错误标记例子,看看假阳性和假阴性,启发归纳出新的误差类型。
2.2 清楚标注错误的数据
深度学习算法对随机误差是鲁棒的,但对系统误差(标记的人把白色的狗标记成猫)是不鲁棒的。
2.3 快速搭建系统
机器学习程序-> 快速搭建第一个程序->使用偏差、方差分析,错误分析,找到改善系统要优先处理的方向,迭代。 如果这个问题很熟悉或有几乎完全相同的参考文献可以不这么做。
2.4 在不同的划分上进行训练并测试。
data1 200000 data2:10000
option 1:merge ->shuffle
option2: training 20万data1+5000data2。 dev:2500data2
2.5 不匹配数据划分的偏差和方差
2.6 定位数据不匹配
2.7 迁移学习
使用在分类猫数据训练好的神经网络,用这些知识或部分知识去阅读x射线扫描图。
将原网络的最后一层改变,重新训练。数据少-只训练最后一层的参数,
数据多可以重新训练所有层的参数。
2.8 多任务学习
一张图可以有多个标签。训练一个神经网络识别图中的四个物体。
当训练一系列任务可以共享低层次特征,每个任务的数据量接近(不绝对),可以训练一个足够大的神经网络在所有的任务中效果好。
2.9 端到端的深度学习
训练一个大型神经网络,输入是音频,输出是听写文本。
需要大量数据
人脸识别:分解任务,先识别人脸位置,在识别人脸
2.10 是否要使用端到端的深度学习
let the data speak
data+ hand-designed components(features).当没有大量数据时。
相关文章推荐
- 吴恩达《深度学习-结构化机器学习项目》2--机器学习策略(2)
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(3-2)-- 机器学习策略(2)(转)
- Coursera 深度学习 deep learning.ai 吴恩达 第三课 结构化机器学习项目 第二周 测试题目 Autonomous driving
- 吴恩达Coursera深度学习(3-1)机器学习策略(1)
- Coursera 深度学习 deep learning.ai 吴恩达 第三课 结构化机器学习项目 第一周 测试题目 Bird recognition in the city of Peacetopia
- 深度学习第三课 结构化机器学习项目 第一周机器学习策略(一) 笔记和作业
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(3-2)-- 机器学习策略(2)
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(3-1)-- 机器学习策略(1)
- 吴恩达深度学习笔记 第三章测验
- 吴恩达深度学习笔记 course3 week2 机器学习 策略(2)
- 吴恩达深度学习笔记三:结构化机器学习项目
- 吴恩达深度学习笔记 course3 week1 机器学习策略(1)
- 吴恩达深度学习笔记 第三章作业
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(3-1)-- 机器学习策略(1)(转)
- 深度学习第三课 结构化机器学习项目 第二周机器学习策略(二) 笔记和作业
- 吴恩达Coursera深度学习(3-2)机器学习策略(2)
- 吴恩达深度学习笔记 第二章作业1
- 【机器学习】windows版caffe深度学习库编译
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 2 Residual Networks
- 吴恩达 深度学习 编程作业(2-3)- TensorFlow Tutorial