找回密码
 立即注册
查看: 334|回复: 0

白话机器学习-最优化方法-牛顿法

[复制链接]
发表于 2022-1-25 10:38 | 显示全部楼层 |阅读模式
简介

牛顿法,英文名称BFGS,是求解非线性优化问题的最有效的方法之一。
特点


  • 收敛速度快;
方式


  • 牛顿法是迭代算法,每一步需要求解目标函数的海塞矩阵的逆矩阵,计算比较复杂(后续会讲解拟牛顿法,拟牛顿法通过正定矩阵近似海塞矩阵的逆矩阵或海塞矩阵,简化了这个过程。
分析

考虑无约束最优化问题


其中为目标函数的极小点。 假设f(x)具有二阶连续偏导数,若第k次迭代值为,则可将f(x)在附近进行二阶泰勒展开:



  • 是f(x)的梯度向量在的值。
  • 是f(x)的海塞矩阵  在的值。
这里详解下泰勒展开式的里面的海塞矩阵,暂时讲解下二元函数的泰勒展开式



接着我们继续进行,函数f(x)有极值的必要条件是在极值点处的一阶导数为0,即梯度向量为0。特别是当是正定矩阵的时候,函数f(x)的极值为极小值,所以:


对f(x)求导,则





或者


其中


到此公式推导完毕
算法

输入:目标函数f(x),梯度,海塞矩阵H(x),精度要求ε; 输出:f(x)的极小点x^*;

  • 取初始值点,k=0;
  • 计算
  • ,则停止计算,得到解
  • 计算,并且求解



  • 进行迭代,,请求k++,转到第2步;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-24 06:12 , Processed in 0.117297 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表