正交化
正交化的概念是指在调整模型的参数时。确保每一组参数的影响尽量独立,调节一个参数,不会对另一个参数造成影响。例如,在算法实现中,如果算法在损失函数上不能很好的拟合,需要做的就是独立的调整算法相关的参数,例如增大网络的拓扑,或者切换到更好的优化算法。如果在训练集上性能良好,而验证集上性能较差,只需要独立的调节正则化相关的参数就可以了,而对其他参数不做改变,事实上,这种尝试类似于控制变量法,每次通过独立的参数调节评估网络的性能。
单一数字评估指标
应用机器学习是一个经验性的过程,以分类任务而言,评估模型表现有两个合理的参数,查全率和查准率。
- 查全率:对于所有的样本而言,分类器正确识别除了多少百分比。
- 查准率:对于分类器所标记的样本,有多少是标记是正确的。
将查全率和查准率作为评估指标的时候,如果分类器A在查全率上更好,而分类器B在查准率上表现更好,此时,无法判断应该选择哪一个分类器。事实上,可以将查全率和查准率结合起来,作为一个新的评估指标。
在机器学习中,将以上两个指标结合在一起的指标是分数,事实上,这是数学定义上的调和平均,其公式计算如下所示:
代表查准率,而
代表查全率。
另外一个例子,以猫的分类器为例,假设不同分类器对于不同地理大区的数据的精度不同,很难抉择,应该选择哪个分类器,对于此问题,假设将平均值作为单一评估指标,可以将不同分类器的所有地区的精度或者误差率(或者分数)加在一起求平均,再选择合适的分类器。
所以,单个实数的评估指标能够让有效的提供效率。
满足和优化指标
将所有的指标组合成单实数评估指标并不容易,在这种情况下,可以设置优化指标和满足指标。
以猫的分类器为例,仍然需奥将分数作为衡量准确度的指标,但是除了准确度之外,还需要满足另一个指标,比如运行时间。即也就是,除了准确度之外,还要考虑运行时间,可以将准确度和运行时间组合在一起形成一个整体评估指标,比如
cost = accruacy-0.5×runningtime
。
一般来说,要考虑个指标,可以选择其中一个作为优化指标,剩下的
个指标作为满足指标。即也就是,模型能够满足
个指标的前提下,选择最优指标的模型。如下图所示,模型能够满足运行时间小于100ms的前提下,选择分类精确度最高的B分类器。
训练集,开发集和测试集
对于训练集,开发集和测试集有如下规则:
-
尽量保持训练集和测试集的数据来自同一分布。
-
对于大规模数据,一般将训练集的比例设置的更大,而测试集的比例远小于30%,例如,对于百万规模的数据,一般将训练集的大小设置为98%,而测试集和开发集的大小的比例都是1%。
-
当评估指标无法正确的评估分类器或者算法的优劣时,通常有以下方法:
- 重新定义一个新的评估指标
- 在优化目标时,为损失函数引入权重,如下公式所示:
即也就是,损失函数中加入权重,当模型分类或者预测错误时,由于权重的存在,会将错误率快速变大。从而将容易出错的样本标记出来。 - 当模型在训练集和测试集上性能良好,而在开发集或者实际应用中,误差率较高时,可以将开发集和真实的数据加入到训练集和测试集中,改变训练集和测试集。
可避免误差
-
贝叶斯最优误差:
模型在性能上所能达到的上限,比如随着训练时间的延长,迭代次数的增加,训练数据的增加和网络结构的增大,模型的误差率无法再继续下降。 -
可避免误差
贝叶斯误差与模型的误差之间存在的差值称之为可避免误差。
理解人的表现
定义人类水平错误率时,要明确目标所在,假设系统的错误率低于某个人类的表现,那么就有理由在公开场合部署系统。
以医学图像识别为例,假设训练集误差是5%,而开发集的训练误差率是6%,贝叶斯误差率的替代可能是某个医生或者有经验的医学团队的表现的替代,如1%或者0.5%,可替代误差是4%或者4.5%,都明显大于训练集和开发集之间的误差(1%),此时应该更专注于减少偏差的技术。而训练误差率是1%,开发集误差率是5%,此时,可避免武误差在0%-0.5%之间,训练集和开发集之间的误差是4%,此时应该更加专注于减少方差。
即也就是,在机器学习或者深度学习的任务中,将人类表现更好的误差作为贝叶斯误差,比较可避免误差和训练集与开发集之间的误差大小,从而决定该减小偏差或者方差。
网友评论