本文是《机器学习宝典》第 4 篇,读完本文你能够掌握机器学习中排序算法相关的评估指标。
读完分类与回归算法的评估指标之后,你已经知道了机器学习中分类与回归算法的评估指标。在这篇给大家介绍一些机器学习中排序算法相关的评估指标。
生活中的排序问题
直接说排序这个名词很多人可能觉得很陌生,但实际上它与你的生活密切相关。这里我们以搜索功能来说明下。
比如你想学习机器学习,但是不知道如何入门,但是你想到有谷歌爸爸,所以就在谷歌中输入了关键词:机器学习入门,接下来你就看到了一个结果页,结果页里包含了一大堆与入门机器学习相关的链接。
可以看到,每个链接对应的内容不一样,位置也分前后,对于你来说,你当然是希望前几个链接的内容就能解决你的问题,这样你就不用花时间去查看靠后的链接,甚至不用去翻页,也就是说你希望越靠前的位置的内容与你搜索的关键词越相关。
换个角度来想,你所看到的这么多链接其实就是一个模型产生的排序列表,这个列表里的每个元素就是一个链接。这里的链接用行话来说就是**“文档”** 。那么,如何衡量这个排序列表的好坏呢?也就是说每个文档到底排在第几位才是比较合适的呢?接下来我们来看几个衡量排序质量的评估指标。
MAP
MAP(Mean Average Precision,平均准确率均值)计算时分为两部分,第一部分是计算一次查询后的排序结果的平均准确率(AP),第二部分是计算总体的平均准确率均值(MAP)。一般评估MAP时会限定要评估的排序结果个数,也就是会指定要选取的前K个文档。
A P @ K = ∑ k = 1 m i n ( M , K ) P ( k ) ⋅ r e l ( k ) m i n ( M , K ) AP@K = \frac{\sum_{k=1}^{min(M, K)}P(k)·rel(k)}{min(M, K)} AP@K=min(M,K)∑k=1min(M,K)P(k)⋅rel(k)
其中,AP@K表示计算前K个结果的平均准确率,M表示每次排序的文档总数,P(k)表示前k个结果的准确率, P ( k ) = 前 k 个 结 果 中 的 相 关 文 档 数 量 k P(k)=\frac{前k个结果中的相关文档数量}{k} P(k)=