这本书共112页,内容不多,偏向于工程向,有很多不错的细节,在此记录一下。
关注微信公众号“机器学习炼丹术”,回复【MLY】获取pdf
1 测试集与训练集的比例 2 误差分析误差分析我感觉是一个成熟的AIer必备的能力。俗话说数据决定准确率的上线,模型只是在逼近这个值。模型效果的提升首先是需要去看数据样本的,把分类错误的样本一个一个看一看,然后心中自己会给出判断:是否有可能减少这种分类错误的样本?如何减少?
【也许心中没有这样的判断,但是看一看错误的样本是很重要的。一般看100例分类错误样本就算很多了】
这里我给出自己遇到的几种常见的误差分析的结论:
最基础的也是最严重的问题:标注错误。看错误的样本的时候很容易发现原因是标注错误。
样本为某种新类别,训练集中没有对应样本。猫狗分类样本中,假如有一种狗耳朵的猫,而这种品种在训练集中从来没有出现过或者数量很少;
分类错误的样本可能图像质量不好;
......
3 方差与偏差这一块说的很好,之前只知道模型有方差和偏差,但是不清楚:什么是模型的方差,什么是模型的偏差。
偏差:算法在训练集上的误差;
方差:算法在测试集上的表现和训练集上相差多少。
假设你希望构建一个误差为 5% 的猫识别器。而目前的训练集错误率为 15%,开发集(验证集)错误率为 16%。
在上面的例子中,偏差为15%,方差为1%
在看几个例子:
这里还需要提出来一个最优错误率的概念:
世界上最好的算法,应该有什么样的错误率。比方说,猫狗分类,最好的算法“大脑”可以100%的分类正确,所以这个最优错误率为0%;如果是一个语音识别,人类会因为噪音问题识别率只有14%,那么最优错误率就是14%。
对于上面的例子,假设这个语音识别问题的训练错误率15%,开发错误率30%,那么我们不能说这个模型存在高偏差和高方差,因为最优错误率就是不可避免偏差,可避免偏差只有1%,所以同样的偏差方差在不同的最优错误率下,要做不同的判断。这种情况下,语音识别算法为低偏差和高方差。
3.1 避免偏差的技术 3.2 避免方差的技术 4 判断增加数据是否有效【就是绘制验证集的准确率和样本数量之间的曲线】
4.1 增加数据有效这张图中的绿线,是期望错误率,我们希望模型可以实现什么的精度;
可以看到,随着数据集的增加,精度是越来越好的,所以后期我们还可以增加样本。
4.2 增加数据无效这张图中,可以看到增加数据集可坑并不会有很好的提升了。
通常,我们还会增加一条曲线训练误差曲线,单独的验证误差曲线可能存在波动和噪音。
从这个图中,我们可以确定,增加数据并不能起到很好的效果了。
蓝色的训练误差只会随着数据的增加而不断上升
红色的验证误差通常是高于蓝色的训练误差。
之前提到的偏差,为training error和desired performance之间的差值;
之前提到的方差,为dev error和training error之间的距离。
4.3 其他情况