后续想做平均化处理,即中间会发生重合的参数zi取值一样的,那么z-update将只能找他对应的那些x进行平均化,也就是变成局部了,因为不是所有值都是要全局保持一致的。比如上面那个图中的z1,z2,z3,z4都分别只要求在部分xi发生了共享需要保持一样,而不是像之前全局要求每个xi对应的都是z。即
zk+1g=∑G(i,j)=g((xk+1i)j+(1/ρ)(yki)j)∑G(x,y)=g1
zk+1g=1kg∑G(i,j)=g(xk+1i)
同全局一致性优化问题一样,我们可以加上正则项,然后也可以变成带正则项的一般形式的一致性优化问题。此处不赘述,与全局基本类似。
Sharing4.4 共享问题(sharing)(横向切割数据,也可纵向切变量)与之前的全局变量一致性优化问题类似,共享问题也是一个非常一般而且常见的问题。他的形式如下:
min∑i=1Nfi(xi)+g(∑i=1Nxi)
这里的第一部分局部损失fi(xi)与全局一致性优化是一样的,即所有的xi∈Rn,i=1,…,N同维度,而对于一个共享的目标函数g则是新加入的。在实际中,我们常常需要优化每个子数据集上的损失函数,同时还要加上全局数据所带来的损失;或者需要优化每个子系统的部分变量,同时还要优化整个变量。共享问题是一个非常重要而灵活的问题,它也可以纳入到ADMM框架中,形式如下:
mins.t.∑i=1Nfi(xi)+g(∑i=1Nzi)xi−zi=0,zi∈Rn,i=1,…,N,⟹xk+1izk+1uk+1i=argminxi(fi(xi)+(ρ/2)∥xi−zki+uki∥22))=argminz(g(∑i=1Nzi)+ρ/2∑i=1N∥zi−xk+1i−uki∥22)=uki+xk+1i−zk+1i
上述形式当然还不够简洁,需要进一步化简。因为x-update可以不用担心,分机并行处理优化求解即可,而对于z-update这里面需要对Nn个变量求解,想加快速度,就减少变量个数。于是想办法通过和之前那种平均方式一样来简化形式解。
对于z-update步,令ai=uki+xk+1i,于是z-update步优化问题转化为
mins.t.g(Nz¯)+(ρ/2)∑i=1N∥zi−ai∥22z¯=1N∑i=1Nzi
当z¯固定时,那么后面的最优解(类似回归)为zi=ai+z¯−a¯,带入上式后于是后续优化就开始整体更新(均值化)
xk+1izk+1uk+1=argminxi(fi(xi)+(ρ/2)∥xi−xki+x¯k−z¯k+uk∥22))=argminz(g(Nz¯)+Nρ/2∥z¯−x¯k+1−uk∥22)=uki+x¯k+1−z¯k+1
另外,有证明如果强对偶性存在,那么globalconsensus问题与sharing问题是可以相互转化的,可以同时达到最优,两者存在着很紧密的对偶关系。
本节开头提过,sharing问题用来切分数据做并行化,也可以切分参数空间做并行化。这对于高维、超高维问题是非常有好处的。因为高维统计中,大样本是一方面问题,而高维度才是重中之重,如果能切分特征到低纬度中去求解,然后在合并起来,那么这将是一个很美妙的事情。上面利用regularizedglobalconsensus问题解决了切分大样本数据的并行化问题,下面利用sharing思想解决常见的高维数据并行化问题
切割变量(特征)空间,并行化处理
同样假设面对还是一个观测阵A∈Rm×n和响应观测b∈Rn,此时有n»m,那么要么就降维处理,要么就切分维度去处理,或者对于超高维矩阵,切分维度后再降维。此时A矩阵就不是像之前横着切分,而是竖着切分,这样对应着参数空间的切分:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-34812-10.html
放家里跟放银行里都贬吧