1、正交化-orthography
机器学习算法框架中存在很多参数可以调整,正交化的参数指的是参数之间没有相互影响,调整一个参数不会导致另外一个参数随之变化。在进行机器学习参数调整时,通常对相互之间orthogonal的参数进行调整,如使用更大的网络,更换梯度下降更新算法(Adam,sgd),使用更大的训练集,使用更大的测试集等均属于正交化的参数,调整一个并不会影响其他参数的效果。而有些参数,如early stopping,调整之后会同时影响训练集的训练效果和交叉验证集的验证效果。
2、单一数字评估指标
准确率(precision)和查全率(recall):举例来进行介绍这两个概念,对于一个识别猫咪的分类器,precision指的是对于分类器识别为猫咪的图片(dev set数据集)中,有多少比例的图片真实也是猫咪,即识别的准确率;recall指的是对于所有为猫咪的图片,被分类器识别出来的比例。这两个指标之间需要权衡取舍。
由于只使用上述两个标准很难确定出合适的分类器,所以通常采用单一评估指标 F 1 F_1 F1 得分来衡量分类器的好坏
即 F1得分表示的是precision 和 recall的调和平均数(harmonic average number)。
有时候,使用分类错误率的平均值也是单一数字评估指标的合理选择。
3、满足和优化指标
若有许多指标需要兼顾到,从而来整体评价机器学习算法的有效性,通常可以选择其中一个指标作为优化指标(目标是使得这个指标最大化(或者最小化)),其他指标作为满足指标,即将其他指标放在约束条件中,满足一定的阈值限制。
4、训练集,交叉验证集和测试集
训练集用来训练模型,交叉验证集用来标定模型中的参数,测试集用来检测模型的误差大小。 在选择交叉验证集合测试集是,需要保证这两个数据集合满足同一分布,否则通过交叉验证集来标定的模型,用在测试集上将出现很大的误差,因为相当于模型的目标变化了。
在数据量较少的情况下,划分训练集,交叉验证集和测试的方式一般为:取70%数据为训练集,取30%数据为测试集,或者取60%数据作为训练集,取20%数据作为交叉验证集,取20%数据作为测试集:
但是当数据量比较大时,通常采用的方法是缩小交叉验证集和测试集的比例,增大训练集的中的数据量:
贝叶斯误差,可避免误差和方差:贝叶斯误差是某个问题可以达到的最小误差,通常将人类的判别误差作为贝叶斯误差的近似估计;可避免误差是训练误差和贝叶斯误差之间的gap值;方差是训练误差和交叉验证误差之间的gap值。
减小avoidance error的方式有:可以通过训练更大的网络,训练更长的时间/使用更好的优化梯度优化方法(momentum,RMSpop,Adam),更改网络的结构(增加影藏层数,隐藏层神经元数,RNN,CNN)或者调整训练参数(改变激活函数类型)。
为了减小方差,可以采用的方式有:使用更多的训练数据,归一化处理(使用 L 2 L_2 L2归一化,dropout,data augmentation),也可以更改网络的结构(增加影藏层数,隐藏层神经元数,RNN,CNN)或者调整训练参数(改变激活函数类型)。