多标签分类问题的评价指标

多标签分类的评价指标

多标签学习系统中的性能评估与经典的单标签学习问题中不同,在单标签问题中使用的经典度量标准包括准确率,Precision,Recall 和 F-measure.在多标签学习中,评估会更加复杂,对于一个测试集 S = { ( x 1 , Y 1 ) , ( x 2 , Y 2 ) , . . . , ( x p , Y p ) } S=\{(x_{1},Y_1),(x_2,Y_2),...,(x_p,Y_p)\} S={(x1,Y1),(x2,Y2),...,(xp,Yp)},有如下评估标准:

  1. hamming loss:
    被误分类的instance-label 对的个数,(例如,不属于这个样本的标签被预测,或者属于这个样本的标签没有被预测)。 h l o s s S ( h ) hloss_{S}(h) hlossS(h)的值越小,性能越好,如果 h l o s s S ( h ) = 0 hloss_{S}(h)=0 hlossS(h)=0 是性能最好的。

h l o s s S ( h ) = 1 p ∑ i = 1 p 1 Q ∣ h ( x i ) Δ Y i ∣ hloss_{S}(h)=\frac{1}{p}\sum_{i=1}^{p}\frac{1}{Q}|h(x_i)\Delta Y_i| hlossS(h)=p1i=1pQ1h(xi)ΔYi
其中 Δ \Delta Δ 代表两个集合之间的对称差异,实际上汉明损失就是统计true labels没有出现在predicted label set中的次数。

Hamming loss是基于多标签分类器 h ( . ) h(.) h(.), 下列度量是基于实数值函数 f ( . , . ) f(.,.) f(.,.) 定义的,它关心的是每个样本不同标签的排名质量。

  1. one-error:
    评估top-ranked label不在样本的真实标签集中的次数。值越小,性能越好,当 o n e − e r r o r S ( f ) = 0 one-error_S(f)=0 oneerrorS(f)=0 时性能是最好的。评估top-ranked label不在样本的真实标签集中的次数。值越小,性能越好,当 o n e − e r r o r S ( f ) = 0 one-error_S(f)=0 oneerrorS(f)=0 时性能是最好的。

o n e − e r r o r S ( f ) = 1 p ∑ i = 1 p { [ a r g y ∈ Y m a x f ( x i , y ) ] ∉ Y i } one-error_S(f)=\frac{1}{p}\sum^{p}_{i=1}\{ [arg _{y \in \mathcal{Y}} max f(x_i,y)] \notin Y_i \} oneerrorS(f)=p1i=1p{[argyYmaxf(xi,y)]/Yi}
大括号中的值等式如果成立则其值为1,否则值为0,。注意到,对于单标签分类问题来说,one-error等同于原始的分类错误率。

  1. coverage:
    公式表示的意思就是所有文档中排序最靠后的真实标签的排序平均值(rank是从1开始,所以后面减了个1),同样值越小性能越好。
    c o v e r a g e S ( f ) = 1 p ∑ i = 1 p m a x y ∈ Y i r a n k f ( x i , y ) − 1 coverage_S (f)=\frac{1}{p}\sum^p_{i=1}max_{y \in \mathcal{Y}_i} rank_f (x_i,y)-1 coverageS(f)=p1i=1pmaxyYirankf(xi,y)1

  2. ranking loss:
    r l o s s s ( f ) = 1 p ∑ i = 1 p 1 ∣ Y i ∣ ∣ Y i ‾ ∣ ∣ { ( y 1 , y 2 ) ∣ f ( x i , y 1 ) ≤ f ( x i , y 2 ) , ( y 1 , y 2 ) ∈ Y i × Y i ˉ } ∣ rloss_s(f)=\frac{1}{p}\sum^{p}_{i=1}\frac{1}{|Y_i||\overline{Y_i}|}|\{(y_1, y_2)|f(x_i, y_1) \leq f(x_i,y_2), (y_1, y_2) \in Y_i \times \bar{Y_i} \}| rlosss(f)=p1i=1pYiYi1{(y1,y2)f(xi,y1)f(xi,y2),(y1,y2)Yi×Yiˉ}
    其中h函数就是预测函数。 Y i Y_i Yi表示第i篇文档真正包含的文档的数量, Y i ˉ \bar{Y_i} Yiˉ表示 Y i Y_i Yi的补集。因此根据公式的意思:相关标签集合与不相关标签集合进行两两比较,然后统计相关标签的预测可能性比不相关标签额预测可能性要小的次数(样本的标签对被相反预测的平均分数)。 其值越小性能越好。

  3. average precision:
    a v g p r e c S ( f ) = 1 p ∑ i = 1 p 1 ∣ Y i ∣ ∣ { y ′ ∣ r a n k f ( x i , y ′ ) ≤ r a n k f ( x i , y ) , y ′ ∈ Y i } ∣ r a n k f ( x i , y ) avgprec_S (f)=\frac{1}{p}\sum_{i=1}^{p}\frac{1}{|Y_i|}\frac{|\{ y^{'}|rank_f(x_i,y^{'})\le rank_f (x_i,y),y^{'} \in Y_i \}|}{rank_f(x_i,y)} avgprecS(f)=p1i=1pYi1rankf(xi,y){yrankf(xi,y)rankf(xi,y),yYi}
    原始用于信息检索系统中来评估查询检索的文档排名性能。
    正确率值考虑了返回结果中相关文档的个数,而没有考虑文档之间的序。对于一个搜索引擎或推荐系统而言返回的结果必然是有序的。而且越相关的文档排序越靠前越好。对于一个有序的列表,计算每个位置上的precision,然后对所有位置的precision做average,如果该位置的文档是不相关的则该位置的precison=0;
    which evaluates the average fraction of labels ranked above a particular label y ∈ Y y \in Y yY which actually are in Y Y Y.
    a v g p r e c S ( f ) avgprec_S (f) avgprecS(f)的值越大,性能越好,当其值是1时性能是完美的。
    MAP(mean average precision)进一步解释

参考资料:
average precision
precision和recall
MAP(mean average precision)

你可能感兴趣的:(特征选择,机器学习)