优化方法先容(二)

打印 上一主题 下一主题

主题 1518|帖子 1518|积分 4554

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
优化方法先容(二)

本博客是一个系列博客,重要是先容各种优化方法,利用 matlab 实现,包括方法先容,公式推导和优化过程可视化
1 BFGS 方法先容

BFGS 的其实就是一种改良后的牛顿法,因为盘算二阶导数 Hessian 矩阵所需的盘算资源是比较大的,复杂度为  O ( 2 ⋅ n 2 ) \mathcal{O}(2 \cdot n^2) O(2⋅n2) , 此中  n n n 为函数中的变量数目,当  n n n 比较大时,盘算量就相当大了。BFGS 的思路就是,既然更新公式中须要的是 Hessian 矩阵的逆,那我们通过某种方法来拟合它不就好了
  p k = − G k − 1 ⋅ g k p_k = -G_k^{-1} \cdot g_k pk​=−Gk−1​⋅gk​
经过数学家们的推导,Hessian 矩阵的逆  G k − 1 G_k^{-1} Gk−1​ 可以近似为
  D k + 1 = ( I − s k ⋅ y k T y k T ⋅ s k ) D k ( I − y k ⋅ s k T y k T ⋅ s k ) + s k ⋅ s k T y k T ⋅ s k D_{k+1} = (I - \frac{\mathbf{s}_k \cdot \mathbf{y}_k^{\mathrm{T}}}{\mathbf{y}_k^{\mathrm{T}} \cdot \mathbf{s}_k}) D_k (I - \frac{\mathbf{y}_k \cdot \mathbf{s}_k^{\mathrm{T}}}{\mathbf{y}_k^{\mathrm{T}} \cdot \mathbf{s}_k}) + \frac{\mathbf{s}_k \cdot \mathbf{s}_k^{\mathrm{T}}}{\mathbf{y}_k^{\mathrm{T}} \cdot \mathbf{s}_k} Dk+1​=(I−ykT​⋅sk​sk​⋅ykT​​)Dk​(I−ykT​⋅sk​yk​⋅skT​​)+ykT​⋅sk​sk​⋅skT​​
此中, s k = x k − x k − 1 \mathbf{s}_k = \mathbf{x}_k - \mathbf{x}_{k-1}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表