进阶优化算法

来源:互联网 发布:手机测量海拔高度软件 编辑:程序博客网 时间:2024/05/20 21:43

本文主要讨论在优化模型求解中用到的高级优化算法,这些算法基于常见的优化算法思想,采用一些非常巧妙的技巧,而使得算法到达更快的收敛等特点。这些高级优化算法也只限定于特定的模型求解,下面将对其进行简单总结。

1. Surrogate方法

首先我们考虑一些简单的优化问题minx12xx022+λx1,事实上我们只需要对x向量中的每一个元素进行展开求解即可,它的优化解的表达式如下:

x=Sλ(x0)={0x02λx0sign(x0)λotherwise

其中,sign为符号函数。
下面我们考虑2范数正则化约束,问题形式化为minx12xx022+λx2,同理我们只需要对x向量中的每一个元素进行展开求解即可,它的优化解的表达式如下:
x=[(1λx02)x0]+={0x02λ(1λx02)x0otherwise

考虑范数正则化约束,问题形式化为minx12xx022+λx。由于的共轭为1barrior函数,因此上述问题的对偶形式为
miny12yx022s.t.y1<λ

其中y=x0x。通过转换的形式则通过1约束问题很好求解。下面介绍另一种求解范数正则化约束问题。首先判断x01的取值,如果小于等于λ,则x=0;否则,我们对x0向量中每一个元素取绝对值,并安降序排列,记为{v1,,vj,,vM}。取j^=max{j:λjr=1(vrvj)>0}。则最后x的优化解形式如下:
xi=sign(x0,i)min(vi,(r=1j^vrλ)/j^)i=1,,M

下面我们继续考虑矩阵核范数正则化约束问题,该问题可以形式化为minA12XA2F+A,这类问题的求解一般采用矩阵的SVD分解,X=USVT;再使用Surrogate策略。一般优化解的形式如下:
A=US^VT

其中S^的表达式如下:
S^=T(S)=SϵS>ϵS+ϵS<ϵ0otherwise

2. Accelerated Gradient Algorithm

我们考虑一个常见的优化问题,形式化为minWf(W)+λψ(W),函数的具体形式视情况而定。比如在机器学习领域,f(W)一般为总体训练样本的损失函数,f(W)=1Nn(χn,W)χn={xn,yn}为训练样本,而为具体的损失函数,比如平方损失,logistic 损失,hinge损失等;ψ(W)一般为待训练参数W的正则化约束,这里我们考虑混合约束ψ(W)=W1,ψ(W)=W1,2。该类混合约束在机器学习模型构建中经常用到,比如多任务建模中(f(W)则为总体任务下总体训练样本的损失,W={wk}kwk为第k个任务下待训练权重),所以有必要讨论其优化解。
一般而言,上式问题的求解可以采用子梯度下降法优化W,但遗憾的是收敛速度较慢。因此在优化目标问题中,对f(W)W=Wt处进行二阶泰勒近似展开,优化目标函数为:

minWf(Wt)+<WWt,f(Wt)>+L2WWt2F+λψ(W)

其中<A,B>=Tr(ATB)。下面对上式进行重新整理得:
minW12W(Wt1Lf(Wt))2F+λLW1,

其中W1,=jWj,即为每一行元素绝对值的最大值累加。为了简化上式,我们令V=Wt1Lf(Wt)λ^=λL,则
minW12WV2F+λ^W1,

同样,上式问题可以各个维度上的子问题求解,下面我们仅考虑矩阵W,V的第i行,记着w,v。那么子问题简化为:
minw12wv22+λ^w

如果原始问题为ψ(W)=W1,2混合范数约束,则此时的优化子问题为:
minw12wv22+λ^w2

因此上述问题求解。可知,该方法对优化目标函数采用泰勒近似展开达到对原问题的简化,从而加快算法的收敛速度。

原创粉丝点击