system: [SYSTEM]

user: 2. 相关研究 2.1. 不平衡数据分类的集成学习算法 近年来的国内外研究中，提高不平衡数据中少数类分类准确率问题的方法主要分为三个类别：数据层面，算法层面和集成学习。数据层面是指在训练模型之前，对原始数据集进行不同方式的重采样，调整多数类和少数类样本的个数，从而降低不平衡度。例如，通过上采样重复选取少数类样本 [ 3 ]，或者通过降采样减少多数类样本 [ 4 ]，来重构数据集使其中不同类别样本数目相对平衡。然而，预处理后用于最终训练分类器的单个数据集，会损失样例特征信息或重复采样多次而造成大量的信息浪费，因此数据层面的方法在不平衡率较高时不适用。算法层面是指针对不平衡数据的特点，提出新的分类算法或者对已有算法做出改变。例如代价敏感学习，通过为不同类别样本设置不同错分代价提高分类准确率。 集成学习是数据和算法的混合方法，它的主要思想是创建一系列弱学习器，再以一定的策略将其结合做出最终决策，利用弱学习器之间的差异性得到更全面的强分类模型。集成学习能够有效地将采样方法和分类算法嵌入推进，是效能更高的不平衡数据分类算法。其中Boosting类通过引入代价敏感学习更新权重，改变多数类和少数类样本的分布，串行生成分类器。它通常基于整个特征空间构建算法，因此整体复杂度较高，不利于高维数据处理。与之相比，Bagging类并行生成基分类器，算法结构更为简单，具有较高的泛化性能 [ 5 ] [ 6 ]。因此本文提出的REKRNN算法采用Bagging框架，构建以k-RNN为弱学习器的不平衡数据分类算法。 现有的基于Bagging的集成算法中，多数采用决策树作为弱学习器，例如随机森林。近年来，研究者将更多的机器学习算法引入其中，例如神经网络，支持向量机等，使得单个学习器的性能通过集成得到提升 [ 7 ]。然而，在特征数较多时，这些算法在学习过程中容易因为复杂度高而产生过拟合现象，使得模型整体泛化性能较差。同时，计算过程时间和资源消耗巨大。 为了降低运算成本，本文首次采用了模型复杂度更低的秩次k近邻算法(k-rank nearest neighbor classifier)作为集成算法的弱学习器。单变量的 -RNN规则首先由Anderson等人于1996年提出，随后Bagui和Pal进一步将之拓展为适用于多变量的分类算法 [ 8 ] [ 9 ]。与最为经典的k-NN算法相同，它的主要思想是如果一个样本在样本空间中的大多数“邻居”都属于一个类别，那这个样本也属于这个类别 [ 10 ]。在分类决策时，只依据这些邻居的类别来做出预测。所不同的是，在寻找最近邻样本时，k-NN基于每两个样本间的距离，而k-RNN基于对各个类别样本混合排序后的次序，即秩次。试验证明，k-RNN在拥有与k-NN相当的分类性能的同时，算法的复杂度更低。 2.2. k-RNN分类器 原始的k-RNN规则适用于单变量总体，即总体中样本仅有一个特征，它规则和主要思想如下： 设 { X 1 ， X 2 ， ⋯ ， X n 1 } 和 { Y 1 ， Y 2 ， ⋯ ， Y n 2 } 是分别来自两个给定总体 π 1 和 π 2 的训练样本集，测试样例Z可被分类至总体 π 1 或 π 2 。将X，Y和Z全部样本( n 1 + n 2 + 1 个)按照降序(或升序)排列，得到混合样本的秩次；然后，取Z左边的样本和右边的样本各k个作为秩次最近邻，样例Z的预测类别将由这2k个最近邻中的出现次数较多的类别标记为预测结果。 尽管原始的k-RNN规则有很好的分类能力，但由于“按照降序(或升序)排列”这一概念无法自然地扩展到多变量总体，它只能用于单一特征的总体分类任务。为了将k-RNN规则能够适用于多特征总体分类，并使其在大多数现实问题中得到应用，Bagui扩展了该算法，将Randlest的多维样本排序法引入其中，提出了基于排序的多元k-RNN分类器。该排序法综合了不同总体间的均值和协方差矩阵的差异，更加具有统计学意义。多元k-RNN分类器的主要思想如下： 设 { X 1 ， X 2 ， ⋯ ， X n 1 } 和 { Y 1 ， Y 2 ， ⋯ ， Y n 2 } 是分别来自两个给定总体 π 1 和 π 2 的训练样本集。其中 X i = ( x i 1 ， x i 2 ， ⋯ ， x i p ) ∈ R p ，总体均值为 ，协方差矩阵为 Σ 1 ； Y i = ( y i 1 ， y i 2 ， ⋯ ， y i p ) ∈ R p ，总体均值为 μ 2 ，协方差矩阵为 Σ 2 。测试样例 Z = ( z 1 ， z 2 ， ⋯ ， z p ) ∈ R p 可被分类至总体 π 1 或 π 2 。基于原始k-RNN规则，测试样例Z在多维样本X，Y和Z中的混合秩次由以下得分函数获得： R ( Z ; μ 1 ， μ 2 ， Σ 1 ， Σ 2 ) = ( μ 1 T Σ 1 − 1 − μ 2 T Σ 2 − 1 ) Z − 1 2 Z T ( Σ 1 − 1 − Σ 2 − 1 ) Z (1) 其中， μ i T 表示均值向量 μ i 的转置， 表示协方差矩阵 Σ i 的逆矩阵。 在大多数的应用环境中，参数 μ 1 ， μ 2 ， Σ 1 和 Σ 2 均为未知。Johnson等人证明，可以由它们的无偏估计 X ¯ ， Y ¯ ， S 1 和 S 2 代替得到得分函数的无偏估计： R ^ ( Z ; X ¯ ， Y ¯ ， S 1 ， S 2 ) = ( X ¯ T S 1 − 1 − Y ¯ T S 2 − 1 ) Z − 1 2 Z T ( S 1 − 1 − S 2 − 1 ) (2) 其中， X ¯ = 1 n 1 ∑ i = 1 n 1 X i ，   Y ¯ = 1 n 2 ∑ i = 1 n 2 Y i (3) S 1 = 1 n 1 − 1 ∑ i = 1 n 1 ( X i − X ¯ ) ( Y i − Y ¯ ) T ，   S 2 = 1 n 2 − 1 ∑ i = 1 n 2 ( X i − X ¯ ) ( Y i − Y ¯ ) T (4) 更进一步地，Bagui和Pal利用大数定律证明了 R ^ ( . ) → P R ( . ) 。即得分函数的估计值 R ^ ( . ) 依概率收敛到 R ^ ( . ) [ 8 ]。 由此可知，得分函数 R ( . ) 或者 R ^ ( . ) 是一个从 R p 到 R 1 ，从p维到1维的映射，它的得分值代表了任一样例在X，Y样本集中的混合秩次。通过得分函数计算X，Y中每个样例的分值，就能够得到混合样本中全部样例的秩次。原始k-RNN规则中排序得到秩次的思想通过得分函数得以解决，使之可以成功应用于多特征分类任务中，依据秩次选择双侧最近邻进行样例的分类预测。 多元k-RNN分类器的训练过程如下表1： Table 1 k-RNN classifier algorith 输入：训练集 S = { x i ， y i } ， i = 1 ， 2 ， ⋯ ， m ， y i ∈ Y ， Y = { 0 ， 1 } ，其中0和1为相应样例类别标签；测试集 1.分别计算1-类别和0-类别样例的均值向量和协方差矩阵 2.通过得分函数 R ^ ( . ) 计算训练集中所有样本的分值作为其秩次 3.依秩次将全部训练样本排序 4.选择参数值k 5.对于测试集中的任一样例： -通过得分函数 R ^ ( . ) 计算分值作为其在混合样本中的秩次 -依据秩次将测试样例插入排序后的训练样本中 -选择其左右方向各k个样例作为最近邻 -将2k个最近邻中出现次数较多的类别标记为该样例的预测结果 -结束循环 输出：测试集样本预测分类 表1. k-RNN分类器训练过程