一种基于结构化svm的不平衡评估准则的直接优化算法

文档序号:10656158阅读:299来源:国知局
一种基于结构化svm的不平衡评估准则的直接优化算法
【专利摘要】本发明公开了一种基于结构化SVM的不平衡评估准则的直接优化算法,其特征是按如下步骤进行:1、选定数据集,并对数据集中的所有训练样本进行先正后负排序;2、定义基于结构化SVM框架的目标函数;3、根据所述损失函数分别定义面向不平衡评估准则的损失函数以及关联函数ψ(x,y);4、初始化所述权衡参数C和错误允许值ε;5、利用割平面算法对所述目标函数进行迭代求解,得到基于机构化SVM框架的目标函数。本发明提高了少数类的分类精度,能应用于不平衡数据的分类。
【专利说明】
-种基于结构化SVM的不平衡评估准则的直接优化算法
技术领域
[0001 ]本发明设及统计学习分类技术领域,更具体地说是一种基于结构化SVM的不平衡 评估准则的直接优化算法。
【背景技术】
[0002] 随着数据时代的到来,信息技术的日新月异,人们在日常的生活生产和经营过程 中都会不断地产生海量的数据信息,而在运些数据中,蕴含着对人们具有重大意义的数据 信息,但是在运样的海量数据中往往只存在一小部分信息是我们真正需要分析和处理的。
[0003] 在实际的生活中也有许多重要的应用。例如在日常生活中使用的手机电脑,每天 都会给电信运营商提供大量的生活数据,运营商可W通过分析运些海量数据中的有效信息 得到不同用户的喜好,根据不同人的使用推出合适的业务;又如,在现在的网络时代,每个 人都会拥有信用卡,同时也会产生少数的信用卡欺诈。但是在信用卡欺诈领域,大多数的信 用卡客户并没有欺诈现象,但是存在的少数欺诈却造成了严重的影响,扰乱了正常的社会 秩序;再如,人们经常遇到的在医疗诊断领域等。
[0004] 基于不平衡数据集的二分类学习在众多领域中有着重要应用,因此引起了大量相 关科研工作者的关注,在运样的背景下,主要集中关注了不平衡数据集上的二分类学习算 法,而目前国内外针对不平衡二分类的研究主要可W归纳为两大类:面向数据的改进算法 和面向算法的改进。其中面向数据的改进算法研究主要是通过采样技术(Sample Technique)对数据集进行预处理从而改变原有的数据分布,减少不平衡程度进而使得数据 集的分布更加均衡,甚至改变为平衡的数据集;面向算法的改进是通过对算法本身的修改, 使得算法在不平衡数据集上有着更好的表现。
[0005] 面对不平衡数据集的学习问题,研究的困难主要来自于不平衡数据本身的特点: 不平衡数据集中的少数类样本不足,样本的分布并不能很好的反映整个类的实际分布;多 数类通常会夹杂噪声数据,使得两类样本往往会出现不同程度的重叠。传统的机器学习领 域的分类方法,在直接应用与不平衡数据的分类问题时,容易对少数类的样本错分,使得少 数类的分类准确率非常低。

【发明内容】

[0006] 本发明是为避免上述现有技术所存在的不足之处,提供一种基于结构化SVM的不 平衡评估准则的直接优化算法,W期能提高分类器对少数类的分类精度,从而能应用于不 平衡数据的分类。
[0007] 为了达到上述目的,本发明所采用的技术方案为:
[000引本发明一种基于结构化SVM的不平衡评估准则的直接优化算法的特点是按如下过 程进行:
[0009] 步骤1、假设存在一个不平衡数据集,记为j
Xi表示第i个训练样本,Xi GRd;Rd表示实数的d维空间;y康示第i个训练样本所对应的类标签,且yiG{+l,-l};当yi = +1,表示第i个训练样本Xi为正样本,当yi = -1,表示第i个训练样本Xi为负样本;I《i《n;
[0010] 对所述不平衡数据集D中的所有训练样本进行先正后负排序,使得所有正样本处 于所述不平衡数据集D的前部分,所有负样本处于所述不平衡数据集D的后部分,从而形成 排序后的不平衡数据集〇/ ={(x,y)};x表示训练样本队列,y表示类标签队列,且
种表示第 P个正样本,冷表示第q个负样本,表示第P个正样本4所对应的类标签,.Vws表示第q个正 样本所对应的类标签;l《P《P〇s,l《q《neg,pos+neg = n;
[0011] 步骤2、定义如式(1)所示的基于结构化SVM框架的目标函数:
[001 ^
(1)
[0013] 式(1)中,WGRd为参数向量,C为权衡参数,C为凸损失函数的上界,并有:
[0014]
(2)
[001引式(1)和式(2)中,果为预测输出的类标签队列,,巧为损失函数,当类标签队列 y和预测输出的类标签队列歹相同时,4
当类标签队列y和预测输出的类标签队 列歹不相同时,令AGv孙>0;:iKx,y)表示输入的训练样本队列X和类标签队列y的关联函 数;巧表示输入的训练样本队列X和预测输出的类标签队列J的关联函数;Y表示类标 签队列空间;
[0016] 步骤3、根据所述损失函数A〇',巧,分别定义面向不平衡评估准则的损失函数 於W及所述训练样本队列X和类标签队列y的关联函数iKx,y);
[0017] 步骤4、定义错误允许值为e,并初始化所述权衡参数C和错误允许值e ;
[0018] 步骤5、利用割平面算法对所述目标函数进行迭代求解,得到基于机构化SVM框架 的目标函数。
[0019] 本发明所述的基于结构化SVM的不平衡评估准则的直接优化算法的特点也在于,
[0020] 所述步骤3是按如下过程进行:
[0021] 步骤3.1、利用式(3)定义损失函数Acww b,歹):
[0022]
(3}
[0023] 式(3)中,巧表示预测输出的类标签队列J中第i个类标签;
[0024] 步骤3.2、利用式(4)定义训练样本队列X和类标签队列y的映射函数iKx,y):
[0025]
(4)
[0026] 所述割平面算法是按如下步骤进行:
[0027] 步骤5.1、定义迭代次数m,并初始化m = 0;定义工作集为W,并初始化第m次迭代的 工作集Wm为空集;
[0028] 步骤5.2、对式(5)所示的目标函数进行训练,得到在第m次迭代的工作集Wm下的参 数向量Wm和凸上界训练损失U
[0029]
口)
[0030] 步骤5.3、对式(6)所示的最大最违约目标函数进行训练,得到在第m次迭代的工作 集Wm下的最大最违约类标签队列九,:
[0031]
(6)
[0032] 步骤5.4、将第m次迭代的工作集Wm下的最大最违约类标签队列知加入到所述第m 次迭代的工作集Wm中,从而获得第m+1次迭代的工作集Wm+l;
[0033] 步骤5.5、利用式(7)进行判断,若式(7)成立,则输出第m次迭代的参数向量的转置 ,从而得到基于结构化SVM框架的目标函数;否则,将m+1赋值给m,并返回步骤5.2;
[0034]
巧。
[0035] 所述最大最违约目标函数是利用时间复杂度为o(nlogn)的贪屯、算法并按如下步 骤进行训练:
[0036] 步骤5.3.1、根据W,,, 与啼的大小分别对所述排序后的不平衡数据集〇/进行 再次降序排列,获得二次排序的不平衡数据集D" = { (a,0)} ;a表示二次排序后的训练样本 队列,e表示二次排序后的类标签队列,将二次排序后的类标签队列e中的每个类标签的位
置记为鲜,....传,...,钱《,卢1,...,足,'.',知};传表示第9个正样本所对应的类标签位置;成 第q个负样本所对应的类标签位置;
[0037] 步骤5.3.2、令最大最违约类标签队歹
[0038] 步骤5.3.3、利用式(8)得到第m次迭代的最大最违约目标函数值fm:
[0039]
(8)
[0040] 步骤5.3.4、定义外部变量k,并初始化k = 0;定义变量g,并初始化g = pos-k;
[0041] 步骤5.3.5、令>'件,"一《均为+1且^1,''',-1'彼期为-1;
[0042] 步骤5.3.6、定义内部变量t,并初始化t = 0;定义变量h,并初始化h = neg-t;
[00创步骤5.3.7、令%,'",^均为+1且束庇,,'",%^均为-1;
[0044] 步骤5.3.8、从而获得更新的最大最违约类标签队列沪;
[0045] 步骤5.3.9、利用式(9)得到第m次迭代的更新的最大最违约目标函数值f\:
[0046]
(9)
[0047] 步骤5.3.10、判断f\>f"是否成立,若成立,则将更新的最大最违约类标签队列f 作为第m次迭代的工作集Wm下的最大最违约类标签队列糸。;否则,将t+1赋值给t,并返回步 骤5.3.7,直到* = 116肖为止;若仍未得到满足条件的/:,则将4+1赋值给4,并返回步骤5.3.5, 直到k = pos为止;若仍未得到满足条件的^,则将最大最违约类标签队列J)作为最大最违约 类标签队列赵,。
[004引与已有技术相比,本发明的有益效果体现在:
[0049] 1、本发明不同于已有基于SVM的改进算法,提出了将不平衡二分类问题看成一个 学习分类队列的过程,并提出了基于结构化SVM的直接优化评估准则算法,提高了少数类在 分类学习中的权重,也提高了分类器对少数类的分类精度,使得算法更适合用于解决不平 衡分类问题。
[0050] 2、本发明针对目标函数非光滑,难W直接优化,提出了使用割平面算法进行求解, 使得算法的迭代次数不依赖与训练样本数,更加适合大规模的应用场合。
[0051] 3、本发明中对于割平面算法中求解最大最违约的内部迭代设计了高效的时间复 杂度仅为O (nlogn)的局效算法,提局了计算速度。
[0052] 4、本发明给出了另一种思路,即针对现有的W某个评估准则作为评价不平衡数据 集的分类性能设计直接优化该不平衡准则的算法运个问题,提出了直接优化不同的不平衡 准则的算法可W达到更好的效果。
【附图说明】
[0053] 图1是本发明的实现流程图;
[0054] 图2是本发明与现有技术在不平衡数据集上得到的WFl为评价指标的对比图。
【具体实施方式】
[0055] 本实施例中,如图1所示,一种基于结构化SVM的不平衡评估准则的直接优化算法 是按如下过程进行:
[0化6]步骤1、假设存在一个不平衡数据集,记夫
;xi表示第i个训练样本, XiGRd;Rd表示实数的d维空间;y康示第i个训练样本所对应的类标签,且yiG{+l,-l};当yi =+1,表示第i个训练样本Xi为正样本,当yi = -l,表示第i个训练样本Xi为负样本;
[0057]对不平衡数据集D中的所有训练样本进行先正后负排序,使得所有正样本 处于不平衡数据集D的前部分,所有负样本处于不平衡数据集D的后部分,从而形 成排序后的不平衡数据集〇/ ={(x,y)};x表示训练样本队列,y表示类标签队列,且
表示第 P个正样本,Xg表示第q个负样本,掉表示第P个正样本X卽片对应的类标签,底g表示第q个正 样本而所对应的类标签;1《9《9〇3,1《9《11日旨,9〇3+]1日旨=]1,之所^将训练样本队列和相 应的类标签队列按先正后负排列是为了方便后面定义所需的函数;
[0化引步骤2、定义如式(1)所示的基于结构化SVM框架的目标函数:
[0059] (1)
[0060] 3损失函数的上界,并有:
[0061] (2)
[006^ 式(1)和式(2)中,歹为预测输出的类标签队列,A知巧为损失函数,当类标签队列 y和预测输出的类标签队列y相同时,令
;当类标签队列y和预测输出的类标签队 列歹不相同时,令
4(x,y)表示输入的训练样本队列X和类标签队列y的关联函数; 巧表示输入的训练样本队列X和预测输出的类标签队列y的关联函数;Y表示类标签队 列空间,选择结构化SVM框架的主要是由于本发明不同于已有基于SVM的改进算法,提出将 不平衡二分类问题看成一个学习分类队列的过程;
[006引步骤3、根据损失函数A b,,巧,分别定义面向不平衡评估准则的损失函数 Agw/wU,巧W及训练样本队列X和类标签队列y的关联函数iKx,y),针对不同的问题,灵活 的设计iKx,y)允许我们应用结构化支持向量机处理各种问题;
[0064]步骤3.1、利用式(3)定义损失函数Awaw心,歹):
[00化]
0)
[0066] 式(3)中,巧表示预测输出的类标签队列歹中第i个类标签;
[0067] 步骤3.2、利用式(4)定义训练样本队列X和类标签队列y的映射函数iKx,y):
[006引
(4)
[0069] 步骤4、定义错误允许值为6,并初始化权衡参数C和错误允许值6,本实施例中,E = 0.0001,CG{2-i〇,...,2i〇};
[0070] 步骤5、利用割平面算法对目标函数进行迭代求解,得到基于结构化SVM框架的目 标函数,对于新定义的目标函数,难W解决的是:对于公式(1)中每个Fe F,目标函数都有 一个指数级的约束条件,为了解决运个问题,本发明提出使用割平面算法,其前提是:对于 任意的e>0,只要问题约束的一小部分满足就可W找到一个e近似解。
[0071] 步骤5.1、定义迭代次数m,并初始化m = 0;定义工作集为W,并初始化第m次迭代的 工作集Wm为空集;
[0072] 步骤5.2、对式(5)所示的目标函数进行训练,得到在第m次迭代的工作集Wm下的参 数向量Wm和凸上界训练损失U
[0073]
(5)
[0074] 步骤5.3、对式(6)所示的最大最违约目标函数进行训练,得到在第m次迭代的工作 集Wm下的最大最违约类标签队列九.:
[0075]

[0076] 步骤5.3.1、根据^ ?均与Wg, ?馬的大小分别对排序后的不平衡数据集〇/进行再次 降序排列,获得二次排序的不平衡数据集D" = { (a,0)} ;a表示二次排序后的训练样本队列, 0表示二次排序后的类标签队列,将二次排序后的类标签队列e中的每个类标签的位置记为 {好,巧L,保,…,娘};獲表示第P个正样本所对应的类标签位置;保第q个 负样本所对应的类标签位置,之所W对不平衡数据集再次排序是为了快速的获得最大最违 约的类标签队列;
[0077] 步骤5.3.2、令最大最违约类标签队列,
[0078] 步骤5.3.3、利用式(7)得到第m次迭代的最大最违约目标函数值fm:
[0079]
(1)
[0080] 步骤5.3.4、定义外部变量k,并初始化k = 0;定义变量g,并初始化g = pos-k;
[0081] 步骤5.3.5、令3V,…,?均为+1且-,…:?满为-1;
[0082] 步骤5.3.6、定义内部变量t,并初始化t = 0;定义变量h,并初始化h = neg-t;
[008;3] 步骤5.3.7、令 济,…:,%均为+1且.V佑,',.v侣均为-1;
[0084] 步骤5.3.8、从而获得更新的最大最违约类标签队列沪;
[0085] 步骤5.3.9、利用式(8)得到第m次迭代的更新的最大最违约目标函数值f\:
[0086]
(8)
[0087] 步骤5.3.10、判断f\>fm是否成立,若成立,则将更新的最大最违约类标签队列来' 作为第m次迭代的工作集Wm下的最大最违约类标签队列九;;否则,将t+1赋值给t,并返回步 骤5.3.7,直到t = neg为止;若仍未得到满足条件的.,:?',则将k+1赋值给k,并返回步骤5.3.5, 直到k = pos为止;若仍未得到满足条件的沪,则将最大最违约类标签队列J)作为最大最违约 类标签队列:L,该算法实际上必须符合下面的要求,k(0《k《pos)个样本是正样本,其他 的是负样本t(0《t《neg),可W通过测试每个类标签得到夕,使用贪屯、算法找到最大最违约 的歹。效率是很高的,它的运行时间可W被分为两部分,第一部分是排序,时间为O(nlogn)。 第二部分为算法中的循环,时间复杂度为0(P〇s ? neg),尽管在最坏的情况下是0(n2),在不 平衡数据集上正样本的数量很少,运就意味着第二部分的训练时间接近〇(n),所W算法的 时间复杂度为O(nlogn)。
[0088] 步骤5.4、将第m次迭代的工作集Wm下的最大最违约类标签队列加入到第m次迭 代的工作集Wm中,从而获得第m+1次迭代的工作集Wm+l;
[0089] 步骤5.5、利用式(9)进行判断,若式(9)成立,则输出第m次迭代的参数向量的转置 碱,从而得到基于机构化SVM框架的目标函数;否则,将m+1赋值给m,并返回步骤5.2;
[0090]
(9)
[0091 ]下面给出本发明相比直接优化Fl评估标准算法有更紧凑的上界
[0092] 理论上已经证明,只要所定义的^^^,列满足步骤2中的约束条件,即当类标签队列 y和预测输出的类标签队列歹相同时,令A〇.?,巧=0;当类标签队列y和预测输出的类标签队 列歹不相同时,令
:C是训练损失的凸上界,即:
[0093] (10)
[0094] (11)
[0095] 其中;
[0096] I 巧
[0097] 脚
[009引扣TP/PR是比如one更紧凑的替代函数。具体证明如下:[0099] 记;
[0100] (14)
[0101]
[0102] 片巧
[0103] (16)
[0104] (17)
[0105]
[0106] (B/A)2=1/〇tpr ? Opre ? (1/0tpr+1/0pre)2>1 (18)
[0107] 所 W 有(B/A) > I 即 A-B《0,结合公式(5.17 )有:CgTP/PR-扣。ne《0,因此扣one是CgTP/PR 的上界,由此证明CgTP/PR是比扣one更紧凑的替代函数。
[0108] 本发明的效果可W通过W下仿真实验进一步说明:
[0109] -、实验条件和参数设置
[0110] 实验基于Linux下,基于化achims的结构化支持向量机SVMStTUGt
[0111] 表1是算法的实验数据及特征;
[0112] 表1实验数据集的特征
[0113]
[0'
[0115] 二、实验内容与结果分析
[0116] 表1是实验中使用的5个Libsvm标准数据集。Breast ,GermaruLetter、A9a、Wla,其 不平衡比例从0.4102到0.0291不等。本发明和现有技术SVMHiNGE、Safe-Leve^SMOTE、SVMAuc、 SVMfi算法进行了比较。其中SVMhinge是基于化nge损失的传统SVM,其余的S个算法都是属于 面向不平衡数据集的改进算法,且分别代表了两种主流方法。其中Safe-Level-SMOTE是一 个较新的面向数据算法,主要采用过采样技术,之所W选择它而非直接的SMOTE算法,在于 Safe-Leve^SMOTE可W产生比SMOTE更为精确的模型。而后两个算法均属于面向算法的改 进,且与本发明同样都是采用直接优化评估标准,各自的学习目标分别为AUC和Fl,实验结 果WFl作为评估标准,如图2所示。从图2可W看出,本发明方法相比于现有技术取得了更高 和更加稳定的少数类分类精度。综上实验所述,本发明针对不平衡数据分类问题,提出了一 种具有更紧凑上界的基于结构化SVM的直接优化不平衡评估准则的分类方法,通过在5个标 准数据集上对本发明和现有技术实施分类对比实验,验证了本发明方法相比现有技术,对 不平衡数据能够获得更好的分类精度。
【主权项】
1. 一种基于结构化SVM的不平衡评估准则的直接优化算法,其特征是按如下过程进行: 步骤1、假设存在一个不平衡数据集,记为D = {(x;,乃)^;Χι表示第i个训练样本,Xle Rd;Rd表示实数的d维空间;yi表示第i个训练样本所对应的类标签,且 7^{+1,-1};当71 = + 1,表示第i个训练样本Xi为正样本,当yi = -1,表示第i个训练样本Xi为负样本;1彡i<n; 对所述不平衡数据集D中的所有训练样本进行先正后负排序,使得所有正样本处于所 述不平衡数据集D的前部分,所有负样本处于所述不平衡数据集D的后部分,从而形成排序 后的不平衡数据集D' = { (x,y) } ;x表示训练样本队列,y表示类标签队列,且表示第 P个正样本,< 表示第q个负样本,%表示第P个正样本4所对应的类标签,表示第q个正 样本、所对应的类标签;KpSpos,KqSneg,pos+neg = n; 步骤2、定义如式(1)所示的基于结构化SVM框架的目标函数:(1) 式(1)中,weRd为参数向量,C为权衡参数,ξ为凸损失函数的上界,并有:式(1)和式(2)中,歹为预测输出的类标签队列,Δ〇^7)为损失函数,当类标签队列y和 预测输出的类标签队列F相同时,令Δ〇;,刃=0;当类标签队列y和预测输出的类标签队列f 不相同时,令Δ(Λ5Γ)>0;1Κχ,7)表示输入的训练样本队列X和类标签队列y的关联函数; .F)表示输入的训练样本队列X和预测输出的类标签队列y的关联函数;Y表示类标签队 列空间; 步骤3、根据所述损失函数分别定义面向不平衡评估准则的损失函数 Aemw (>·,J7)以及所述训练样本队列X和类标签队列y的关联函数1KX,y); 步骤4、定义错误允许值为ε,并初始化所述权衡参数C和错误允许值ε ; 步骤5、利用割平面算法对所述目标函数进行迭代求解,得到基于机构化SVM框架的目 标函数。2. 根据权利要求1所述的基于结构化SVM的不平衡评估准则的直接优化算法,其特征 是,所述步骤3是按如下过程进行: 步骤3.1、利用式(3)定义损失函数Aemiyf (>',歹):(3) 式(3)中,另表示预测输出的类标签队列歹中第i个类标签; 步骤3.2、利用式(4)定义训练样本队列X和类标签队列y的映射函数iKx,y): (4)。3. 根据权利要求1所述的基于结构化SVM的不平衡评估准则的直接优化算法,其特征 是,所述割平面算法是按如下步骤进行: 步骤5.1、定义迭代次数m,并初始化m = O ;定义工作集为W,并初始化第m次迭代的工作 集Wm为空集; 步骤5.2、对式(5)所示的目标函数进行训练,得到在第m次迭代的工作集1下的参数向 量Wm和凸上界训练损失Im:(5) 步骤5.3、对式(6)所示的最大最违约目标函数进行训练,得到在第m次迭代的工作集1 下的最大最违约类标签队列九;(6) 步骤5.4、将第m次迭代的工作集仏下的最大最违约类标签队列九加入到所述第m次迭代 的工作集Wm中,从而获得第m+1次迭代的工作集1+1; 步骤5.5、利用式(7)进行判断,若式(7)成立,则输出第m次迭代的参数向量的转置wf, 从而得到基于结构化SVM框架的目标函数;否则,将m+1赋值给m,并返回步骤5.2;(7)。4. 根据权利要求3所述的基于结构化SVM的不平衡评估准则的直接优化算法,其特征 是,所述最大最违约目标函数是利用时间复杂度为〇(nl 〇gn)的贪心算法并按如下步骤进行 训练: 步骤5.3.1、根据% _ <与u", · \的大小分别对所述排序后的不平衡数据集D'进行再次 降序排列,获得二次排序的不平衡数据集D" = { (α,β)} ;α表示二次排序后的训练样本队列, β表示二次排序后的类标签队列,将二次排序后的类标签队列β中的每个类标签的位置记为 '' 良示第P个正样本所对应的类标签位置;爲+第q个 负样本所对应的类标签位置; 步骤5.3.2、令最大最违约类标签队步骤5.3.3、利用式(8)得到第m次佚代的最太最讳约目标函数值(8) 步骤5.3.4、定义外部变量1^,并初始化1^ = 0;定义变量8,并初始化8 = ?〇8-1^ 步骤5.3.5、令·%均为+1 且 " )??均为-1; 步骤5.3.6、定义内部变量t,并初始化t = 0;定义变量h,并初始化h = neg-t; 步骤5 · 3 · 7、令·^「,…均为+1 且-?:,," '5均为-1; 步骤5.3.8、从而获得更新的最大最违约类标签队列>% 步骤5.3.9、利用式(9)得到第m次迭代的更新的最大最违约目标函数值f\: (9) 步骤5.3.10、判断f m>fm是否成立,若成立,则将更新的最大最违约类标签队列I'作为 第m次迭代的工作集1下的最大最违约类标签队列九;否则,将t+Ι赋值给t,并返回步骤 5.3.7,直到t = neg为止;若仍未得到满足条件的,则将k+Ι赋值给k,并返回步骤5.3.5,直 到k = Pos为止;若仍未得到满足条件的则将最大最违约类标签队列j)作为最大最违约类 标签队列先。
【文档编号】G06K9/62GK106022376SQ201610338508
【公开日】2016年10月12日
【申请日】2016年5月18日
【发明人】程凡, 张磊, 杨康, 刘政怡, 张兴义
【申请人】安徽大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1