AI测试 AI 算法测试客观指标的选择策略

feifeihuanming · 2020年11月08日 · 最后由 feifeihuanming 回复于 2020年11月10日 · 2595 次阅读

在进行算法模型测试的时候,我们一般是需要通过一些客观指标来反映模型算法的好与坏,对于客观指标的选择来说一般也是有一定的规则,比如说:

对于不同的算法类型,比如说分类模型或者回归模型,对其进行评价一般是要选择不同的指标;

对于一些算法来说,一个指标是不够的,通常需要多个指标联合对其进行评价,或者在不同的测试集上同时进行评价才有意义。
比如说对于人脸识别算法来说,通常是需要同时考虑算法的 FAR(False Accept Rate,表示把不同的人认为是同一个人的概率) 和 FRR(False Reject rate,表示把同一个人的多张图片当成是不同人的概率) 指标。我们的理想是要同时让 FAR 和 FRR 都很低,但在实际情况中,比较难,这时候就需要做一个取舍。一般是在一个固定的 FAR 下,尽可能降低 FRR 的概率。
这里再举一个真人活体检测的例子,对于活体检测,是要将真人识别为真人,纸张、纸张等识别文假体。对于该算法的评判就需要同时在真人测试集和攻击测试集中同时得到低误识率。但是在一般情况下,真人误识率降低通常都会带来攻击误识率的提升;反之亦然。因此就需要在不同的测试集上对算法同时进行评价。

最后一点就是要结合实际的业务场景,选择合适的评价指标。有可能现有的一些评价指标是不满足的,这时候就需要自己进行一些设计或者阅读一些相关的论文,设计一些具有业务特色的评价指标。

共收到 9 条回复 时间 点赞
Ouroboros 回复

对于比较复杂的系统,存在累积误差。比如说一个系统有三个模块,每个模块的准确率是 95%,最终系统的准确率是 0.95*0.95*095=0.86

一直有个疑问,如果以后社会上到处都是 AI 算法,统计学之外的低概率事件,会不会被多个 AI 算法把影响放大呀?

测试环境评测预测正确高了,上线转化指标也不一定正向,很玄学😂

有些工程的准确率好像不单单只是评估模型的,比如:ASR,有时候竞品的准确率高于自己产品 0.1%,都会想方设法的超过,以达到能替换。为了那 0.1% 的涨幅,修改数据集预处理参数,VAD 阈值参数,为了给语言模型训练还要准备几万条语料进行文本扩充,给词典添加热词。事实证明,的确可以提升准确率。

大部分理论都是基于贝叶斯。绕不过概率统计。
工程落地条件下,样本对结果的影响大于算法对结果的影响。
大部分情况下,需要工程对场景进行约束。
目前阶段可能以替换重复劳动的需求为主。100%,甚至在某些场景能不能用,都可能是不确定的。

反向传播后,梯度下降。不过现在有个问题是,如果数据量不够的情况下,一些模型用不了...造数填充是不行的。

模型确实做不到 100% 准确,对于模型来说,主要是要达到统计学意义上的效果,比如说准确率是 99%,并不是测试集只有 100 个,通常测试集都是数百万乃至数亿条数据。在大量数据测试下,达到一个大家能够接受的效果。

恒温 回复

在模型领域不说正确性,都是说效果的。 比如精准率,召回率。 往模型发数万数十万数百万的数据,在大量的数据下统计预测正确的概率有多少。 是通过这个方式来评估模型的。

对于大数据和 AI 算法,我都比较好奇,因为它不能 100% 正确,那么对于不正确的,如果用到了生产上,这个会不会损失啊?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册