数据驱动分类器

2024-06-08

数据驱动分类器(精选四篇)

数据驱动分类器 篇1

传统的单分类器算法对于草药数据的分类应用有很多, 但是每个单分类器算法对于不同的草药数据的分类性能不同, 都有一定的偏向, 研究人员开始尝试用组合分类器的方式来弥补单分类器算法的缺点, 从而提高传统单分类器的分类性能。本实验用目前应用广泛的adaboost M1算法, 与在WEKA平台中的一种单分类器算法classificationviaregression进行比较, 验证组合分类器算法的分类性能是否比单分类器算法的好。本文首先在wek平台上用两种分类器算法对草药数据集进行分类, 然后再对这两种算法的分类精度进行对比, 实验表明:在实验数据集为输入样本集的情况下, Adaboost M1算法的分类精度比较高。

二、Ada Boost算法介绍

Ada Boost M1[1]算法:输入.训练样本集S〈 (x1, y1) … (x m, ym) 〉。迭代次数T, 弱分类器Weak Learn。

初始化:样本权值, wi1=D (i) , i=1, …, m

(1) for t=1, ……, T

(2) 产生分布

(3) 基于分布pt调用Weak Learn, 得到假设:ht:X→[0, 1]

(4) 计算假设ht的错误率:

(5) 计算

(6) 更新

(7) end

输出.

当时Hf (x) 为1, 否则Hf (x) 为0。

三、在Weka上用Ada Boost算法及几种单分类算法对草药数据进行分类

本文所进行的实验在Weka3-7-1平台上完成, 用三种草药三七、人参、西洋参的指纹图谱数据作为实验的数据集。采用对输入的数据集5重交叉验证的方式, 取其分类精度为分类性能, 分类精度越高表示分类效果越好。

classificationviaregression的参数设置如下:

基分类器为decisionstump, 其他的为默认参数设置。

Adaboost M1的参数设置如下:

基分类器为decisionstump, numiteration为10, seed为1, weight Thresold为100。

之后执行RUN界面的START指令, 再进入ANAL-YSE界面载入文件选择分析分类精度, 可得到这些算法的平均分类精度如表1所示。

四、实验结果与分析

从表1可以看出, 在实验的中草药数据集中, Ada Boost M1算法的分类精度大于classificationviaregression算法的分类精度。

五、结论

综上所述, 在中草药分类领域, 在与classificaitnoviaregression算法比较下, 可以利用Ada Boost M1算法来提高传统分类器算法的分类精度, 使用Ada Boost M1算法来进行草药数据集的分类以达到高的精度。

参考文献

数据驱动分类器 篇2

K-均值分类器、迭代自组织数据分类器和自组织特征映射神经网络分类器在遥感图像分类方面应用广泛。王晓军等人将非监督K-均值分类用在合成孔径雷达SAR图像各极化通道上进行参数估计[1]。包健等人将K-均值算法用于高光谱遥感影像的非监督分类中,具有较强的实用性[2]。贾明明等人选取对气候变化敏感的澳大利亚作为研究区。利用了ISODATA分类结果、NDVI阈值及其时间序列主成分分析特征量对研究区土地利用/覆被进行分类[3]。李正金等人进行了基于TM卫星遥感技术和小麦估产模型的冬小麦产量监测研究,采用优化的ISODATA分类方法,结合人机交互式判读解译作物信息[4]。夏浩铭等提取地物在空间上的联系,利用神经网络分类,获得较好的地物分类精度[5]。文章阐述了三种分类器的工作原理,分析了三种分类器的计算复杂度和分类效果。

1 K-均值分类器

基本K-均值思想很简单。首先,选择k个初始聚类中心,其中k是目标分类数目。每个样本按照距离函数计算与所有聚类中心的距离,样本加入到与之距离最短的聚类中心所在分组。新样本加入后,更新该分组的聚类中心。重复训练和更新,直到每类的聚类中心不发生变化为止。当分类数目已知时,利用K-均值分类方法能够方便地计算出样本聚类中心。但是在实际应用中,分类数目可能无法估算,这在一定程度上限制了这种方法的应用。

K-均值算法特点是每次调整样本后,修改一次聚合中心和准则值,当考察完n个样本后,一次迭代运算完成,新的聚合中心和准则值也计算出来。在迭代过程中,准则值逐渐减小,直到它的最小值为止。如果在一次迭代前后,准则值没有变化,说明算法已经收敛。

2 ISODATA分类器

ISODATA算法通过对样本迭代来确定聚类的中心。每一次迭代时,首先是在不改变类别数目的情况下改变分类。然后将样本平均矢量之差小于某一阈值的类别合并起来,根据样本协方差矩阵来决定其分裂与否。主要环节是聚类、集群分裂和集群合并等处理。

ISODATA分类算法最优迭代次数很难设定,一般遥感图像的数据量大,若迭代误差取值较小,分类也很难实现。沈照庆等人[6]以某次迭代中“合并”和“分裂”都为零为求最优分类数的迭代条件,而不是预先设定迭代次数;取最大和最小隶属度取代每一个隶属度为比对特征值,提高了分类速度和精度;利用等效转换研究隶属度矩阵的迭代误差变化规律,得出变化速度趋于稳定时为求解最优隶属度矩阵的智能迭代控制,减少人为事先干预。

3 SOFM神经网络分类器

神经网络由被称作神经元的相互连接处理单元组成。自组织特征映射(Self-Organizing Feature Map,简称SOFM)网络模拟大脑的神经系统自组织特征映射的功能,在学习过程中不需要指导,进行自组织学习。SOFM网络可用于图像压缩、语言识别、机器学习和优化问题等。

训练SOFM网络时首先初始化连接权重为小的随机数,训练开始后,输入向量送入网络。每输入一个样本矢量,各神经元的加权和中必然有一个最大值,经过侧反馈作用,在最大值点周围连接权重自适应调节。SOFM网络已经证明,网络通过反复学习输入模式,可使连接加权矢量空间分布密度与输入模式的概率分布趋于一致,也就是连接权矢量空间分布能反应输入模式的统计特征。训练好的网络在竞争层产生了一个或几个最大输出,它们在竞争层中的位置反映了输入向量在自身空间的特征。

4 实验结果分析

实验选取2003年青岛市一景SPOT5图像作为数据源,截取城乡结合部某地作为实验区域,实验区域在红波波段显示为图1 (a)。对于实验区的遥感图像分别采用上述分类器进行地物分类实验。

用ENVI 4.3的分类功能根据K-均值算法分类。参数设置为:分类数量15(一般为最终输出分类数的2-3倍),最大迭代次数为40(默认是15),其它参数取默认值。K-均值关注的是不同波段的灰度信息,系统自动分类时,得到的分类数目为八类,结果如图1 (b)所示。从分类结果上可以看出,K-均值分类算法对水体的分类效果较好,水体用红色表示,不但能分出主河道而且显示出在耕地中有一条灌溉沟渠。绿地在分类图中用绿色表示,图上中部的绿地分类正确,但在河道附近,部分耕地错分为绿地了。耕地被分为蓝色、黄色和暗绿色三类。反射系数高的南北方向道路和屋顶较亮的厂房被归为一类,东西走向的道路两边毛刺现象严重。建筑物错分率也较高。

在ENVI 4.3环境下,利用ISODATA算法分类。参数设置为:类别数范围[5,6](一般最小数量不能小于最终分类数,最大数量为最终分类数量的2-3倍),最大迭代次数为40(默认是15),其它参数取默认值,结果见图1 (c)。从分类结果上看,ISODATA分类算法对灰度值一致性好的水体分类效果较好,水体用红色表示。能区分出主河道而且显示出在耕地中有一条灌溉沟渠,但将图像下方,靠近南北走向的道路的一间面积较大的厂房错分为水体。绿地在分类图中用绿色表示,图上中部的绿地分类正确较好,但在河道附近,相当一部分耕地错分为绿地了。耕地分类效果表较好,但有部分错分为绿地。东西走向的道路线条比较连贯,两边有点毛刺现象,但不严重。裸露的空地用粉红色表示,居民区是暗绿色,部分工厂厂房的屋顶错分为水体。

SOFM网络利用MATLAB中的神经网络工具箱实现。设定SOFM网络的输入矢量各维的数据范围是像素灰度在[1]之间,邻域像素卷积[25, 800]之间,学习率为0.9,距离函数是欧氏距离函数,训练步长是5000。输入训练样本,每类500个,5类共2500个样本,距离为5类,每类表征一种地物类型。网络对类型的定义储存在训练网络中。利用训练好的网络对实验图像所有像元进行分类。分类结果用灰度图像表示,像素的颜色代表分类的类型,像素的位置对于测试图像同位置的地物,如图1 (d)所示。白色表示道路,浅灰表示建筑物,灰色表示绿地,深灰表示耕地,黑色表示水体。从分类结果图上看,纵横贯穿郊区的主干道和楼区内的道路基本能够正确分类。由于反射系数与道路相近,工厂厂房的屋顶也被错分为道路。建筑物、耕地和绿地总体上分类正确。水体的分类结果令人满意,主水道和灌溉的沟渠都能清楚地分出。分类器处理样本图像的时间接近,都是20分钟左右。

5 总结

K-均值分类中耕地被分三类,道路两边毛刺现象严重,建筑物错分率也较高,分类效果最差。SOFM网络对道路、水体、耕地和绿地总体上分类正确,分类正确率最高。ISODATA分类对水体、耕地、道路分类基本正确,建筑物错分较多。

参考文献

[1]王晓军, 王鹤磊, 李连华, 孟藏珍, 马宁.基于C均值分类的极化SAR图像白化斑点滤波方法[J].系统工程与电子技术, 2008, 30 (12) :2389-2392.

[2]包健, 厉小润.K均值算法实现遥感图像的非监督分类.机电工程, 2008, 25 (3) :77-80.

[3]贾明明, 刘殿伟, 宋开山, 王宗明, 姜广甲, 杜嘉, 曾丽红.基于MODIS时序数据的澳大利亚土地利用/覆被分类与验证.遥感技术与应用, 2010, 25 (3) :379-386.

[4]李正金, 李卫国, 申双.基于ISODATA法的冬小麦产量分级监测预报.遥感应用, 2009, 8:30-32.

[5]夏浩铭, 罗金辉, 雷利元, 毕远溥.辅以纹理和BP神经网络的TM遥感影像分类.地理空间信息, 2012, 10 (1) :33-36.

数据驱动分类器 篇3

本文的基本思想, 是通过建立相反分类器使分类算法可以从错误中学习。当一个分类器的期望分类精度较低时, 不是简单放弃该分类器而应建立并验证其相反分类器。当相反分类器和现有概念一致时, 通过更新组合分类器, 就有可能提高组合分类器的分类精度[1]。

定义1相反分类器:一个分类器用C来表示, 对于一个实例X, C (X) =ci, ci∈c, 则分类器C的相反分类器记为, 其中X) =c′i, c′i≠ci, c′i∈c。特别当c=[0, 1]时, 分类器C的相反分类器是

图1中的直线表示目标概念1。图2是分类器C1的相反分类器。图3是目标概念2以及对应的分类器C2。数据流中经常面临概念变化的情况, 当概念由1变化到2时, 用分类器C1去分类, 实际上由概念2决定的实例, 就会出现很大的错误率。此时Weighted Bagging方法就会舍弃分类器C1, 而逐步训练新的分类器以适应概念2。从而会导致分类器收敛速度下降和分类器C1中信息的浪费。而分类器C1的相反分类器却和概念2比较接近, 可以先用去分类概念2标记的实例, 等得到与概念2更近似的高精度分类器时再替换分类器。判断一个分类器的相反分类器是否与最近的概念相近, 必须计算它的期望预测错误率, 只有该相反分类器的分类能力较高时, 才将它加入集合中更新组合分类器。

当数据流逐步流入时, 到来的数据被分成数据段S1, S2, , …, Sn, …, 其中凡是最近时间步到来的数据段。记每个段的大小为Chunk Size, 在每个数据段上训练分类器C1, 组成一个分类器集合。为了对每个分类器进行准确度赋权, 可在测试数据集上计算它的期望预测错误率。如果假设最近的训练数据段和测试集合的类分布非常近似, 则分类器的准确率赋权可以通过在Sn上的分类错误率近似得到。具体来说, 一个分类器C在Sn上的平均平方错误率可定义为:

其中:S n中的每个实例具有形式 (X, ci) , X表示一个实例, Ci是该实例的类标号;fC (X) 是分类器C计算得出的实例X属于类Ci的概率Ci∈c (Sn) 是凡中实例的类标记的集合。分类器C的权应该和平均平方错误率成反比。

另一方面, 当用一个随机分类器来分类数据段Sn时, 它的平均平方错误率为:

当一个分类器的权为负时, 表示该分类器的分类精度比一个随机分类器的精度还要差, 所以Weight Bagging会放弃权为负的所有分类器, 这也反映了该分类器的相反分类器与当前的概念比较接近, 如果这个相反分类器的精度较高, 就可以帮助改进分类的精度。

2 IWB (Improved Weighted Bagging) 算法

推进和装袋是两种经常使用的产生组合分类器的方法, 而推进方法要求对数据点进行重新赋权和对噪音敏感, 因此本文中使用装袋方法来产生组合分类器。[2]

输入:S//数据流中新到来的Chunk Size个点构成的集合

Ec//K个预先训练的分类器组成的集合

K//Ec中的分类器数目的最大值

输出:Ec//分类器的集合, 其中每个元素是一个分类器及其权

算法1是挖掘概念漂移的数据流组合分类器算法。在每一个时间步, 一个新的数据段到达时, 首先在这个数据段上训练一个分类器, 其次在这个数据段上使用基于交叉验证的方法来评价这个分类器, 最后根据公式更新集合中其它基础分类器的权。如果某个基础分类器的权小于0, 就计算其相反分类器, 并在这个数据段上进行评价。只有当相反分类器的权大于0时, 它才被加入集合中。算法最终返回这个集合中权最高的k个分类器。

在预测测试实例的类标号时, 使用集合中所有权大于0的分类器进行赋权投票来决定最终的类标号。

3实验验证

为了验证我们的算法, 首先在STAG-GER概念上和Weighted Bagging方法进行比较。在STAGGER概念中, 每个实例有三个属性值color∈{green, blue, red}, shape∈{triangle, circle, rectangle}和size∈{small, medium, large}。练实例陆续在120个时间点上到达, 在每个时间点, 学习器接收到一个实例[3]。在前40个时间点上, 目标概念是color=red∧size=small接下来的4 0个时间点, 目标概念是size=medium∨shape=cicle, 在最后的40个时间点上目标概念是。为了评价学习器, 在每个时间点上随机地产生100个测试实例, 这100个实例是以当前时间的目标概念标记的。每学习一个新的训练实例后, 用集合中的分类器在相应的100个测试实例上计算正确预测的百分比。在整个的实验中, 重复这个过程50次, 取其平均值。组合分类器中的每个分类器都是采用决策树分类器C4.5。

每当概念发生变化, Weighted Bagging算法重复出现突然地准确度降低。而在概念发生漂移的时候, IWB算法具有更快的收敛到目标函数的能力。不仅在发生概念漂移的时候, 预测的精度下降比较低, 而且收敛到新的目标概念的速度比较快, 更重要的是随着时间的推移, IWB的学习能力越来越强。在时间步240后, 预测的精度不再随着概念的变化而出现突然降低, 一直保持较平稳的预测精度, 预测错误率应该和概念漂移的数目不相关。

4结语

本文定义了相反分类器, 设计并实现了基于相反分类器的组合分类器算法IWB。在基准数据集和移动的超平面数据集上进行了检验。实验结果表明, IWB算法比Weighted Bagging方法在遇到概念漂移的时候具有更快的收敛到目标函数的能力并具有更高的精度。

摘要:本文提出了基于组合分类器的IWB算法, 定义了相反分类器。通过使用相反分类器, 在遇到突然的概念漂移时, IWB算法可以从错误中学习, 具有更快地收敛到新的目标概念的能力, 而当概念稳定时没有大的波动。

关键词:相反分类器,IWB算法,数据流

参考文献

[1]高宏宾, 张小彬, 杨海振.一种实时挖掘数据流近似频繁项的算法[J].计算机应用, 2008 (12) .

[2]Wei Fan.Systematic data selection to Mine Concept-Drifting Data Streams.In proceeding of the conference KDD, 2004:128~137.

数据驱动分类器 篇4

分类方法已经被广泛应用在预测领域,但大多数的分类方法都要求各种类型的数据具有较为均匀的分布。若一种类型的数据与另一种类型的数据严重不均衡,少数类数据就有可能被当作噪声处理掉。现实世界中的数据集却往往呈现不均衡分布的特点,即其中一种类型的数据占绝大多数,另一种类型的数据只有为数不多的几个样本。然而,在一些特殊的情况下这些少数类样本却是人们更加关注的。例如,医生需要关注罕见疾病的诊断,银行信用卡中心需要辨别少数欺诈用户,电信运营商需要辨别少数缺乏信用恶意欠费的用户等等。

由于数量上的严重偏斜,运用常见的分类算法对非平衡数据集进行分类的性能不尽如人意,因为当对非平衡数据集进行训练时,其训练算法通常对多数类样本会产生很高的预测准确率,但是对少数类样本的预测准确性却很差。解决非均衡数据集分类难题的途径,可以粗略地分为两个方向: 一个方向是对数据进行采样处理; 另一个方向是算法设计。数据采样处理又进一步分为两种方法:一种是减少多数法(under-sampling),即减少多数类样本的数量[1,2]; 另一种是增加少数法(over-sampling),即通过复制或插值等方法增加少数类样本的数量[3]。算法设计则主要以线性Logistic回归(LLReg)、决策树(DT)、多层感知器神经网络(NN)、贝叶斯网络(Bnet)、多项Logistic回归、支持向量机(SVM)以和AdaBoost推进算法等为基础,适当予以修正,以尽量适应数据不均衡的特征[4]。

近年来,机器学习领域的一个重要进展是集成的办法,即通过集成多个精度不是很高的分类器来提高整体分类预测的精度。目前,主要运用Boosting和Bagging两种技术构建集成分类器。AdaBoost是一种最常见的Boosting方法, 在每次迭代中, 增加没有正确分类样本的权值, 减少正确分类样本的权值,更加关注于分类错误的样本。因少数类样本更容易被错误分类, 所以有理由相信该方法能够改进对少数类的预测性能。SMOTE技术(synthetic minority over-sampling technique)是非均衡数据集学习的一种新办法, 通过对少数类样本的人工合成提高少数类样本的比例, 降低数据的过度偏斜。SMOTE技术与AdaBoost结合,可有效避免由于赋予少数类样本更大权值而可能产生的过度拟合。SVM具有较强的泛化能力,以RBF为核参数的SVM,只需选择Cσ两个参数,并且选择一个大体合适的C后,通过调节σ,即可改善向量机的性能。

本文将以SVM作为弱分类器,并将SMOTE技术嵌入AdaBoost算法中, 建立非均衡数据集分类模型。研究结果表明:SMOTEBoostSVM集成分类器比单纯运用SMOTE技术、AdaBoost算法、SVM等的分类器,在非均衡数据集的分类预测中具有更好的效果。

2 算法模型

2.1 AdaBoost分类器

AdaBoost算法[5]的基本思想是通过训练一组分量分类器,将多个弱分类器集成为一个强分类器。在训练过程中,每个训练样本被赋予一个初始权值,当一个弱分类器训练完成后,根据其在训练集上的分类结果对所有的样本权值进行调整,使得下一次训练的弱分类器更关注那些被识别错误的样本。最后的强分类器的判决结果是所有弱分类器判决结果的加权和。AdaBoost算法的基本流程为:

(1)输入:标定的训练样本集,(x1,y1),(x2,y2),…,(xm,ym),其中:xiX,yiY={-1,+1};

(2)对样本权值进行初始化,w1(i)=1/m;

(3)循环t=1,2,…,T;

①在加权训练样本集上用弱学习算法训练弱分类器Ct得到ht,或训练使用按照wt(i)采样的弱分类器Ct得到ht;

②计算Ct的训练误差εt:εt=ht(xi)yiwt(i);

③求弱分类器Ct的权值:αt=12ln1-εtεt;

④更新训练样本的权值:

wt+1=wt(i)exp(αtyihi(xi))Ζt=wt(i)Ζt{e-αt,eαt,ht(xi)=yiht(xi)y

其中:Zt为归一化因子,即Ζt=iwt(i)e-αtyiht(xi)

(4)输出:最后的强分器Η(x)=sign(t=1Ταtht(x))

2.2 SMOTE增加少数样本法

增加少数样本法是通过增加数据集中少数类样本的办法,降低类别之间分布的不平衡程度。早期的增加少数法是直接复制少数类样本,以增加其数量。DeRouin等通过神经网络技术, 用仿制取代复制, 以期减少少数类信息的缺失。Chawla则沿用仿制的思路, 提出了少数类信息的仿制技术SMOTE(synthetic minority over-sampling technique)[6]。

设少数类的样本数为T,增加样本后样本增长n倍,最近邻点数为k,SMOTE方法主要处理步骤如下:

(1)计算数据集中每个少数类别的k个最近多数类邻点;

(2)随机抽出少数类样本ik个最近多数类邻点中的一个多数类样本j;

(3)计算少数类样本i与最近多数类邻点样本j的全部属性差值dif:

dif=nnsample[j][attr]-sample[i][attr]

其中:nnsample[][]指最近的多数类邻居样本,sample[][]指少数类样本。

(4)产生一个介于0与1之间的随机数;

(5)生成少数类的合成样本Synthetic[l][attr]:

Synthetic[l][attr]=sample[i][attr]+gapdif

(6) 重复步骤(2)~(5),直至产生少数类样本i合成n倍个样本为止;

重复步骤(2)~(6),直至所有少数类样本均处理完毕为止。

2.3 支持向量机

支持向量机(support vector machine,SVM)是在统计学习理论基础上发展起来的新型通用分类和回归工具,较好地解决了小样本、非线性、高维数、局部极小点等实际问题,已在模式识别、信号处理、函数逼近等领域得到了较好应用,但是当应用于一种类型数据远多于另一种类型数据的非平衡数据集时,对于少数类的分析性能会急剧下降,分析其原因,主要包括:一是少数类点远离理想分界面,造成训练出的分界面向少数类偏斜;二是非平衡的支持向量比率,使得接近于边界的点更可能被归为多数类[7]。因此,要提高支持向量机对非平衡数据集的分类性能,可从平衡数据和向多数类方向推动分界面着手。

对于一个给定的训练数据集(xi,yi), i=1,2,…,n, xiRd, yiR, 其中n为样本总数, dR空间维数。给定一核函数K,支持向量机通过训练为每一个xi搜索最优的αi,使得分界面与最接近分界面的点之间的距离γ最大。对测试点通过式予以判别分类:

sign(f(x)=i=1nyiαiΚ(x,xi)+b)(1)

其中: b为常数阈值。1-范数软边际支持向量机以最小化下列Lagrangian函数予以修正:

Lp=w22+Ci=1nξi-i=1nαi[yi(wix+b-1+ξi)]-i=1nriξi(2)

其中:αi≥0,并且ri≥0,惩罚系数C代表着误差与边际之间的一个折衷[8]。为满足KKT条件,还须满足:

i=1nαiyi=00αiC(3)

2.4 SMOTEBoostSVM集成算法

本文提出的SMOTEBoostSVM集成算法的基本思想是:先运用SMOTE技术合成少数类样本,改善数据的偏斜状况,然后用AdaBoost算法集成多个SVM分类器,从而达到非均衡数据集上更好的分类效果与模型泛化能力。SVM常以RBF为核函数,只需确定Cσ两个参数,并且根据文献[9]可知,尽管当C值过小时,难以训练出好的RBFSVM,但当给出一个大致合适的C值后,训练效果将决定于σ.因此,本文选择RBFSVM作为弱分类器,一方面可简化模型参数的选择; 另一方面,仅调节σ,可实现AdaBoost算法在分类器分类精度与差异性之间的合理平衡。算法的具体流程如下:

(1)输入:标定的训练样本集,(x1,y1),(x2,y2),…,(xm,ym),其中:xiX,yiY={-1,+1};RBFSVM的参数σ初始值σini,σ的最小值σmin,以及步长σstep;最大循环次数T;

(2)对样本权值进行初始化,w1(i)=1/m;

(3)当σ>σmin且t<T时循环:

① 用SMOTE算法生成N个少数类样本;

② 在加权训练样本集上用RBFSVM算法训练弱分类器Ct得到ht;

③ 计算Ct的训练误差εt:εt=ht(xi)yiwt(i);

④ 如果εt>0.5,令σ=σ-σstep,t=1,返回至②;

⑤ 求弱分类器Ct的权值:αt=12ln1-εtεt;

⑥ 更新训练样本的权值:

wt+1=wt(i)exp(αtyihi(xi))Ζt=wt(i)Ζt{e-αt,eαt,ht(xi)=yiht(xi)y

⑦ 令t=t+1。

(4)输出:最后的强分器Η(x)=sign(tαtht(x))

3 实例分析

3.1 实验数据

本文使用2组数据对算法进行检验, 并与SVM、AdaBoost、SMOTE方法进行比较。这2组数据皆来源于UCI机器学习数据库,数据的特征信息见表1,数据集名称后的数字表示选择作为少数类的类型代码。

3.2 评估指标

评价分类器性能最直接的办法是基于混淆矩阵的分析。表2列示了二类分类问题的混淆矩阵。通过该矩阵,可能定义常用的错分率、正确率等指标,即:错分率Err=B+CA+B+C+D,正确率Acc=A+DA+B+C+D=1-Err。但是,由于非均衡数据集的特性,使用上述两个指标(实质上是一个指标)评价分类器的性能并不合适。例如,如果少数类与多数类的比率达到1∶99,那么,即使将所有未知类型的数据归为多数类,那么分类准确率即可达到99%以上,而这样的评价指标对于少数类的分类而言没有任何意义。因此,对非均衡数据集的分类通常引入以下几个指标:

少数类正确率:TP=Pr{predicted P|actuallyΡ}=AA+B

多数类正确率:TN=Pr{predicted N|actuallyΝ}=DC+D

几何平均正确率:g=ΤΡΤΝ

精确率(Precision,p):p=AA+C

召回率(Recall,r):r=ΤΡ=AA+B

F-measure:f=2prp+r

3.3 结果评价

对Abalone数据集,以第19类作为少数类,其余类型统归为多数类,分别运用SVM、AdaBoost、SMOTE-Boost以及本文提出的SMOTEBoostSVM方法,以前3177点数据进行训练,对后1000点数据进行预测,实验结果如表3所示。

对Letter-recognition数据集,以第26类作为少数类,其余类型统归为多数类,分别运用SVM、AdaBoost、SMOTE-Boost以及本文提出的SMOTEBoostSVM方法,以前18000点数据进行训练,对后2000点数据进行预测,实验结果如表4所示。

实验结果表明:运用本文提出的SMOTEBoostSVM算法,能够在运用SMOTE技术人工合成少数类样本,以及AdaBoost算法增加分类错分样本权重,提高少数类样本预测精确性的同时,借助支持向量机的强泛化能力,能够减少、甚至可不损害对多数类的预测精度,可明显地改善非均衡数据集的分类性能。

4 结语

为解决非均衡数据集训练中易出现的偏斜问题, 提高模型的分类预测精度, 支持向量机、 SMOTE技术、 AdaBoost算法等都具有一定的效果,但目前研究方法的趋势是各种方法的集成。本文将上述几种方法加以集成,提出了SMOTEBoostSVM集成算法, 该算法集成了SMOTE技术、AdaBoost算法,并以SVM为弱分类器。实验结果表明该方法能够有效改进对非均衡数据集分类问题的预测效果。

摘要:在对实际问题进行数据挖掘时面临的多数是非均衡数据集,即各种类型的数据分布并不均匀,且关注的类型常是少数类。运用含有少量少数类型事例的数据集训练后的模型进行预测时,通常对多数类的预测精度很高,而少数类的预测精确性却很差。提出了一种集成方法SMOTEBoostSVM,通过SMOTE技术人工生成增加少数类样本量,以具有较强分类性能和泛化性能的SVM作为弱分类器,并以AdaBoost算法构建集成分类器。实验结果表明,SMOTEBoostSVM集成分类器比单纯运用SMOTE技术、AdaBoost算法以及SVM等的分类器,在非均衡数据集的分类预测中具有更好的效果。

关键词:SMOTE,AdaBoost,支持向量机,非平衡数据集

参考文献

[1]Kubat M,Holte R C,Stan M.Machine learningfor the detection of oil spills in satellite radar im-ages[J].Machine Learning,1998,30(2):195~215.

[2]Randall W D,Martinez T R.Reduction techniquesfor instance-based learning algorithms[J].MachineLearning,2000,38(3):257~286.

[3]Guo H Y,Viktor H L.Learning from imbalanceddata sets with boosting and data generation:the da-ta boost-IM approach[J].SIGKDD Explorations,2004,6(1):30~39.

[4]Daskalaki Sophia,et al.Evaluation of classifiers foran uneven class distribution problem[J].AppliedArtificial Intelligence,2006,20(5):381~417.

[5]Yoav F,et al.A short introduction to boosting[J].Journal of Japanese Society for Artificial intelli-gence,1999,14(5):771~780.

[6]Chawla N,et al.SMOTE:synthetic minority over-sampling Technique[J].Journal of Artificial Intel-ligence Research,2002,16:321~357.

[7]Wu G,Chang E Y.Class-boundary alignment forimbalanced dataset learning[A].ICML 2003 Work-shop on Learning from Imbalanced Data Sets II[C].Washington,D.C.,2003.

[8] Cristianini N, Shawe-Taylor J. An introduction to support vector machines and other kernel-based learning methods[M]. Cambridge,UK:Cambridge University Press,2000.

上一篇:信息运维流程下一篇:行政补偿的程序