正在加载图片...
864 工程科学学报,第43卷,第6期 映射,可得ELM的核化形式(KELM),其输出为: 2RBNR算法 f(2)=h(2)H(C-I+H)Y RBNR重采样算法首先评估原始数据集中少 k(x1,Z) T 数类样本的安全级别,基于其安全级别进行SMOTE (C1+2)y (4) 升采样,从而增加少数类样本的占比;对于多数类 I k(xn,Z) 样本,寻找出局部密度较大的区域,样本量二倍于 与传统ELM相比,KELM无需设置映射函数 降采样数量,进行随机减采样,从而对多数类子集 和隐层神经元数量,人为干预更少,能有效避免隐 进行约简.算法流程如图1所示 层神经元随机赋值导致的泛化性和稳定性降低的 问题.同时,KELM又继承了传统ELM在处理分 START 类任务上的优势:①以最小化训练误差和输出权 重范数为训练目标,相对于其它传统人工神经网 Original data 络(Artificial neural network,ANN)算法具有更高 的泛化性能,从而抑制过拟合:②简洁高效的 Minority samples Majority samples 隐层结构能够大量压缩算法运行时间和内存空间 开支26-2刃 Security level Local density 1.2安全级别 每个少数类样本x的安全级别slx定义为x的 Sample pairs for linear Dense area interpolation K个最近邻样本中少数类样本的个数安全级 Twice as many samples as 别越大,说明该样本越靠近少数类的中心:安全级 SMOTE algorithm the reduced sample size 别越小,说明该样本越靠近分类边界.安全级别 为0,则几乎可将该样本视为噪声. Oversample Under-sample 对少数类样本进行升采样,应当尽可能的接 近样本原始分布,因此以安全级别指导SMOTE方 Resampled data 法对少数类样本进行升采样 1.3局部密度 END 在非均衡数据中正负样本数量差异较大,在 图1RBNR算法流程图 对少数类样本进行升采样时增加了样本总量.于 Fig.1 Flowchart of the RBNR algorithm 是,为控制数据集规模,可以适当减少样本密集区 算法具体描述如下: 域的多数类样本.因此,采用局部密度的概念2] 算法1RBNR算法 识别非均衡数据中多数类样本的密集区域. 输入: 定义1(k-距离)设D为数据集,k为任意正整 1)具有N个样本的训练数据集D1:=x,)% 数,定义对象p与对象o∈D之间的距离k diste(p片 其中x∈R表示训练样本,deR表示x的维数, dist(p,o)为对象p的k-距离,满足条件: ∈T={-1,1为x对应的样本类别标签 ①存在不少于k个对象q∈D八{pP,使得dist(p,q)≤ 2)Nma:多数类样本量;Nmin:少数类样本量 dist(p,o); 3)k:用于评价安全级别的近邻数量; ②存在不多于k-l个对像q∈D八{P},使得dist(p,q)水 k2:用于计算局部密度的近邻数量 dist(p,o). 算法主体: 定义2(k-近邻)定义所有与p的距离小于等 Stepl根据两类样本的数量差确定升、降采 于k-距离的对象为对象p的k←近邻.即: 样量nup=nldown=[N/2]-Nmin q={q∈D八{pdist(p,q)≤k_dist(p)l (5) Step2根据样本间的欧氏距离,计算每个少 定义3(局部密度)对象p与其k-近邻距离均 数类样本k-近邻中少数类的个数,进而得到其安 值的倒数定义为该点的局部密度: 全级别slx,排除slx=O的样本并排序 1 Step3以安全级别由高到低的样本和安全级 Ldp)=dist(.p9)/M-isp) (6) 别由低到高的样本依次构成用于插值的样本对. 其中,Vk-dist((p)表示对象p的k-近邻个数 Step4遍历Step3中的样本对,按SMOTE方映射,可得 ELM 的核化形式(KELM),其输出为: f(z) = h(z)H T ( C −1 I+ HHT )−1 Y =   k(x1,z) . . . k(xn,z)   T ( C −1 I+Ω )−1 Y (4) 与传统 ELM 相比,KELM 无需设置映射函数 和隐层神经元数量,人为干预更少,能有效避免隐 层神经元随机赋值导致的泛化性和稳定性降低的 问题. 同时,KELM 又继承了传统 ELM 在处理分 类任务上的优势:①以最小化训练误差和输出权 重范数为训练目标,相对于其它传统人工神经网 络 ( Artificial neural network, ANN)算法具有更高 的泛化性能,从而抑制过拟合[14] ;②简洁高效的 隐层结构能够大量压缩算法运行时间和内存空间 开支[26−27] . 1.2    安全级别 xi slxi 每个少数类样本 的安全级别 定义为 xi 的 K 个最近邻样本中少数类样本的个数[24] . 安全级 别越大,说明该样本越靠近少数类的中心;安全级 别越小,说明该样本越靠近分类边界. 安全级别 为 0,则几乎可将该样本视为噪声. 对少数类样本进行升采样,应当尽可能的接 近样本原始分布,因此以安全级别指导 SMOTE 方 法对少数类样本进行升采样. 1.3    局部密度 在非均衡数据中正负样本数量差异较大,在 对少数类样本进行升采样时增加了样本总量. 于 是,为控制数据集规模,可以适当减少样本密集区 域的多数类样本. 因此,采用局部密度的概念[28] 识别非均衡数据中多数类样本的密集区域. 定义 1(k–距离)设 D 为数据集,k 为任意正整 数,定义对象 p 与对象 o∈D 之间的距离 k_dist(p)= dist(p,o) 为对象 p 的 k–距离,满足条件: ①存在不少于k 个对象q∈D\{p},使得dist(p,q)≤ dist(p,o); ②存在不多于k–1 个对象q∈D\{p},使得dist(p,q)< dist(p,o). 定义 2(k–近邻)定义所有与 p 的距离小于等 于 k–距离的对象为对象 p 的 k–近邻. 即: q = {q ∈ D\{p}|dist(p,q) ⩽ k_dist(p)} (5) 定义 3(局部密度)对象 p 与其 k–近邻距离均 值的倒数定义为该点的局部密度: Ld(p) = 1 ∑ dist(p,q)/Nk-dist(p) (6) 其中, Nk-dist(p) 表示对象 p 的 k–近邻个数. 2    RBNR 算法 RBNR 重采样算法首先评估原始数据集中少 数类样本的安全级别,基于其安全级别进行 SMOTE 升采样,从而增加少数类样本的占比;对于多数类 样本,寻找出局部密度较大的区域,样本量二倍于 降采样数量,进行随机减采样,从而对多数类子集 进行约简. 算法流程如图 1 所示. Original data Security level Local density Twice as many samples as the reduced sample size Under-sample SMOTE algorithm Oversample Sample pairs for linear Dense area interpolation START END Minority samples Majority samples Resampled data 图 1 RBNR 算法流程图 Fig.1 Flowchart of the RBNR algorithm 算法具体描述如下: 算法 1 RBNR 算法 输入: DTr = {(xi ,ti)} N i=1 xi ∈ R d d ∈ R xi ti ∈ T = {−1, 1} xi 1) 具有 N 个样本的训练数据集 , 其 中 表示训练样本 , 表 示 的维数 , 为 对应的样本类别标签. 2) Nmaj :多数类样本量; Nmin :少数类样本量. 3) k1:用于评价安全级别的近邻数量; k2:用于计算局部密度的近邻数量. 算法主体: nup = ndown = [N/2]−Nmin Step1 根据两类样本的数量差确定升、降采 样量 . slxi slxi = 0 Step2 根据样本间的欧氏距离,计算每个少 数类样本 k1–近邻中少数类的个数,进而得到其安 全级别 ,排除 的样本并排序. Step3 以安全级别由高到低的样本和安全级 别由低到高的样本依次构成用于插值的样本对. Step4 遍历 Step3 中的样本对,按 SMOTE 方 · 864 · 工程科学学报,第 43 卷,第 6 期
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有