正交化
在我们对算法进行改进时,我们希望我们可以获得一个正交化的“旋钮”对每个不同的特征使用不同的“旋钮”进行调节
假如我们的算法在以下几个情况表现得不太好:
1.对训练集拟合的效果很好
假如拟合的不好的话,那可能是欠拟合问题。加大神经网络深度或者使用别的梯度下降法
2.对验证集拟合的效果很好
假如拟合的不好的话,使用正则化或者增大训练样本也许会有帮助
3.对测试集拟合的效果很好
假如不好,那么增大验证集的样本数也许会有帮助
4.对现实应用效果很好
假如不好,那就有可能是因为Cost function 不太正确或者是测试集和验证集没挑选好。
单一数字评估指标
当我们对不同的分类器进行评估时,往往会得到很多很多数值。这时候不能很直观地看出来哪个分类器的效果更好,我们需要使用单一数字评估指标。以分类器的召回率和准确率为例:
Precision 和 Recall 的定义如上。
A和B我们不能很好地区分其分类效果,这时候我们就要用到“平均"的概念:F1-score (harmonic mean)
这样就能很好地区分A,B分类器的优劣了
满足指标和优化指标
分类器通常有许多个指标,类似准确率,召回率,速度等等。我们或许并不想要一个平均值,而是某个指标能够到达最大值,而其他指标能达到忍受范围之内
如上,我们想要选取最高准确率的分类器,但是运行时间不得超过100ms。
准确率就是满足指标,其余的便是优化指标。
我们从N个指标中选出一个指标作为我们的满足指标,其他指标设置一个阈值作为优化指标。
什么时候开始改变开发集或者测试集的指标?
第一种情况
假设我们拥有两个分类器A,B
看起来我们的A分类器误差更小,更加适合我们应用。但是假如A分类错误时会把色情图片推送给客户,而B虽然误差较大但不会把色情图片产生错误分类。这时我们就要改变开发集和测试集的指标了。
重新定义Error函数如上。当是色情图片时,w的取值很大,使得Error增加很多。对色情图片的分类进行加权。
第二种情况
当我们的开发集与测试集都是高质量的图片,但当在现实应用中的图片都是低质量的,和开发测试集不是同一个分布之下的时候。我们就要考虑改变开发集与测试集了(eg:猫分类器)
根据人类的表现来和神经网络进行比较