发明内容
针对现有技术存在的问题,本发明的主要目的在于提供一种平均错分代价最小化的分类器集成方法,该方法能够真正实现分类结果偏向错分代价较小的类,并在不直接要求各个分类器相互独立的条件下,确保训练错误率随着训练的分类器的个数增加而降低。
为实现上述目的,本发明的技术方案构思原理如下:
本发明采取把用符号函数表示的错分代价的极值问题转换成用指数函数表示的极值问题,并基于递推思想,得到了一种平均错分代价最小化的分类器集成方法。
对训练样本集S={(x1,y1),...,(xm,ym)},考虑K分类问题,yi∈{1,2,...,K}。弱分类器ht(x)输出标签l的置信度为ht(x,l),l=1,...,K.(x,y)∈S简记为x∈S。
集成学习方法通常指通过某种方式得到T个弱分类器h
t(x),t=1,...,T,然后进行组合得到分类性能更好的组合分类器。线性组合最常用,令
即
l=1,...,K,组合分类器
即输出累积置信度最大对应标签。C=c(i,j)
K×K为代价矩阵,c(i,j)表示i类被错分成j类的代价,c(i,j)≥0,c(i,i)=0。集成学习方法就是训练h
t(x)使平均错分代价最小,即希望式(1)取到最小值。
由于式(1)的取值不仅取决于具体的弱分类器ht(x),而且还取决于参与组合的弱分类器的个数T,当T值一定,如何训练T个弱分类器ht(x)(t=1,...,T)使式(1)取到最小值是一个在全分类器空间的寻优问题,这是一个非常困难的问题。既然最终目的是使平均错分代价εcs尽量小,如果能通过增加弱分类器个数来减小εcs,并且随着T趋于无穷而εcs趋于零,则对每增加单个ht(x)能否使得式(1)取到最小值就显得不重要了。下面的方法正是采取先对式(1)放大,对放大后的表达式在分类器空间寻优如果有好的方法,如果其仍然能随T增加而εcs减小,并满足limT→∞εcs=0,该方法就是一种可行的集成学习方法。
为f(x)输出置信度平均值,有
如果H(x
i)=k,则
此时
于是有
由于
因此
其中
Z
0为
的归一化因子。根据前面的分析,如何训练h
t(x)使式(1)尽量小可转为训练h
t(x)使式(2)尽量小,而式(2)的最小值点可逐个训练h
t(x)来实现。
先训练ht(x),式(2)变一种形式
记
i=1,...,m,l=1,...,K,其正是除h
t(x)外其余T-1个弱分类器构成的组合分类器
针对x
i输出标签l的累积置信度与平均累积置信度之差的指数函数值。如果该分类器能正确分类x
i,temp(i,y
i)将最大,即temp(i,y
i)≥temp(i,l)。因此,在无其它先验信息条件下,除temp(i,y
i)可能取到最大值外,其它temp(i,l)(l≠y
i)可假设近似相等,但
于是式(3)极小值点可用式(4)极小值点近似代替。
下面来求式(4)的极小值点。
每个弱分类器h
t(x)的实质是对目标空间的一个划分,对位于同一划分段内的目标输出相同的置信度。该划分对样本集也有一个划分
i≠j时,
当
h
t(x
i)输出l类标签的置信度为h
t(x
i,l),由于h
t(x
i,l)与x
i所位于的划分段有关,即与
有关,当
h
t(x
i)输出l类标签的置信度记为
l=1,...,K,j=1,...,n
t。记
l=1,...,K,j=1,...,n
1,i=1,...,m。于是有
由算术平均大于等于几何平均且各项相等时取到极小值,可得式(4)的极小值点为
l=1,...,K,j=1,...,n1 (6)
因此,训练h
1(x)使式(4)极小转变成了寻找使
取得最小值时样本集的一个划分
需要说明的是,对β>0,
都是式(4)的极小值点。对
而言,所有标签的置信度加减同一常数不影响结果,因此取
作为式(2)的近似极小值点,此时极小值为Z
0Z
1。
训练得到h1(x)后,令
再训练h2(x),此时式(2)为
同样,记
i=1,...,m,l=1,...,K,其正是除h
1(x)和h
2(x)外其余T-2个弱分类器构成的组合分类器
的输出置信度函数。类似前面的分析,在无其它先验信息条件下,除temp(i,y
i)可能取到最大值外,其它temp(i,l)(l≠y
i)可假设近似相等,但
于是式(8)极小值点近似为式(9)极小值点。
式(9)类似式(4),类似分析得式(9)极小值点
l=1,...,K,j=1,...,n2 (10)
其中
l=1,...,K,j=1,...,n
2,i=1,...,m。此时式(2)的近似极小值为Z
0Z
1Z
2,其中
训练h
2(x)转变成了寻找使Z
2取得最小值时样本集的一个划分
类似地逐个训练各个弱分类器,于是得到一种多分类代价敏感学习的分类器集成方法,该方法包括如下步骤:
S1、获取训练样本集;
S2、初始化样本权值并赋初值;
S3、迭代T次后,训练得到T个最佳弱分类器;
S4、组合T个最佳弱分类器得到最佳组合分类器,
所述步骤S2给训练样本赋初值的方法为:
其中,i=1,...,m,l=1,...,K,y
i∈{1,2,...,K},Z
0为
的归一化因子,c(y
i,l)表示y
i类被错分成l类的代价,m为训练样本数;
所述步骤S3具体包括如下步骤:
S31、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过如下步骤实现:
S311、对应样本集S的划分,
计算
其中j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示
划分段内l标签子集不包含x
i的概率;
S312、定义弱分类器h
t(x),当
时,有
其中,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度;
S313、选取弱分类器h
t(x),使
最小,其中,Z
t代表样本权值调整后的归一化因子;
S32、根据步骤S31的结果来调整样本权值,
S33、判断t是否小于T,若是,则令t=t+1,返回步骤S31,若否,则进入步骤S4。
更进一步地,组合T个最佳弱分类器得到最佳组合分类器的方法为:
其中
上述多分类代价敏感学习的分类器集成方法中,令c(i,i)=0,c(i,j)=1(i≠j),即代价相等且K>2时,该方法简化为一种新的多分类的连续AdaBoost集成学习方法,通过如下步骤实现:
S1、获取训练样本集;
S2、初始化样本权值并赋初值;
S3、迭代T次后,训练得到T个最佳弱分类器;
S4、组合T个最佳弱分类器得到最佳组合分类器,
所述步骤S2给训练样本赋初值的方法为:
i=1,...,m,l=1,...,K,Z
0是归一化因子,其中c(i,i)=0,当i≠j时c(i,j)=1;
所述步骤S3具体包括如下步骤:
S31、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过如下步骤实现:
S311、对应样本集S的划分,
计算
其中j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
相当于
划分段内l标签子集不包含x
i的概率;
S312、定义弱分类器h
t(x),当
时,有
其中,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度;
S313、选取弱分类器h
t(x),使
最小,其中,Z
t代表样本权值调整后的归一化因子;
S33、判断t是否小于T,若是,则令t=t+1,返回步骤S31,若否,则进入步骤S4。
更进一步地,组合T个最佳弱分类器得到最佳组合分类器的方法为:
其中
在多标签分类问题中,此时样本集为S={(x
1,Y
1),...,(x
m,Y
m)},其中,
L={1,2,...,K}。Y
i=L和
是两种特例。用|Y
i|表示集合Y
i内元素个数,|Y
i|=1便是单标签分类,|Y
i|>1就是多标签分类,此时h
t(x)输出一个标签集,为了区别,记为{h
t(x
i)}。组合分类器可定义为:
即累积置信度比平均累积置信度大对应的标签作为H(x)的输出标签集。对r标签集分类问题,H(x)可定义为累积置信度最大的前r个对应标签。
显然,构造分类器的目的仍然是希望分类错误率最小,但不同的分类错误定义可得不同的方法。{h
t(x
i)}≠Y
i就可认为分类错误,但同样是{h
t(x
i)}≠Y
i,
和
具有本质区别。
表示分类预测出部分正确标签,而
表明分类预测完全错误,这种现象在单标签分类问题中不存在,因为单标签分类属于二值判断问题。对{h
t(x
i)}≠Y
i的各种情况,最需要关注的有
和
为此定义θ
i=|{h
t(x
i)}-Y
i|,γ
i=|Y
i-{h
t(x
i)}|,β
i=coverθ
i+c
defγ
i,其中c
over+c
def=1,c
over和c
def为两个常数,分别代表分类预测标签多于实际标签的单个标签代价和分类预测标签少于实际标签的单个标签代价。对应上述三种分类错误度量,度量分类器的好坏也有三种,仍然称之为分类错误率。分别是
其中ω
i=1/(mK),于是0≤ε
θ≤1,0≤ε
γ≤1,0≤ε
β≤1。根据分类错误率含义,称ε
θ最小化的方法为“过预测标签最少化方法”。
令
即当l∈Y
i,C
θ(i,l)=0,其余C
θ(i,l)=1,i=1,...,m,l=1,...,K。于是
其中
Z
0为
的归一化因子。式(11)与式(2)类似,按照前面类似的推导,可得式(11)取到近似极小值的集成学习方法,即一种过预测标签最少化Adaboost集成学习方法。
最小化的方法称为“欠预测标签最少化方法”。令
即当l∈Y
i,C
γ(i,l)=1,其余C
γ(i,l)=0,i=1,...,m,l=1,...,K。于是
其中
Z
0为
的归一化因子。当把-h
t(x)当成h
t(x)时,式(12)与式(2)类似,按照前面类似的推导,可得式(12)取到近似极小值的集成学习方法,即一种欠预测标签最少化AdaBoost集成学习方法。
由εβ=coverεθ+cdefεγ,Cγ(i,l)+Cθ(i,l)≡1,于是
想采用前面类似分析方法得到该式的极值点很困难。因为ε
β=c
overε
θ+c
defε
γ,一种简单做法是用ε
θ和ε
γ的极值点的加权平均作为ε
β的极值点,即
弱分类器的选取仍然采取把
代入ε
β后最小化式策略,于是可得到一种多标签分类问题AdaBoost集成学习方法。
根据以上分析,本发明方法提供的一种过预测标签最少化Adaboost集成学习方法,通过如下步骤实现:
S1、获取训练样本集;
S2a、初始化样本权值并赋初值;
S3a、迭代T次后,训练得到T个最佳弱分类器;
S4a、组合T个最佳弱分类器得到最佳组合分类器,
所述步骤S2a给训练样本赋初值的方法为:
其中,i=1,...,m,l=1,...,K,Z
0是
的归一化因子,C
θ(i,l)表示过预测标签最少化时,i类被错分成l类的代价矩阵;
所述步骤S3a具体包括如下步骤:
S31a、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过如下步骤实现:
S311a、对应样本集S的划分,
计算
其中j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示划分段
内并标签集包含除标签l外的标签的样本的概率;
S312a、定义弱分类器h
t(x),当
时,有
其中,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度;
S313a、选取弱分类器h
t(x),使
最小,其中,Z
t代表样本权值调整后的归一化因子;
S32a、根据步骤S31a的结果来调整样本权值,
S33a、判断t是否小于T,若是,则令t=t+1,返回步骤S31a,若否,则进入步骤S4a。
更进一步地,组合T个最佳弱分类器得到最佳组合分类器的方法为:
本发明方法提供的一种欠预测标签最少化AdaBoost集成学习方法,通过如下步骤实现:
S1、获取训练样本集;
S2b、初始化样本权值并赋初值;
S3b、迭代T次后,训练得到T个最佳弱分类器;
S4b、组合T个最佳弱分类器得到最佳组合分类器,
所述步骤S2b给训练样本赋初值的方法为:
其中,i=1,...,m,l=1,...,K,Z
0是归一化因子,C
γ(i,l)表示欠预测标签最少化时,i类被错分成l类的代价矩阵;
所述步骤S3b具体包括如下步骤:
S31b、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过如下步骤实现:
S311b、对应样本集S的划分
计算
其中,j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示划分段
内并标签集包含标签l的样本的概率;
S312b、定义弱分类器h
t(x),当
时,
其中,j=1,...,n
t,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度;
S32b、根据步骤S31b的结果来调整样本权值,
S33b、判断t是否小于T,若是,则令t=t+1,返回步骤S31b,若否,则进入步骤S4b。
更进一步地,组合T个最佳弱分类器得到最佳组合分类器的方法为:
其中
本发明方法提供的一种多标签分类问题AdaBoost集成学习方法,通过如下步骤实现:
S1、获取训练样本集;
S2c、初始化样本权值并赋初值;
S3c、迭代T次后,训练得到T个最佳弱分类器;
S4c、组合T个最佳弱分类器得到最佳组合分类器,
所述步骤S2c给训练样本赋初值的方法为:
i=1,...,m,l=1,...,K,Z
0是
归一化因子;
所述步骤S3c具体包括如下步骤:
S31c、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过如下步骤实现:
S311c、对应样本集S的划分
计算
其中,j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示划分段
内并标签集包含除标签l外的标签的样本的概率,
表示划分段
内并标签集包含标签l的样本的概率;
S312c、定义弱分类器h
t(x),当
时,
其中,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度,c
over和c
def为两个常数,c
over代表分类预测标签多于实际标签的单个标签代价,c
def代表分类预测标签少于实际标签的单个标签代价,且c
over+c
def=1;
S313c、选取弱分类器h
t(x),使
最小化,其中,
S32c、根据步骤S31c的结果来调整样本权值,
S33c、判断t是否小于T,若是,则令t=t+1,返回步骤S31c,若否,则进入步骤S4c。
更进一步地,组合T个最佳弱分类器得到最佳组合分类器的方法为:
其中
本发明相对于现有技术,具有以下有益效果:1、构造出了一种可直接用于多分类问题的代价敏感分类集成学习方法,该方法可真正确保分类结果向错分代价小的类集中,解决了目前已有的代价敏感学习方法只能向错分代价总和最小的类集中这一问题。2、当上述方法中代价相等时得到了一种新的多分类的连续AdaBoost集成学习方法,其与基于Bayes统计推断得到的多分类的连续AdaBoost算法解决问题的角度不同,该方法可确保训练错误率随着训练的分类器个数增加而降低,而且并不直接要求各个分类器相互独立。3、基于构造平均错分代价最小化的分类器集成方法的思路,得到一套比较难构造的多标签分类集成学习方法,即本发明提到的一种过预测标签最少化Adaboost集成学习方法、一种欠预测标签最少化AdaBoost集成学习方法和一种多标签分类问题AdaBoost集成学习方法,不仅考虑了组合分类器分类错误率最小化,而且能区分组合分类器输出标签多于实际标签和少于实际标签,通过调整cover和cdef的值可选择学习方法的侧重点。4、本发明方法易于实现,可提高多分类器系统的效率,具有更好的分类效果。
具体实施方式
下面结合附图,详细说明本发明的具体实施方式。
实施例一
下面结合图1说明本发明提供的一种多分类代价敏感学习的分类器集成方法具体流程步骤,该方法包括如下步骤:
S1、获取训练样本集S;
S2、初始化样本权值并赋初值,
其中,i=1,...,m,l=1,...,K,y
i∈{1,2,...,K},Z
0为
的归一化因子,c(y
i,l)表示y
i类被错分成l类的代价,m为训练样本数;
S3、迭代T次,训练得到T个最佳弱分类器,通过步骤S31~S33来实现:
S31、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过步骤S311~S313来实现:S311、对应样本集S的划分,
计算
其中j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示
划分段内l标签子集不包含x
i的概率;S312、定义弱分类器h
t(x),当
时,有
其中,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度;S313、选取弱分类器h
t(x),使
最小,其中,Z
t代表样本权值调整后的归一化因子;
S33、判断t是否小于T,若是,则令t=t+1,返回步骤S31,若否,则进入步骤S4;
S4、组合T个最佳弱分类器得到最佳组合分类器,方法为:
其中
当且仅当
k,l∈{1,...,K},上式的等号成立。而对每个j∈{1,...,n
t}都满足该条件的几率很小,除非每个划分段内各类样本分布完全平衡一样,即便如此,都还可以调整划分来破坏该平衡.因此通常都有Z
t<1,于是,即使对弱分类器不作特殊要求,使用本方法得到的组合分类器的平均错分代价随着弱分类器的个数增加而逐渐减小。
针对多分类代价敏感学习的分类器集成方法,如果训练每个弱分类器都考虑代价,则只需修改该方法中的权值调整公式为
本发明方法一的算法时间复杂度与弱分类器的构造方法有关,并且其时间复杂度和空间复杂度与已有的AdaBoost算法一样。当基于样本单属性构造分类器,时间复杂度就为0(mdT),其中m为训练样本数,d为样本属性个数,T为弱分类器个数。因此本发明是一个比较快的方法。
实施例二
利用本发明的多分类代价敏感学习的分类器集成方法可以实现一种多分类连续AdaBoost集成学习方法,其与实施例一相同之处不再重复,其不同之处在于:
步骤S2给训练样本赋初值时的方法为:
i=1,...,m,l=1,...,K,Z
0是归一化因子,其中c(i,i)=0,当i≠j时c(i,j)=1。此时平均错分代价简化为训练错误率,实施例一所述的多分类代价敏感学习的分类器集成方法简化为一种新的多分类的连续AdaBoost集成学习方法。
本发明方法对每个样本引入了K个权值,考虑目标能否被正确分类时,关注的是其对立面。
相当于
划分段内l标签子集不包含x
i的概率。取
相当于后验概率仍采用乘积方式。本发明方法输出“在标签类中不出现x
i的后验概率”最小对应的标签。也就是说,本发明方法从“某标签类中不出现目标”的概率最小化来处理问题,而现有技术中基于Bayes统计推断的多分类的连续AdaBoost集成学习方法是从“某标签类中出现目标”的概率最大化来处理问题,二者解决问题的角度不同。
基于Bayes统计推断的多分类连续AdaBoost集成学习方法对弱分类器是有条件要求的,不仅要求相互独立条件,而且还要求各个弱分类器输出正确标签的概率大于1/K,输出其它标签的概率小于1/K,而本发明方法并不要求各个弱分类器相互独立,因此,本发明方法受到的限制更少。
实施例三
下面将本发明提出的一种多分类代价敏感学习的分类器集成方法和一种多分类连续AdaBoost集成学习方法用于实际运用中,并与现有的基于Bayes统计推断的多分类的连续AdaBoost集成学习方法进行比较。
数据选取了UCI数据集上的wine数据集和随机数据集(Random data),wine数据有3类标签,随机数据集随机生成。实验用随机数据采用MATLAB中的随机矩阵生成函数rand(n)生成n×n矩阵,截取前d列可得到含d个属性的n个样本,再把样本分成3类便得到了一个随机的3分类数据集。随机数据集的类之间无明显差异和各类的内部无明显规律特性决定了其代表性。具体数据集见表1。
表1
数据集 |
样本数 |
样本属性数 |
1类样本数 |
2类样本数 |
3类样本数 |
训练集∶测试集 |
Random data |
178 |
24 |
59 |
71 |
48 |
6∶4 |
Wine |
178 |
14 |
59 |
71 |
48 |
6∶4 |
弱分类器基于单个属性来构造,对属性值进行5段划分,4个分段阈值获取方式为:统计三类样本的中心,和两两相邻中心的平均值(2个),基于这5个值计算其两两相邻值之平均值,得到4个分段阈值。需要指出的是,基于Bayes统计推断的多分类的连续AdaBoost集成学习方法的每个样本就一个权值,可直接计算类加权中心。而本发明提出的一种多分类代价敏感学习的分类器集成方法和一种多分类连续AdaBoost集成学习方法的每个样本有3个权值,计算类中心时采用了3个权值之和的倒数为加权系数。如前面的分析,本发明方法考虑的是正确标签的对立面,所以采用权值倒数。
随机同比例从试验数据集中抽取训练数据集用于训练分类器,测试剩余的数据集(测试数据集)。为了验证各方法的稳定性,采取多次试验后计算平均代价和代价方差,方差可反映各方法的稳定性。实验中训练30个弱分类器组合,重复20次统计均值和方差。当然,也可训练更多弱分类器或重复更多次,实验结论类似,但弱分类器太少将难以发挥分类器的组合效果。
为了模拟本发明方法对不同错分代价的反应,采取调整代价矩阵C=c(i,j)3×3来实现。具体变化情况和对应的实验结果见表2至表9。其中Cost-MCPBoost指本发明提出的多分类代价敏感学习的分类器集成方法,而Cost-UBoost指现有技术的基于Bayes统计推断的多分类的连续AdaBoost集成学习方法。
表2
表3
表4
表5
表6
表7
表8
表9
下面对以上数据结果进行分析:
表2-表6是在随机数据集上的实验,为更直观比较,比较其最后一行代价矩阵:
代价矩阵(a)-(e)分别对应表2-表6对应的代价,其c(i,j)=1处不变,c(i,j)=11处由1递增到11,用以验证代价变化时各方法结果的变化。
先分析表2,表的每一行,每个类被错分的代价和是一样的,即c(i,1)+c(i,2)+c(i,3)相等,Cost-UBoost因为只能考虑错分代价和,例如对1类,只能考虑1类被错分的代价,而无法区分被错分成2类和3类的代价的不同,因此,将把它作为无错分代价的分类问题来处理。Cost-MCPBoost,则可以区分错分成不同类的代价差异。表2数据表明,随着被错分成其他两类的代价差异越来越大(表的纵向来体现),Cost-MCPBoost的平均错分代价几乎不变,而Cost-UBoost的平均错分代价则成倍的增加。表2最后一行数据表明,当被错分成其他两类的代价相差10倍时,Cost-MCPBoost得到的平均错分代价比Cost-UBoost低近5倍。并且,比较纵向数据还发现,Cost-MCPBoost似乎对错分代价的增加并不敏感,这似乎难以理解。但详细分析发现,这一现象正好进一步说明了Cost-MCPBoost的科学性。表2的代价矩阵形如(a),按照这种代价矩阵,1类如果被错分,好的方法应该尽量让其错分到3类,因为始终有c(1,3)=1。同样,2类被错分也尽量错分到3类,因为c(2,3)=1,而错分到3类的代价始终没变,因此,错分代价也应该不变,表2数据表明Cost-MCPBoost可以做到这一点。而5倍的效果差异正是平均错分代价的差异,因为,尽管错分的两类的代价相差11倍(表的最后一行),但错分的平均代价则为(1+11)/(1+1)=6倍,相差5倍。
再来分析表3,其代价矩阵形如(b),按照上述分析,由于每一列的代价总和是一样的,因此要把错分类偏向于某个错分代价小的类就做不到了,向1类、2类或3类偏向,错分代价都会增加。表3数据表明,此时,Cost-MCPBoost与Cost-UBoost效果一样,组合分类器的错分代价随着各类错分代价增加而同步增加。
在表4-表6中,c(2,1)+c(2,2)+c(2,3)=2,即2类被错分的代价始终不变,而1类和3类的错分代价逐渐增加,其代价矩阵形如(c)-(e)。无论何种情况,实验数据表明,Cost-MCPBoost的效果与表2实验效果一样,能够把目标错分到代价小的类上。当代价变化时,Cost-UBoost则有不同结果。
对于表4,只有错分成2类的代价增加,即对应代价矩阵(c)只有第2列累积和增加。因此,Cost-UBoost通过错分代价来调整样本权值,可促使其集中在1类和3类的错分上(2类错分代价不变),于是可在1类和3类之间相互错分,但不错分为2类,这样,Cost-UBoost与Cost-MCPBoost的效果一样。对于表5,就做不到在1类和3类之间相互错分了,于是Cost-UBoost的错分代价将随着各类的错分代价增加而增加,但比表2对应的代价少一倍。对于表6,分类结果完全无法在1类和3类之间平衡,而2类错分代价小,1类和3类的错分代价大,于是Cost-UBoost得到的效果与表2实验结果一样,效果很差。
可见,在随机数据集上的实验表明,除了错分代价矩阵纵向代价和相等这种平衡错分代价情况,本发明方法均能得到很好的效果。在随机生产的3分类数据集上的实验还表明,当被错分成一类的代价是被错分成另一类的代价的n倍时,Cost-MCPBoost得到的平均错分代价是目前常用的Cost-UBoost方法的2/(n+1)倍,当n较大时,本发明提出的多分类代价敏感学习的分类器集成方法的优势特别明显。比较表2-表6多次实验后得到的错分代价的方差,数据表明Cost-MCPBoost比Cost-UBoost更稳定。
表7-表9是在Wine数据集上的实验,数据表明,当目标被错分,Cost-MCPBoost能够促使目标错分到代价小的类上。当代价都相等,即各表的第一行对应的实验,数据充分表明了本发明提出的一种多分类的连续AdaBoost集成学习方法是有效的。更进一步,即使代价矩阵纵向代价和一样,此时表7的数据也表明,Cost-MCPBoost比Cost-UBoost有本质的改进。
实施例四
下面结合图2说明本发明提供的一种过预测标签最少化Adaboost集成学习方法具体流程步骤,该方法包括如下步骤:
S1、获取训练样本集;
S2a、初始化样本权值并赋初值,
其中,i=1,...,m,l=1,...,K,Z
0是归一化因子,C
θ(i,l)表示过预测标签最少化时,i类被错分成l类的代价矩阵;
S3a、迭代T次后,训练得到T个最佳弱分类器,通过步骤S31a~S33a来实现:
S31a、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过步骤S311a~S313a来实现:
S311a、对应样本集S的划分,
计算
其中j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示划分段
内并标签集包含除标签l外的标签的样本的概率;S312a、定义弱分类器h
t(x),当
时,有
其中,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度;S313a、选取弱分类器h
t(x),使
最小,其中,Z
t代表样本权值调整后的归一化因子;
S32a、根据步骤S31a的结果来调整样本权值,
S33a、判断t是否小于T,若是,则令t=t+1,返回步骤S31a,若否,则进入步骤S4a;
S4a、组合T个最佳弱分类器得到最佳组合分类器,
其中
实施例五
下面结合图3说明本发明提供的一种欠预测标签最少化AdaBoost集成学习方法具体流程步骤,该方法包括如下步骤:
S1、获取训练样本集;
S2b、初始化样本权值并赋初值,
其中,i=1,...,m,l=1,...,K,Z
0是归一化因子,C
γ(i,l)表示欠预测标签最少化时,i类被错分成l类的代价矩阵;
S3b、迭代T次后,训练得到T个最佳弱分类器,通过步骤S31b~S33b来实现:
S31b、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过步骤S311b~S313b来实现:S311b、对应样本集S的划分
计算
其中,j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示划分段
内并标签集包含标签l的样本的概率;S312b、定义弱分类器h
t(x),当
时,
其中,j=1,...,n
t,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度;S313b、选取弱分类器h
t(x),使
最小化;
S32b、根据步骤S31b的结果来调整样本权值,
S33b、判断t是否小于T,若是,则令t=t+1,返回步骤S31b,若否,则进入步骤S4b;
S4b、组合T个最佳弱分类器得到最佳组合分类器,
其中
实施例六
下面结合图4说明本发明提供的一种多标签分类问题AdaBoost集成学习方法具体流程步骤,该方法包括如下步骤:
S1、获取训练样本集;
S2c、初始化样本权值并赋初值,
i=1,...,m,l=1,...,K,Z
0是
归一化因子;
S3c、迭代T次后,训练得到T个最佳弱分类器,通过步骤S31c~S33c来实现:
S31c、基于有权值
的训练样本集S训练弱分类器,t=1,...,T,通过步骤S311c~S313c来实现:S311c、对应样本集S的划分
计算
其中,j=1,...,n
t,l表示多分类问题中的类,x
i表示第i个样本,
表示划分段
内并标签集包含除标签l外的标签的样本的概率,
表示划分段
内并标签集包含标签l的样本的概率;S312c、定义弱分类器h
t(x),当
时,
其中,h
t(x,l)为弱分类器h
t(x)输出标签l的置信度,c
over和c
def为两个常数,c
over代表分类预测标签多于实际标签的单个标签代价,c
def代表分类预测标签少于实际标签的单个标签代价,且c
over+c
def=1;S313c、选取弱分类器h
t(x),使
最小化,其中,
S32c、根据步骤S31c的结果来调整样本权值,
其中,
表示第t+1轮循环时,x
i的标签集不含l的概率,
表示第t+1轮循环时,x
i的标签集含l的概率;
S33c、判断t是否小于T,若是,则令t=t+1,返回步骤S31c,若否,则进入步骤S4c;
S4c、组合T个最佳弱分类器得到最佳组合分类器,
其中
本发明方法不仅考虑了组合分类器分类错误率最小化,而且能区分组合分类器输出标签多于实际标签和少于实际标签,通过调整cover和cdef的值可选择学习方法的侧重点。当cover=1,cdef=0,本发明方法简化为εθ极小化的集成学习方法,即过预测标签最少化Adaboos t集成学习方法;当cover=0,cdef=1,该方法简化为εγ极小化的集成学习方法,即欠预测标签最少化AdaBoost集成学习方法。
以上介绍了一种多分类代价敏感学习的分类器集成方法,以及利用该方法实现的一种多分类连续AdaBoost集成学习方法、一种过预测标签最少化Adaboost集成学习方法、一种欠预测标签最少化AdaBoost集成学习方法和一种多标签分类问题AdaBoost集成学习方法。本发明并不限定于以上实施例,任何未脱离本发明技术方案,即仅仅对其进行本领域普通技术人员所知悉的改进或变更,均属于本发明的保护范围之内。