Machine Learning Yearning 翻译,动手写起来!

chapter09

Posted by Heron on June 6, 2017

9. Optimizing and satisficing metrics

将多个评估指标组合的另一种方法。

假设你同时关心算法的精度和运行时间。你需要从这三个分类器中选择一个:

将准确度和运行时间通过单一的公式计算出一个指标似乎这似乎又不是很自然:

​ Accuracy - 0.5*Running time

你可以通过这样操作来替代:第一,定义一个可以接受的运行时间。比如我们说任何运行时间在100ms内的都是可接受的。然后,在分类器服从运行时间标准情况下,选择最大的精度。这里,运行时间就是一个“满意指标”—你的分类器在这个指标上表现的“足够好”就可以,也就是算法最长运行时间100ms。精确度在这里就是“优化指标”。

如果你在权衡N个不同的标准,例如模型的二进制文件大小(这对于移动应用是很重要的,因为用户不想下载一个很大的应用),运行时间,精度,你可能将N-1个标准设置为“满意指标”。也就是说,你只需要这些条件满足特定的值就可以。然后将最后一个标准定义为“优化指标”。例如,将二进制文件大小和运行时间设置一个可以接受的阈值然后在这些条件下尝试优化精度。

作为最后一个例子,假设你正在构建一个硬件设备,该设备使用麦克风监听某个特定的“唤醒词wakeword”,将系统唤醒。这样的例子有亚马逊的Echo监听“Alexa”;苹果的Siri监听“Hey Siri”;安卓监听“Okay Google”;百度应用监听“Hello Baidu”。你同时关心假正例(当没有人说出唤醒词是系统激活的频率)和假反例(当有人说出激活词但是系统没有激活的频率。)该系统表现的一个合理目标是最小化假反例的比率(优化指标),同时限制条件是在24小内出现不超过一个假正例(满意指标)。 一旦你的团队对统一的优化指标进行优化,那么他们能够取得更快的进步。