基于多标签数据的类别不均衡研究(概括)

目录:
一、从单标签均衡数据的分类到多标签不均衡数据分类的改进
二、多标签不均衡数据重采样算法
三、对分类结果的评价

一、从单标签均衡数据的分类到多标签不均衡数据分类的改进

  1. 遇问题改进现有的算法思路(依赖于特定算法)
  2. 遇问题改进问题源——数据集(转化或者重采样数据集)

二、多标签不均衡数据重采样算法
一般多标签不均衡数据重采样算法要解决的问题有三个:
1.在哪里进行采样?
2.对每个采样样本采样多少个?
3.对每个新采样的样本怎么分配标签?

下面简单介绍一个多标签不均衡数据重采样算法:
MLSMOTE
算法步骤:(1)选择出少数标签类。将所有标签不均衡度(IRLR)大于MeanIR(平均标签不均衡度)的标签挑选出来,作为少数类标签
(2)将每一个少数类标签的样本群(含有这个少数类标签的样本组成的集合)的每一个样本进行合成新样本
(3)新样本的特征值向量和标签集(labelset)都是合成的,而非简单克隆原始样本。
(4)其中,特征值向量由原始样本的特征值向量和其k邻居决定:
合成Features=原始Features+diff*rand(0,1)
diff=原始样本k邻居中任选一邻居的Features-原始Features
(5)标签集由原始样本所含标签及其邻居所含标签决定:
对对出现在原始样本和其k邻居的样本的每一个标签进行统计,标签出现的次数count>(k+1)/2,则将这个标签作为合成样本标签集的一个标签,依次判断其它标签,直到得到整个标签集

注意:原始样本的k邻居是在原始样本所对应的样本群中选择的,而非从整个样本集中选择,所以这些k邻居的标签集至少含有该样本群对应的那个少数类标签(原始样本也一定含有),所以,合成的新样本的标签集至少含有这个少数类标签。

三、对分类结果的评价
混淆矩阵:

1.单标签分类:
准确率:
\(accuracy = \frac{{TP + TN}}{{TP + FP + TN + FN}}\)

精确率:
\(precision = \frac{{TP}}{{TP + FP}}\)

错误率:
\(error\_rate = \frac{{TP + FN}}{{TP + FP + TN + FN}}\)

特效度:
\({\rm{specificity}} = \frac{{{\rm{T}}N}}{{TN + FP}}\)
表示所有负例被正确预测的比例,衡量了分类器对负例的识别能力,例如在识别陌生短信中的诈骗短信(负例)很有帮助

召回率:
\({\mathop{\rm Re}\nolimits} call = \frac{{{\rm{TP}}}}{{TP + FN}}\)
表示正例的召回率,即所有正例被正确预测的比例,而负例的召回率等于特效度。

2.多标签分类:
(1)基于单独标签的方法:
f1 macro/f1 micro:

\[f1{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} macro = \frac{1}{L}\sum\limits_{i = 1}^L {f1(T{P_i},F{P_i},T{N_i},F{N_i})} \]

\[f1{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} micro = f1(\sum\limits_{i = 1}^L {T{P_i},} \sum\limits_{i = 1}^L {F{P_i},} \sum\limits_{i = 1}^L {T{N_i},} \sum\limits_{i = 1}^L {F{N_i},} ) \]

其中f1包括precision、Recall、F-measure(调和平均数)等操作。macro是宏平均,macro的结果容易受少数类的影响,所以更关注少数类标签是否被分类正确的话可以用macro评价指标;micro是微平均,更关注 整体的分类准确率。且由于F-measure为precision和Recall的调和平均数,一般只考虑F-measure即可:

\[F - measure = \frac{1}{{\frac{1}{2}(\frac{1}{{precision}} + \frac{1}{{{\mathop{\rm Re}\nolimits} call}})}} = \frac{{2*precision*{\mathop{\rm Re}\nolimits} call}}{{precision + {\mathop{\rm Re}\nolimits} call}} \]

Accuracy:

\[Accuracy = \frac{1}{L}\sum\limits_{i = 1}^L {eval{\kern 1pt} {\kern 1pt} Accuracy(T{P_i},F{P_i},F{N_i})} \]

多标签分类中一般不考虑单独标签的TN,意义不大。

(2)基于标签集的方法:
Hamming Loss:

\[Hamming{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} Loss = \frac{1}{m}.\sum\limits_{i = 1}^m {\frac{{|{Y_i}\Delta {Z_i}|}}{L}} \]

Hamming loss用来评估样本被错误分类的情况。
\(m\):样本个数 \(~~~~~~~~Yi:\)样本i实际标签的集合 \(~~~~~~~~~Zi\):样本i预测的集合
\(L\):标签的总数 \(~~~~~~~~∆\):异或运算,集合的并减集合的交
Haming Loss越小,预测结果越好。

posted on 2021-09-05 12:21  Prime`  阅读(1107)  评论(0)    收藏  举报