手机版 欢迎访问人人都是自媒体网站

当前位置:主页 > 体验 >

做推荐业务,这4种机器效果测评方法你应该知道

时间:2021-03-01 09:22|来源:网络整理|编辑:|点击:

在与策略相关的产品功能(搜索、排序、推荐)中,往往都涉及机器学习算法,因此评估推荐效果就转化为评估机器学习算法模型的好坏。那如何评估最终推荐的效果呢?本文作者梳理分析了4种方法,供大家参考和学习。

 做推荐业务,这4种机器效果测评方法你应该知道

我们一般以人工标注为准,即看做真实结果,用各种率去衡量机器预测和真实结果之间的差距。评估方式有很多种,各有各的优点。

R\P\A\F值

用Recall、Precision、Accuracy、F值,评估单个机器学习算法的效果,是最常见、最基础的方法。

对象分类:

(1)二分类:每一个评估对象有唯一的标签,YES or NO。如低俗、标题党文章。

(2)多分类(机器需要识别的标签数包含3个及3个以上,一般情况下,每一种标签的识别结果都是我们的关注目标)

单标签,每一个评估对象有唯一的标签,选择大于等于3,如文章分类。

多标签,每一个评估对象有多个标签,如文章兴趣点、文章关键词。

1. 二分类

人工标注结果为“真”的样本记做T(True),人工标注结果为“假”的样本记做F(False);

机器预测结果为“真”的样本记做P(Positive),机器预测结果为“假”的样本记做N(Negative)。

将其转化为矩阵,有四种结果:

TP:预测正确,预测情况是P,因此真实情况也是P。

FP:预测错误,预测情况是P,因此实际情况是N。

FN:预测错误,预测情况是N,因此实际情况是P。

TN:预测正确,预测情况是N,因此实际情况也是N。

 做推荐业务,这4种机器效果测评方法你应该知道

(混淆矩阵示意图)

召回率(Recall)=TP/(TP+FN),机器正确识别出”真”的样本数总和/样本总数

精准率(Precison)=TP/(TP+FP),机器正确识别出”真”的样本数总和/机器识别样本总数

准确率(Accuracy)=(TP+TNP)/(TP+FN+FP+TN),机器正确识别的样本总数/样本总数(备注:正确识别包含把“True”样本识别为“Positive”,把“False”样本识别为“Negative”两种情况)

虽然准确率可以判断总的正确率,但如果样本中T、F样本分布极度不平衡,准确率结果会含有很大的水分,基本失去参考价值。

如样本中T占95%,F占5%,我们将模型设置为所有样本均预测为P的策略,则准确率有95%那么高,但实际上毫无意义。更多经典例子来自疾病试纸和验孕试纸(有兴趣的朋友可以查阅一下),所以统计的时候需要注意统计的对象。

针对R\P\A的计算,举个栗子:

(以上数据仅做理论说明,不做实际参考)

图解一:

 做推荐业务,这4种机器效果测评方法你应该知道

召回率(R)=140/(140+11)=92.72%

精准率(P)=140/(140+40)=77.78%

准确率(A)=(140+4809)/(140+4809+40+11)=98.98%

图解二:

 做推荐业务,这4种机器效果测评方法你应该知道

召回率(R)=140/151=92.72%

精准率(P)=140/180=77.78%

准确率(A)=(5000-40-11)/5000=98.98%

对于同一策略模型,同一阈值,可以统计出一组确定的精准率和召回率。调整参数,遍历0-1之间的所有阈值,就可以画出每个阈值下的关系点,从而得到一条曲线,称之为P-R曲线。

 做推荐业务,这4种机器效果测评方法你应该知道

(召回率也叫查全率,精确率也叫查准率)

通过曲线发现,召回率和精准率相互制约,此起彼伏,所以只能找二者之间的平衡点。这时需要引入F值评估:F-Score(也称F-Measure),它是Precision和Recall加权调和平均数,[0,1],值越大表示效果越好。

F1 Score:召回率和精确率同等重要

但往往我们对召回率和精准率的权重要求是不同的,这是我们需要用到 Fβ Score。

F2:召回率的重要程度是准确率的2倍

F0.5:召回率的重要程度是准确率的一半

 做推荐业务,这4种机器效果测评方法你应该知道

(β大于0)

2. 多分类单标签

M_i : 表示机器识别是 i 类别,同时是正确的样本数

C_i : 表示机器识别是 i 类别的总样本数

N_i : 表示 i 类别的实际总数(即人工标记为是 i 类别的样本数)

D :文章总数

K: 类别总数

精确率(A)=(M_0+M_1+……+M_K)/(C_1+C_2 + …… + C_K)

召回率(R)=(M_0+M_1+……+M_K)/(N_1+N_2+……+N_K)=(M_0+M_1+……+M_K)/D

覆盖率(Coverage)= 所有精确度符合要求的机器预测样本数/D

对于覆盖率,举个栗子:

假设单个类别精度要求90%,没有满足要求的类别,覆盖率C=0;

假设单个类别精度要求85%,则满足要求的类别有a、c,则覆盖率C=(90+100)/(100+100+200)*100%=47.5%。

在实际的文本审核工作中,还需要加上“无需审核的文章量”=准确率达标的文章量,用于评估减少人工审核文章量。

3. 多分类多标签

M_i : 表示 i 标签识别正确的总样本数;

C_i : 表示 i 标签出现的总样本数;

N_i : 表示 i 标签实际总样本数(即人工标记为是 i 标签的总样本数)

K:表示标签集合的大小(即不同标签的个数)

准确率(A)=(M_0+M_1+……+M_K)/(C_0+C_1+……+C_K)

召回率(R)=(M_0+M_1+……+M_K)/(N_1+N_2+……+N_K)

Copyright © 2018 DEDE97. 织梦97 版权所有 京ICP