基于ADMM的不平衡大数据分布式分类方法

文档序号:27339246发布日期:2021-11-10 02:42阅读:217来源:国知局
基于ADMM的不平衡大数据分布式分类方法
基于admm的不平衡大数据分布式分类方法
技术领域
1.本发明涉及凸问题的优化方法,具体是一种基于admm的不平衡大数据分布式分类方法。


背景技术:

2.分类问题是人类所面临的一个非常重要且具有普遍意义的问题。将事物正确的分类,有助于人们认识世界,使杂乱无章的现实世界变得有条理。例如自动文本分类就是对大量的自然语言文本按照一定的主题类别进行自动分类,它是自然语言处理的一个十分重要的问题;文本分类主要应用于信息检索,机器翻译,自动文摘,信息过滤,邮件分类等任务。此任务的目的是在不平衡的数据样本中精确分类。不平衡数据即数据集中一类样本的数量远远超过其他类,其中占大多数的样本被称为多数类,而数量很小一部分的称为少数类。在不平衡数据样本中正确识别少数类比正确识别多数类更加重要,为此我们考虑代价敏感学习,基于总体错分代价最小化来设计分类器,在一定程度上解决了上述问题。
3.近年来,在分布式集群中使用代价敏感学习来解决不平衡分类的尝试还很少。特别地,有人提出了一种并行随机森林算法来解决不平衡分类问题。该方法在随机森林中使用代价敏感学习来强调少数类,调整决策树结构。在基于模糊规则的分类系统中,惩罚因子采用了代价敏感学习。mapreduce便采用了这种方法实现,不过训练时间较长。乘子交替方向法(admm)是一种应用广泛的优化算法,具有良好的收敛性。在admm中,原始问题与两个局部问题相互结合,然后交替优化它们的最小值。证明了当所有函数都是凸函数时admm具有线性收敛性。为了解决大数据分类问题,已经提出了许多基于分布式admm的算法。具体来说,支持向量机的子问题模型是由admm以完全分布的方式训练的。
4.在这些方法中,admm作为一种应用广泛的优化算法,由于其在分布式框架中的灵活性,被广泛应用于计算机视觉、数据挖掘和机器学习等许多研究领域。通常,不同机器之间的通信是不可避免的,在处理大数据问题时,它的网络和时间成本总是非常大。已有经验研究表明,基于分布式admm的算法收敛速度慢,且时间开销大,这是分布式共识优化的固有问题和瓶颈。因此,设计和实现高效的分布式admm算法,通过更快的收敛速度来提高时间效率是一个重要的问题。


技术实现要素:

5.本发明的目的在于提出一种基于admm的不平衡大数据分布式分类方法。
6.实现本发明的技术解决方案:一种基于admm的不平衡大数据分布式分类方法,包括如下步骤:
7.步骤1、将不平衡的大数据集划分成n份可独立计算的小数据集,并将n份小数据集分别放入n台从机中用于每台机器的本地训练;
8.步骤2、从训练样本中随机选取样本,采用对偶坐标下降法对每个问题的对偶问题进行优化,计算出局部模型的局部变量w
i
;所述小数据集对应一个小问题;
9.步骤3、将所有从机计算出的局部变量w
i
发送给主机;
10.步骤4、主机利用从机发送来的局部变量w
i
更新全局变量z;
11.步骤5、主机收到每个从机发来的w
i
和u
i
并计算出z后,将z广播给每个从机以进行下一轮计算直至满足终止条件。
12.进一步的,步骤3等待步骤2中所有从机的局部变量w
i
计算出来后,将所有的局部变量发送给主机。
13.进一步的,步骤5中主机将全局变量广播给所有从机后重复步骤2至步骤4直至满足终止条件。
14.进一步的,步骤1将问题划分为多个可并行计算的子问题后,可用如下的函数表示:
[0015][0016]
s.t.w
i
=z,i=1,2,

,n;
[0017]
其中,z为全局变量,w
i
为局部变量,c>0,是一个超参数;c

和c
+
分别是多数类和少数类的误分类参数;假设数据来自n台机器,那么可以表示为(d1,d2,...,dn);另外ξ
j
=max{0,1

y
j
w
t
x
j
}表示样本j的损失,其中y
j
为1或

1,w
t
表示权重向量,x
j
表示样本j,
[0018]
为简单起见,(1)式可改写为:
[0019][0020]
s.t.w
i
=z,i=1,2,...,n;
[0021]
其中,f
i
(w
i
)是数据集d
i
的总共损失。
[0022]
进一步的,将原函数(2)改写成增广拉格朗日形式即原问题的对偶问题:
[0023][0024]
其中,λ
i
≥0为对偶变量;之后得到(3)式的标准形式:
[0025][0026]
这里u
i
=λ
i
/ρ,ρ为惩罚系数;
[0027]
为更好解决类不平衡问题,使用soft

margin cssvm,则原始问题的对偶形式为:
[0028][0029]
s.t.0≤α
j
≤c
j
,j=1,...,s,
[0030]
其中,c
j
为样本j损失的惩罚系数,b
i
=[1

y1vitx1,...,1

ysvitxst;
[0031]
使用随机对偶坐标下降法优化每个单机的上述问题,可以计算得到:
[0032][0033]
在随机对偶坐标下降法,至的更新是通过固定其它变量来得到的;因此,(6)式问题在每次内迭代中可以表达成单变量问题;通过将投射进区间[0,c
j
],可得到投影偏导于是的更新可表达为:
[0034][0035]
之后,可更新为:
[0036][0037]
已经得证局部变量的松弛形式可以加速算法收敛,所以可将局部变量的更新再变为:
[0038][0039]
进一步的,步骤4、主机综合各从机的局部模型变量计算全局模型变量z并下发各从机,z
k+1
的更新公式如下:
[0040][0041]
由于函数是关于z的二次函数,同时也是一个性质良好的凸函数,所以z有一个封闭解:
[0042][0043]
之后,需要更新对偶变量公式如下:
[0044][0045]
进一步的,步骤5中,继续步骤2,步骤3,步骤4,直至满足算法终止条件即原始残差p与对偶残差d收敛于0。表达式为||p||2≤ε
pri
,||d||2≤ε
dual
,ε
pri
,ε
dual
为可行公差。
[0046]
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于admm的不平衡大数据分布式分类方法。
[0047]
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于admm的不平衡大数据分布式分类方法。
[0048]
本发明研究复杂的类不平衡问题,提出合适的基于admm的分布式框架,我们将所要研究的问题分为多个可并行计算的子问题,在每个子问题的对偶问题中,使用小批量的随机对偶坐标下降法来优化子问题,使用分布式admm框架交替优化逐步达到全局最优共
识,有效的减少了模型训练时间以及各从机的通信时间,各项性能均有增加。
[0049]
本发明与现有技术相比,其显著优点在于:(1)本发明利用小批量的随机对偶坐标下降法来对每个从机中的局部问题进行优化,加快了计算时间;(2)本发明将代价敏感学习应用到我们的方法中,有效缓解了类不平衡问题,提高了分类准确度。
[0050]
下面结合附图对本发明做进一步详细的描述。
附图说明
[0051]
图1为本发明的流程示意图。
[0052]
图2为本发明算法实现的伪代码。
[0053]
图3为本发明与其它算法在geometric mean上的比较示意图。
[0054]
图4为本发明与其它算法在f

measure上的比较示意图。
[0055]
图5为本发明与其它算法在训练时间上的比较示意图。
具体实施方式
[0056]
本发明提出一种基于admm的不平衡大数据分布式分类方法,其核心思想是研究复杂的类不平衡,并针对这一问题提出合适的基于admm的分布式框架,以提高性能和减少时间。该方法将所要研究的问题分为多个可并行计算的子问题,在每个子问题的对偶问题中,使用小批量的随机对偶坐标下降法来优化子问题,使用分布式admm框架交替优化逐步达到全局最优共识。
[0057]
一种基于admm的不平衡大数据分布式分类方法,包括如下步骤:
[0058]
步骤1、将不平衡的大数据集划分成n份可独立计算的小数据集,并将n份数据集分别放入n台机器(从机)中用于每台机器的本地训练;
[0059]
步骤2、利用小批量的(从训练样本中随机选取小批样本)随机对偶坐标下降法对每个问题的对偶问题进行优化,计算出局部模型的局部变量w
i
;所述小数据集对应一个小问题;
[0060]
步骤3、将所有从机计算出的局部变量w
i
发送给主机;
[0061]
步骤4、主机利用从机发送来的局部变量w
i
更新全局变量z;
[0062]
步骤5、主机收到每个从机发来的w
i
和u
i
并计算出z后,便将z广播给每个从机以进行下一轮计算直至满足终止条件;u
i
=λ
i
/ρ,为简便计算而引入的。
[0063]
其中,步骤1中将大数据集划分成n个类不平衡的小数据集,因为处理分类任务时,类不平衡是一个经典的挑战,它会恶化分类性能。这些类不平衡的小数据集将用于实验。
[0064]
步骤2中利用小批量随机对偶坐标下降法在每个从机中对问题进行优化来加快取得局部变量值,这就减少了同步和通信带来的开销。
[0065]
步骤3等待步骤2中所有从机的局部变量w
i
计算出来后,将所有的局部变量发送给主机。
[0066]
步骤4利用步骤3中发送来的w
i
更新全局变量z,由于我们的函数是关于z的二次函数,同时也是一个性质良好的凸函数,所以z有一个封闭解。
[0067]
步骤5中主机将全局变量广播给所有从机后重复步骤2至步骤4直至满足终止条件(原始残差||p||2不大于一个阈值及对偶残差||d||2不大于一个阈值)。
[0068]
如图1所示,一种基于admm的不平衡大数据分布式分类方法,将分布式分类问题划分为一些小问题,这些小问题可以通过分散资源并行解决;在每个小问题的对偶问题上使用小批量的随机对偶梯度下降法求出局部最优解;我们也引入代价敏感学习方法来最小化总体错分代价;所有从机的本地模型训练好后,将所有的局部模型变量发送给主机;主机综合收到的局部模型变量计算全局模型变量z后,将z广播给所有从机;从机收到全局模型变量后开始新一轮的迭代计算直至满足终止条件。
[0069]
下面对本发明各个步骤进行具体说明:
[0070]
步骤1、将我们的问题划分为多个可并行计算的子问题后,我们的问题可用如下的函数表示:
[0071][0072]
s.t.w
i
=z,i=1,2,...,n;
[0073]
其中,z为全局变量,w
i
为局部变量,c>0,是一个超参数;c

和c
+
分别是多数类和少数类的误分类参数。假设数据来自n台机器,那么可以表示为(d1,d2,

,dn);另外ξ
j
=max{0,1

y
j
w
t
x
j
}表示样本j的损失,其中y
j
为1或者

1,w
t
表示权重向量,x
j
表示样本j,
[0074]
为简单起见,(1)式可改写为:
[0075][0076]
s.t.w
i
=z,i=1,2,...,n;
[0077]
其中,f
i
(w
i
)是数据集d
i
的总共损失。
[0078]
步骤2、我们将原函数(2)改写成增广拉格朗日形式即原问题的对偶问题。
[0079][0080]
其中,λ
i
≥0为对偶变量,之后我们便可以写出(3)式的标准形式:
[0081][0082]
这里u
i
=λ
i
/ρ,ρ为惩罚系数。为更好解决类不平衡问题,进一步我们使用soft

margin cssvm(代价敏感支撑向量机),则原始问题的对偶形式为:
[0083][0084]
s.t.0≤α
j
≤c
j
,j=1,

,s,
[0085]
其中,c
j
为样本j损失的惩罚系数,b
i
=[1

y1vitx1,

,1

ysvitxst。我们使用随机对偶坐标下降法优化每个单机的上述问题,可以计算得到:
[0086][0087]
在随机对偶坐标下降法,至的更新是通过固定其它变量来得到的。因此,(6)式问题在每次内迭代中可以表达成单变量问题;通过将投射进区间[0,c
j
],可得到投影偏导于是的更新可表达为:
[0088][0089]
之后,可更新为:
[0090][0091]
已经得证局部变量的松弛形式可以加速算法收敛,所以可将局部变量的更新再变为:
[0092][0093]
步骤3、在步骤2基础上,主机收集所有从机的局部模型变量用于更新全局模型变量。
[0094]
步骤4、主机综合各从机的局部模型变量计算全局模型变量z并下发各从机,z
k+1
的更新公式如下:
[0095][0096]
由于函数是关于z的二次函数,同时也是一个性质良好的凸函数,所以z有一个封闭解:
[0097][0098]
之后,需要更新对偶变量公式如下:
[0099][0100]
步骤5、继续步骤2,步骤3,步骤4,直至满足算法终止条件即原始残差p与对偶残差d收敛于0。表达式为||p||2≤ε
pri
,||d||2≤ε
dual
,ε
pri
,ε
dual
为可行公差。
[0101]
图2所示为本发明实施例的算法流程,图3~图5表明我们的算法比其他的一些算法表现得更加良好且算法训练时间更短。
[0102]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于admm的不平衡大数据分布式分类方法。
[0103]
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现
上述基于admm的不平衡大数据分布式分类方法。
[0104]
下面结合实施例对本发明进行详细说明。
[0105]
实施例
[0106]
如果一个问题可以写成以下形式,我们的方法便可以解决这个问题:
[0107]
min
x,y
f(x)+g(y),
[0108]
s.t.ax+by=c,
[0109]
这里f(x)和g(y)都是凸函数,x和y为变量,满足一系列线性约束。这样就可以解决此问题的对偶问题。其对偶问题可写成以下形式:
[0110][0111]
这里λ是对偶变量,ρ为惩罚系数。特别地,如果局部变量x是可划分的,则f(x)可划分为一些小问题,存储在多个机器上。因此问题可改写成以下形式:
[0112][0113]
s.t.ax
i
+by=c,i=1,2,

,n.
[0114]
这里x
i
是机器i上小问题的模型变量,x=(x1,...,x
n
),y是全局变量。
[0115]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1