1.一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,包括以下步骤:将节点分为1个管理节点与多个工作节点,并且将工作节点抽象为上层节点与下层节点;针对连通网络将全局凸优化问题分解成若干个局部凸优化问题并进行求解,并通过协调局部最优解得到全局最优解,其中机器学习方法包含节点探测与迭代计算两部分;节点探测部分包括上下层节点归属更新以及上下层节点通信以及管理节点与上层节点通信,迭代计算部分上下层相关节点数据通信与单次迭代计算,在节点探测过程中,工作节点将会运行迭代计算部分的更新,除此之外由上层节点在每次迭代完成时向管理节点反馈单次迭代完成;在选择上层节点位置时通过贪心思想避免遍历所有可能性,并采用动态选择,使网络中链路延迟的影响尽可能小。
2.根据权利要求1所述的一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,用于求解正则化线性回归问题,即 其中A为m×n阶矩阵,b为m阶向量,λ为常数,x为n阶向量。
3.根据权利要求1所述的一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,所述节点探测部分具体包括以下步骤:
1)管理节点下发探测启动clustering start指令至上层节点,并记录当前时间ts;
2)上层节点i接收clustering start指令后下发数据至对应下层节点列表Li中的节点;
3)下层节点j接收数据并保存,直到接收到所有对应上层节点列表Uj中的节点数据,进行计算操作,完成后将数据返回给所有对应上层节点Uj;
4)上层节点i接收数据并保存,直到接收到所有对应下层节点列表Li中的节点数据,进行计算操作,完成后将数据返回给所有对应下层节点L;
5)上层节点向管理节点发送一次迭代完成iter over指令;
6)管理节点等待接收所有上层节点iter over指令并记录,当仅剩一个上层节点对应信息未收到时,将对应上层节点取消,获取当前时间tc,通过tc‑ts获得单次完整系统迭代所需时间tl,将其保存在迭代时间集合T中,若ti为迭代时间集合T中最小值,即ti=minT,则保存当前系统上层节点集合U,否则不更新U;
7)管理节点下发节点归属更新update指令至所有上层与下层节点,节点收指令后进行对应节点归属更新操作;
8)重复流程3至流程7,直到网络中只剩下一个上层节点,此时管理节点保存的上层节点集合U为最终上层节点集合;
9)管理节点下发探测完成指令至所有上层节点与下层节点,节点收到指令后进行节点归属更新操作。
4.根据权利要求3所述的一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,上层节点和下层节点之间包含一种相关节点归属关系,即下层节点和有邻居关系的上层节点以及距离最近的上层节点相关;上层节点和有邻居关系的下层节点相关;若下层节点到该上层节点为到所有上层节点中距离最近,则上层节点与该下层节点也相关;每个下层节点可能与多个上层节点相关,每个上层节点也可能与多个下层节点相关。
5.根据权利要求3所述的一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,每个下层节点保存本地变量x与每个相关上层节点i对应的变量ui,每个上层节点保存本地变量z,所有变量x,u,z均为n阶向量,最初始状态均为n阶零向量,且与权利要求2中变量x同阶。
6.根据权利要求3所述的一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,
在第k次迭代计算中上层节点将下发zk至相关下层节点,下层节点通过公式k+1 T ‑1 T k k
x =(AA+ρI) (Ab+ρ(z‑u)),k+1 k k+1 k+1
u =u+x ‑z .
k+1 k+1 k+1
更新本地x,u,得到第k次迭代计算后的结果x 、z 与u 。其中A为n维实数闭凸集,I为n阶单位方阵,ρ>0为惩罚参数,并将更新后的x,u返回给相关上层节点,上层节点通过公式
更新本地z。其中 表示软阈值算子,其形式为
7.根据权利要求6所述的一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,管理节点将会保存一个当前已完成迭代节点列表,设当前网络中上层节点数量为N,若已完成迭代节点列表长度为N‑1,则向整体网络通知去除唯一不在已完成迭代节点列表中的上层节点,将已完成迭代节点列表清空,并保存一份当前系统内上层节点列表SN‑1与两次列表清空之间时间间隔tN‑1;重复直到网络中只剩下一个上层节点。
8.根据权利要求7所述的一种自适应网络拓扑的分布式ADMM机器学习方法,其特征在于,对于i∈{1,...,N‑1},选取其中最小的ti,并将其对应的上层节点列表Si中上层节点作为最终系统内上层节点,通知所有工作节点进行正式的迭代计算部分;工作节点接收到通知后,初始化本地对应x,u,z变量,并进行相关节点归属更新,然后开始与相关节点开始迭代计算通信;当迭代次数达到系统预设的最大迭代次数时停止迭代计算。