深度学习的数学基础之优化理论

基于梯度的优化

深度学习中,输入输出都是向量,不同于单输入输出的梯度优化,输出对于输入的梯度有许多个,数学上将这些梯度组成一个矩阵,称为Jacobian矩阵

  • Jacobian矩阵
    由输出对输入的一阶导数组成,定义为: J i , j = d f ( x ) i d x j J_{i,j}=\frac{df(x)_i}{dx_j} Ji,j=dxjdf(x)i

有时候,我们也对二阶导数感兴趣,他会给我们关于极大极小的信息。同样的,对于多维输入与输出,其二阶导数组成Hessian矩阵

  • Hessian矩阵
    由二阶导数组成的矩阵,定义为: H ( f ) ( x ) i , j = d 2 f ( x ) d x i d x j H(f)(x)_{i,j}=\frac{d^2f(x)}{dx_idx_j} H(f)(x)i,j=dxidxjd2f(x)

  • Hessian矩阵的性质(在一阶导数为0处,看二阶导)

    • Hessian矩阵正定,此处为极小值点。
    • Hessian矩阵负定,此处为极大值点。
    • Hessian矩阵至少有一正一负,此处为鞍点。

Hessian矩阵可以提供搜索极点的信息,最简单的牛顿法就是用该矩阵完成临界点计算的。

约束优化

约束优化指带有输入约束的优化问题,比较通用的解决方法是KKT方法
该方法的核心是将约束用函数的形式加到优化项里去,即定义新的优化目标(称为广义Lagrange函数),转化为无约束的优化问题。
例如:
对于输入约束: S = { x ∣ g ( i ) ( x ) = 0 , a n d , h ( j ) ( x ) ≤ 0 } S = \{x | g^{(i)}(x)=0, and, h^{(j)}(x) \le 0 \} S={xg(i)(x)=0,and,h(j)(x)0}
则对于原始优化目标 f ( x ) f(x) f(x),定义Lagrange函数为:
L ( x , λ , α ) = f ( x ) + ∑ i λ i g ( i ) ( x ) + ∑ j α j h ( j ) ( x ) L(x,\lambda,\alpha)=f(x)+\sum_i \lambda_i g^{(i)}(x)+\sum_j \alpha_j h^{(j)}(x) L(x,λ,α)=f(x)+iλig(i)(x)+jαjh(j)(x)

则可以通过优化无约束的广义Lagrange函数解决约束最小化问题,只要存在至少一个可行点,且f(x)不取无穷,那么
m i n x m a x λ m a x ( α , α > 0 ) L ( x , λ , α ) min_x max_\lambda max_{(\alpha,\alpha>0)} L(x,\lambda,\alpha) minxmaxλmax(α,α>0)L(x,λ,α)

m i n x ∈ S f ( x ) min_{x\in S}f(x) minxSf(x)
有相同的最优目标函数值和最优点集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值