您的位置:首页 > 其它

吴恩达深度学习第三章-结构化机器学习

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).当没有大量数据时。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习
相关文章推荐