机器学习算法评估实战
上QQ阅读APP看书,第一时间看更新

你真的会评估吗

有些从业人员会说,算法的评估不就是看算法的效果和性能吗?这些在刚入门的时候就学过啊。

然而,真正地将一个算法用于工业生产并产生巨大的商业价值,只依靠这些书本上学来的“指标”是远远不够的,因为在实际应用过程中,大部分指标只能反映算法的部分效果。如果不能合理地运用评估指标,不仅不能发现算法本身的问题,还可能得出错误的结论。

比如,当你在进行异常检测算法的评估时,假设次品出现的概率是0.1%,如果算法把所有样本都预测为正品,准确率虽然也能保证99.9%,但是这样的结果对于异常检测是没有任何意义的,因为这样的算法空有好看的准确率指标,却一个次品都识别不出来。再比如用于识别财务数据的图像识别系统,即使在1万张发票中只有1张把数字“8”误读为“6”,给使用方造成的损失也很可能是难以弥补的。

这些例子告诉我们,一个好的算法并不能只有一堆漂亮的数字指标,更关键的是它要符合实际的业务场景,能够应对现实环境中各种复杂的情况。因此,我们讲算法的评估,从来不是依靠一个或几个听起来“高大上”的评估指标,而是要依赖一个完整的、可靠的评估体系。一句话总结,即指标不重要,实用才可靠。

制定机器学习算法评估标准可以从以下3个方面入手。

(1)根据不同类型的算法制定不同的通用评估标准。比如,对于分类算法和回归算法,需要分别使用一套评估指标进行评估。

(2)对于实现原理不同的算法,需要分别制定评估标准。比如,在评估树模型和深度学习算法解决分类问题的效果时,除了使用分类算法的通用指标,还需要针对每一种算法定义评估指标。

(3)针对不同的业务场景制定评估标准。比如,用深度学习算法进行文本分类和路线排序,这两种业务本质上都是用深度学习算法解决分类问题,但是文本分类业务和路线排序业务的评估指标是有很大区别的。