吴恩达深度学习专项课程3学习笔记/week1/Setting up ML Application

著论准过秦,作赋拟子虚。这篇文章主要讲述吴恩达深度学习专项课程3学习笔记/week1/Setting up ML Application相关的知识,希望能为你提供帮助。
应用ML是一个高度迭代的过程
Idea-> Code-> Experment-> ...
【吴恩达深度学习专项课程3学习笔记/week1/Setting up ML Application】去不断地调整超参数。
Train/Dev/Test sets
通常将数据集划分为Train/Dev/Test集。

  • Training set: 用于模型的训练
  • Hold-out cross validation set/Developmet set: 用于测试,调整模型超参数
  • Test set: 用于最终评估
以前的ML问题:数据规模在w级,通常70/30划分Train/Test集或者60/20/20比例划分。
现在的大数据时代:数据规模在百w级,趋势是Dev/Test集的比例减小,因为Dev集只需要大到足够判断不同的模型的优劣就可以了,Test集类似。如有100w的数据集,98/1/1的比例是一种较合理的划分。
经验:
  1. 确保Dev/Test集来自同一个分布,这样有助于算法进步的效率。
  2. 训练集则可以采取网页爬取等方式以获得更大量的数据。
  3. 没有测试集也是可以的,只用Dev集来调整。
Bias/Variance
可以通过Train set error和Dev set error来判断模型是否存在high bias/variance的问题。
比如,假设假设bayes error约为0%,即人类可以几乎完全准确识别,并且Train和Dev集来自同一个分布。
Train set error Dev set error 结果
1% 11% high variance
15% 16 high bias
15% 30% high variance & high bias
0.5% 1% low variance & low bias
Some Basic recipe(基本准则)
STEP1 High bias? --> 更大的网络;训练更长时间;(其他NN架构)
STEP2 High variance? --> 更多的数据;正则化;(其他NN架构)
在深度学习时代,不需要再过多考虑bias 和 variance的权衡,如果合理的正则化,采用更大的网络在降低bias的同时几乎不会增加variance,如果有足够大的网络,获得更多的数据在降低variance时几乎不会增加Bias,这也是深度学习在监督学习领域十分有效地原因之一。

    推荐阅读