《Machine Learning Yearning》 Note9---Optimizing and satisficing metrics

1. 内容

这一节主要讲了在有多个评价指标时,如何优化算法,或者如何将多个评价指标结合起来(combine multiple evaluation metrics)。例如,在一个系统中,我们需要既考虑准确度又要考虑学习算法的运行时间,面对两个评价标准,一个不太自然的方法是从它们(准确率和运行时间)派生出一个综合评价指标,如: Accuracy - 0.5 * RunningTime。

另一种方法也就是作者主要介绍的方法。

  • 确定一个可以接受的运行时间范围,如100ms以内。
  • 在分类器满足时间限制的条件下最大化准确率。

在这里, 运行时间就是一个“约束性”指标(satisficing metric), 分类器必须满足该指标,准确度是一个“优化性”指标(satisficing metric)。
如果有N个不同的评价标准, 可以从中选择N-1个标准作为“约束性”指标,例如你可以直接指定他们满足某个值,然后将剩下的那个指标作为“优化性”指标,在“约束性”指标的限制下去不断优化。

2. 实例

Ng为我们例举了一个实际的应用场景——硬件设备(平时用到的AI音响)的唤醒系统。在该系统中,我们需要既考虑假阳率——没有人说唤醒词时系统被唤醒的频率,也需要考虑假阴率——当有人说唤醒词时系统没有被唤醒的频率。对于该系统,一个合理的目标是在满足24小时内不超过一次假阳事件的条件下,最小化系统的假阴率。

3. 思考

在讲解算法如何优化之前,Ng首先讲了如何确定评价指标,这给我们一个提醒,应以目标为导向开发系统或是任何算法,而且团队应该商量一致,才能更好地协作,开发目标明确,也加快了系统的开发时间。

在我们遇到多个变量时,如何优化问题的思维是:固定或限定其他变量,只优化一个变量,这个化繁为简的思维值得在更多的事情上应用。比如我们的生活中有很多的变数,我们想让生活的每个方面都向更好的方向发展,当然不现实,一个可行的方法是选择一个作为可优化的目标,接受(或在一定程度上)其他的变数。

猜你喜欢

转载自blog.csdn.net/easywaytolifebelief/article/details/88622489