求取最小二范数解的具体过程

xxxspy 2018-03-14 15:15:50
Categories: Tags:

推导一遍案例中求取最小二范数解的具体过程

本文的问题是求解二范数的最小值:

\[ p^* = \min_x \Vert X \Vert _2 ^2 \]

并且需要满足等式:

\[ A x = b \]

先将其转换为拉格朗日函数:

\[ L(x, v) =X^TX+v^T(Ax-b) \]

拉格朗日对偶函数是:
\[ g(v)=\min_x L(x,v) \]

要想求L的最小值, 我们需要求出L关于x的梯度:

\[ \nabla_x L = 0 \\ 2 X + A^T v=0 \\ x_*(v) = -0.5A^Tv \]

将上式带入对偶函数即可:

\[ g(v)=-0.25v^T(AAT)v=v^Tb \]

令:

\[ d^*=\max_v(-0.25v^T(AAT)v=v^Tb) \]

可以求得:
\[ v^*=-2(AA^T)^{-1} b \\ d^*=b^T(AA^T){-1}b \]

由于p*=d*, 解得:

\[ X^*=A^T(AA^T)^{-1}b \]