花书学习笔记(2) 病态、梯度优化、约束优化

病态条件

条件数:是指函数相对于输入的微小变化而变化的快慢程度。而微小的输入变化导致剧烈的输出变化时,方程存在病态。描述 f(x)=A1x 的条件数定义为:

maxi,jλ1λ2

即最大与最小特征值之比。当该数很大时,输出对输入误差敏感。

梯度下降

  1. 对x在x0处做泰勒展开:

    f(x)=f(x(0))+(xx(0))Tg+12(xx(0))TH(xx(0))

    x=x(0)ϵg 代入得到:
    f(xx(0))=f(x(0))ϵgTg+12ϵ2gTHg

    gTHg 为0或者负时,增大 ϵ 将永远使f减小。
    gTHg 为正时,下降最多的最优的 ϵ 为:
    ϵ=gTggTHg

  2. 牛顿法
    同样二阶泰勒展开:

    x=xH(f)(x(0))1xf(x(0))

    当H阵的所有特征值为正的时候牛顿法才适用

约束优化

  • 首先无约束问题的优化,可以计算一阶导数的零点或者使用梯度下降法逐渐逼近最小点。
  • 如果有等式约束,如:

    minf(x),s.t.hi(x)=0,i=0,1,...

    构建拉格朗日方程:
    L(x,λ)=f(x)+iαihi(x)

    解法,分别对参数 x lambda 进行求导,
    aLax=0,aLaλ=0

  • 广义拉格朗日函数。假设 h(j) 为等式约束, g(i) 为非等式约束。构建广义拉格朗日函数:

    L(x,λ,α)=f(x)+iλig(i)(x)+jαjh(j)(x)

    那么:
    minxmaxλmaxα,α0L(x,λ,α)

    接下来怎么解?

以最小二乘为例

f(x)=12||Axb||22

如果没有约束,则对 x 求导,得到:
xf(x)=AT(Axb)

令其为0,得到最小二成的正态方程解,即:
x=(ATA)1ATb

若加入约束 xTx=1 ,则构建L:

L(x,λ)=12||Axb||22+λ(xTx1)

对其微分:
ATAxATb+2λx=0

x=(ATA+2λI)1ATb

你可能感兴趣的:(Deep,Learning)