Deep Learning Specialization 3: Structuring Machine Learning Projects - Note 1

Structuring Machine Learning Projects - Note 1

优化的方向很多,但是选定好的目标以及选一些对影响大的方法,可以有效提升效果。

1. Setting up you Goal

1.1 单一原则

Orthogonalization 正交化:一次只调整一个变量

Single number evaluation metric: 只设一个优化指标,别想着同时优化准确率、召回率,只优化一个F1会让优化更明确也更好操作

Satisficing and Optimizing metric: 准确率有可能是优化目标,但是有些条件是必须要满足的,比如模型大小和预测时间。

1.2 Train/Dev/Test选择

  • 分布:保持三者分布一致是比较好的选择
  • Dev/Test大小:尽量用更多的数据作为训练,Dev/Test足够测试即可。

1.3 When to change dev/test sets and metrics

评价指标应该与目标一致,目标变化时可能要考虑更换评价指标。比如:

  1. 召回率高,但是准确率,用户体验不够好,使用F1可能更佳
  2. 色情图片的错误率高低可能也会导致体验不好,对色情图片增加额外权重可能更佳(只需要在dev/test中都进行修改)

2. Comparing to human-level performance

2.1 Human-Level Performance

理论最佳值: Bayes Error,无法达到。

Human-level Performance: 在很多问题(自然感知领域,比如图像、文本理解)上可以作为Bayes Error的proxy

接近人类表现会比较快(图像识别一类的任务),但是超越人类表现之后就比较难提升了:

  1. 比人类表现差的,可以很容易获得标注数据
  2. 人可以看出错在哪儿,指明改进方向
  3. 更容易分析Bias/Variance

2.2 Avoidable Bias

Avoidable Bias: Training Error与Bayes Error(如果你知道)或者Human-level Performance(如果你不知道)的差距

定义了Avoidable Bias之后就可以有明确的优化准则了:

  1. 如果Training Error与Human/Bayes Error差距太大,那么应该优先解决(Avoidable) Bias问题;
  2. 如果相差不大,但是Training error与Dev Error差距比较大,那么应该优先解决Variance的问题

2.3 Human-Level Performance’

人类级的表现也是有差异的,普通人与专家会有差异,专家团队又可能比专家个人有差异。一般将人类级表现作为Bayes Error的proxy,可以在更好的人类表现估计Bayes Error。

超越人类表现:这个是可能的,比如广告点击预估、推荐系统,这些系统是Structure Learning,并且标注也并不来自人类手工标注。

老师说:这些概念看似很容易,但是不容易精通,觉得自己学懂了还是要醒醒。

你可能感兴趣的:(笔记)