码迷,mamicode.com
首页 > 编程语言 > 详细

经典优化算法

时间:2019-11-24 15:44:26      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:信息   lin   经典   速度   假设   优化算法   学习   问题   isp   

无约束优化算法

假设求解\(\min L(\theta)\)\(L(\cdot)\)光滑

直接法

  • 两个条件
    • 函数是凸函数
    • 一阶导数为零等式有闭式解

迭代法

假设优化问题为\(\begin{aligned} \delta_t = \mathop{\arg \min}_{\delta} L(\theta_t+\delta) \end{aligned}\),其中\(\theta_t\)是参数

一阶法

  • 对函数\(L(\theta_t+\delta)?\)做一阶泰勒展开,得到近似式\(L(\theta_t+\delta) \approx L(\theta_t) + \nabla L(\theta)^T \delta?\)

  • 由于该近似式只有在\(\delta\)较小时才比较准确,因此在求解\(\delta_t\)时一般加上\(L_2\)正则项

    \[\begin{aligned} \delta_t & = \mathop{\arg \min}_{\delta} \left( L(\theta_t) + \nabla L(\theta_t)^T\delta + \frac{1}{2\alpha}||\delta||^2_2 \right) \\ & = -\alpha \nabla L(\theta_t) \end{aligned}?\]

  • 一阶法的迭代公式为

    \[\theta_{t+1} = \theta_t - \alpha \nabla L(\theta_t)\]
    其中\(\alpha\)为学习率

  • 也称为梯度下降法,梯度就是目标函数的一阶信息

二阶法

  • 对函数\(L(\theta_t+\delta)?\)做二阶泰勒展开,得到近似式\(L(\theta_t+\delta) \approx L(\theta_t) + \nabla L(\theta)^T \delta + \frac{1}{2}\delta^T \nabla ^2 L(\theta^T)\delta?\)

  • 其中\(\nabla^2 L(\theta_t)\)是函数在\(\theta_t\)处的Hessian矩阵。通过求解近似优化问题

    \[\begin{aligned} \delta_t & = \mathop{\arg \min}_{\delta} \left( L(\theta_t) + \nabla L(\theta_t)^T\delta + \frac{1}{2}\delta^T \nabla ^2 L(\theta^T)\delta \right) \\ & = -\nabla^2 L(\theta_t)^{-1}\nabla L(\theta_t) \end{aligned}\]

  • 二阶法的迭代公式为

    \(\theta_{t+1} = \theta_t - \nabla^2 L(\theta)^{-1} \nabla L(\theta_t)\)

  • 也称为牛顿法,Hessian矩阵就是目标函数的二阶信息

  • 收敛速度快于一阶法,但在高维情况下,Hessian矩阵求逆计算复杂度很大

  • 而且当目标函数非凸时,可能收敛到鞍点

  • 改进:拟牛顿法,如BFGS算法

经典优化算法

标签:信息   lin   经典   速度   假设   优化算法   学习   问题   isp   

原文地址:https://www.cnblogs.com/weilonghu/p/11922492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!