目录
- 二分类模型的评价指标
- 准确率(Accuracy,ACC)
- 精确率(Precision,P)——预测为正的样本
- 召回率(Recall,R)——正样本
- 注意事项
- P和R的关系——成反比
- F值
- F1值
- F值和F1值的关系
- ROC(Receiver Operating Characteristic)——衡量分类器性能的工具
- AUC(Area Under roc Curve)——ROC曲线下面积的计算
- MAP (Mean Average Precision@K)——评估检索策略效果评估指标之一
- Prec@K和AP@K
- 针对搜索引擎——在不同场景下如何选择合适的评估指标
- 长尾词
参考文档:
机器学习-模型评价指标
深入理解搜索引擎——搜索评价指标
搜索排序评估方法——产品角度
二分类模型的评价指标
预测值\真实值 | Positive | Negative |
---|---|---|
Positive | True Positive(TP) | False Positive(FP) |
Negative | False Negative(FN) | True Negative(TN) |
TP:真正例,真阳性。样本是正例,预测为正,分类正确
FP:假正例,假阳性。样本是负例,预测为正,分类错误。误诊
TN:真负例,真阴性。样本是负例,预测为负,分类正确
FN:假负例,假阴性。样本为正例,预测为负,分类错误。漏诊
准确率和召回率广泛用于信息检索和统计学分类领域的两个度量值,用于评价结果的质量。其中准确率是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。
准确率(Accuracy,ACC)
即正确预测的样本数比总体样本数
优点:
- 计算简单:准确率的计算公式简单易懂,只需要将正确分类的样本数除以总样本数即可。
- 可解释性强:准确率是一个比例,因此它可以很容易地解释和理解。例如,如果准确率为80%,这意味着模型正确分类了80%的样本。
局限性:
- 不适用于不平衡数据集:当数据集中的正负样本不平衡时,准确率可能会给出误导性的结果。例如,如果模型将所有样本预测为负样本,那么准确率会很高,但实际上模型并没有很好地捕捉到正样本的特征。
- 对噪声敏感:准确率对噪声比较敏感,一些错误的预测可能会对准确率产生较大的影响。
- 无法衡量模型的稳定性:准确率只能衡量模型整体的分类效果,无法衡量模型在不同情况下的稳定性。
举例说明如下:
假设有一个二分类问题,数据集中有100个样本,其中80个是负样本,20个是正样本。
如果我们有一个模型,它能够将所有样本预测为负样本,那么准确率将是80%,因为80个负样本被正确分类了。但是,这个模型并没有很好地捕捉到正样本的特征,因为它没有预测任何正样本为正样本。
因此,在这种情况下,使用准确率作为评估指标是不合适的,因为它不能反映模型对正样本特征的捕捉能力。
精确率(Precision,P)——预测为正的样本
即模型预测为正的样本里,真正为正的比例
召回率(Recall,R)——正样本
召回率也叫做敏感度(Sensitivity),即在所有正样本中,模型准确找出的比例
注意事项
P高代表模型预测为正,基本上就是正。表示其很准。但很准的原因可能是模型太严格,例如100个正例,模型只判断了其中1个为正,确实这个样本分对了,但是依旧错分了其他99个,造成假阴性变高。
R高代表模型更能够把正样本从样本中找出来,漏诊率低,很敏感,稍微不对就会判正。但例如模型把所有样本都判为正,此时召回率确实高,但没有意义。会带来很高的假阳性。
举例说明:
假设我们有100个样本,其中99个是正样本,1个是负样本。
现在有一个模型,它预测其中1个样本为正样本。
首先,我们来计算精确率(Precision):
精确率 = 预测为正样本且实际为正样本的样本数 / 预测为正样本的样本数
在这个例子中,预测为正样本的样本数是1,而预测为正样本且实际为正样本的样本数也是1(因为只有一个正样本被预测为正样本)。
所以,精确率 = 1/ 1 = 100%。
接下来,我们来计算召回率(Recall):
召回率 = 预测为正样本且实际为正样本的样本数 /所有实际为正样本的样本数
在这个例子中,所有实际为正样本的样本数是99。
所以,召回率 = 1 / 99 = 0.01。
需要注意的是,这里计算的召回率非常低,这是因为模型过于严格,只预测了一个正样本。而实际上,应该尽可能提高召回率,以便尽可能多地预测出正样本。因此,在实际应用中,需要根据具体需求来调整模型的预测标准。
P和R的关系——成反比
可以认为P和R在一定程度上是成反比的。 图片源于网络
在二分类问题中,精确率(P)和召回率(R)是一对矛盾的指标:提高一个就意味着另一个的降低。
这是因为这两个指标都涉及到预测为正样本的样本中真正为正样本的比例,但它们考察的角度不同。精确率是考虑预测为正样本的样本中有多少是真正的正样本,而召回率是考虑实际为正样本的样本中有多少被预测为正样本。
当模型过于严格时,可能会提高精确率,但可能会导致召回率下降,因为模型过于严格可能会导致将一些正样本误分为负样本。相反,如果模型过于宽松,可能会提高召回率,但可能会导致精确率下降,因为模型过于宽松可能会导致将一些负样本误分为正样本。
因此,可以认为精确率和召回率在一定程度上是成反比的。在评估模型时,需要综合考虑这两个指标,以便更全面地评估模型的性能。同时,也需要根据实际应用场景来调整模型的预测标准,以获得更好的模型性能。
总结:即高P很容易降低R,高R很容易降低P。两者需要权衡
F值
F值是精确率和召回率的调和平均数,用于综合考虑这两个指标,给出更全面的评估结果。
F值越大,说明模型的性能越好。在分类问题中,F值可以用来评估模型的整体性能,特别是当精确率和召回率存在矛盾时。通过绘制Precision-Recall曲线,可以得到不同阈值下的精确率和召回率组合,从而找到最优的F值。
F1值
F1值越高,说明模型的性能越好。F1值提供了一个平衡的评估标准,在评估分类模型时,我们通常希望同时获得高精确率和召回率,但这是比较困难的。
F1值能够更好地反映模型的总体性能,因为它同时考虑了精确率和召回率。其次,F1值对于不平衡数据集的处理能力更强,因为它通过权重平均的方式处理了不同类别的样本。
F值和F1值的关系
F值和F1值非常相似,都用于综合考虑精确率和召回率,给出更全面的评估结果。
当精确率和召回率相等时,F值和F1值相等。在其他情况下,F1值更注重精确率和召回率的平衡,如果一个模型的精确率很高但召回率很低,或者反之,那么F1值将会比较低。因此,F1值是一个更为严格的评估指标,能够更好地衡量模型的性能。
在分类问题中,F1值通常被用作评估指标,因为它综合考虑了精确率和召回率,能够更全面地反映模型的性能。如果一个模型的F1值很高,说明它在精确率和召回率方面都表现得很好。
ROC(Receiver Operating Characteristic)——衡量分类器性能的工具
在评估搜索引擎策略时,主要用于判断所使用的算法模型,或者说算法组合的性能
ROC(Receiver Operating Characteristic)曲线是一种分类器的综合性能指标,以假阳性率(False Positive Rate, FPR)为横坐标,真阳性率(True Positive Rate, TPR)为纵坐标,在平面直角坐标系中描绘的曲线形状。
ROC曲线的总面积是1,曲线下方面积越大,分类器的准确性越高。
因此,可以用**曲线下面积(Area Under Curve,AUC)**来衡量预测模型的优劣。AUC的值可以通过积分求得,即对ROC曲线下方的图形面积进行计算。
- ROC曲线在搜索引擎中有着重要的应用。例如,在信息检索领域,ROC曲线是衡量搜索引擎性能的一个重要因素,可以用来比较不同搜索算法的优劣。利用ROC曲线可以对计算机程序进行性能评估,以选择最佳的词向量表示算法。
- ROC曲线还可以用来调整搜索引擎的参数和优化模型。通过调整参数或更换模型,可以改变ROC曲线的位置和形状,从而提高搜索引擎的性能。例如,可以调整召回算法的排序权重或增加相关反馈机制等,以改善用户体验和提高搜索引擎的准确性。
AUC(Area Under roc Curve)——ROC曲线下面积的计算
通俗来说,ROC曲线就像一个跷跷板,敏感性和特异性是跷跷板的两端。
当敏感性和特异性都高的时候,ROC曲线就会更靠近左上角,曲线下方的面积就更大,表示分类器的准确性更高。相反,如果敏感性和特异性都低,那么ROC曲线就会更靠近右下角,曲线下方的面积就小,表示分类器的准确性低。
AUC就是计算ROC曲线下的面积,其值介于0和1之间。如果AUC接近1,表示分类器的准确性很高;如果AUC接近0或0.5,则表示分类器的准确性较低。
因此,通过ROC曲线和AUC值,我们可以更直观地评估分类器的性能,从而在实际应用中做出更好的决策。
MAP (Mean Average Precision@K)——评估检索策略效果评估指标之一
MAP评估的是一组检索结果的平均精度,即每个查询的平均相关文档数。它通过计算每个查询的平均精度,然后将这些平均精度相加,最后除以查询的总数。MAP考虑了每个查询的返回结果,并对其精度进行了加权处理,因此可以更好地反映检索策略的整体性能。
与传统的精确率、召回率和F1分数相比,MAP更加符合实际检索任务的需求。在信息检索领域中,用户通常更加关注检索结果的相关性和准确性,而MAP正是从用户的角度出发,对检索结果进行评估的一种指标。
因此,在搜索引擎和信息检索领域中,MAP已经成为评估检索策略效果的重要指标之一。通过提高MAP值,可以提高搜索引擎的性能和用户体验。
Prec@K和AP@K
Prec@K和AP@K是MAP的组成部分,并且都是用来评估检索策略效果的指标。
具体来说,
- Prec@K表示设定一个阈值K,在检索结果到第K个正确召回为止,排序结果的相关度。
- AP@K则是指到第K个正确的召回为止,从第一个正确召回到第K个正确召回的平均正确率。
- MAP则是Mean Average Precision的缩写,表示一组检索结果的平均精度,即每个查询的平均相关文档数。
MAP的计算需要使用到Prec@K和AP@K,通过计算每个查询的平均精度(AP),然后将这些平均精度相加,最后除以查询的总数,得到MAP的值。
举例说明:
案例来源:人人都是产品经理
注:绿色表示搜索结果与搜索词相关,红色表示不相关。
在这个案例中Prec@1=1、Prec@3=2/3、Prec@5=3/5。也许你已经发现了,Prec@K也只能表示单点的策略效果,为了体现策略的整体效果,我们需要使用AP@K。
假设存在以下两个排序,我们直观的理解,结果1是优于结果2的,那么这种优劣会如何体现在AP@K值中呢?
对于结果1,
AP@K=(1.0+0.67+0.75+0.8+0.83+0.6)/6=0.78
对于结果2,
AP@K=(0.5+0.4+0.5+0.57+0.56+0.6)/6=0.52
可以看到,效果优的排序结果的AP@K值大于效果劣的那一组。
在以上案例中,
查询1的AP@K=(1.0+0.67+0.5+0.44+0.5)/5=0.62,
查询的2的AP@K=(0.5+0.4+0.43)/3=0.44,
则我们计算这个策略的MAP@K=(0.62+0.44)/2=0.53。
对使用MAP@K进行评估的系统,我们认为MAP@K值较高的策略效果更好。
针对搜索引擎——在不同场景下如何选择合适的评估指标
由于搜索引擎需要处理海量数据,如果召回率R(即召回的相关文档的比例)过高↑,会对后续的排序和引擎的整体性能产生负面影响。具体来说,高召回率会导致需要处理的数据量增加,从而增加排序和返回结果的时间,降低搜索引擎的性能↓。
如果过度追求精确率P,可能会导致召回率R降低,即很多真正的正样本没有被预测出来。在一些场景中,如搜索引擎的垂直搜索(垂搜)场景,可能需要更多的长尾词来带流量。但由于对精确率P的要求极高,很多相关的词可能无法出现在搜索结果中,导致召回率R降低。
因此,在不同的应用场景中,需要根据实际需求来选择合适的评估指标。如果希望模型的预测尽可能准确,那么可以选择较高的精确率;如果希望模型能够尽可能多地覆盖正样本,那么可以选择较高的召回率。
为了更好地分析精确率和召回率之间的关系,可以绘制Precision-Recall曲线。这条曲线可以通过改变模型的阈值来获得不同的精确率和召回率组合,从而帮助我们更好地理解模型的性能。
此外,还可以使用F值来调和精确率和召回率的互斥关系。F值是精确率和召回率的调和平均数,它能够综合考虑这两个指标,给出更全面的评估结果。
总之,选择合适的评估指标需要根据实际应用场景来决定,并综合考虑不同指标的优缺点和需求来进行权衡。
长尾词
长尾词是指非目标关键词但与目标关键词相关的,能够带来搜索流量的组合型关键词。
长尾词通常较长,可能是2-3个词组成,甚至是短语,存在于内容页面,除了内容页的标题,还存在于内容中。长尾词具有可延伸性、针对性强、范围广等特征。
在搜索引擎优化(SEO)中,长尾词是非常重要的概念。长尾理论认为,通过大量的小市场累积起来,可以占据市场中可观的份额。对于网站来说,长尾词带来的总流量非常大。
例如,如果一个网站的目标关键词是“服装”,那么其长尾词可能包括“男士服装”、“冬装”、“户外运动装”等。
因此,在网站优化中,需要关注长尾词的优化。通过合理地选择和利用长尾词,可以提高网站的流量和转化率。同时,需要分析市场趋势和用户需求,以便找到更有价值的长尾词,并选择有利可图的优化词类,实现搜索条件的最优化。