多维梯度法(Multidimensional Gradient Methods)求多元函数极值或局部最大值 您所在的位置:网站首页 二次提取公积金相隔要多久 多维梯度法(Multidimensional Gradient Methods)求多元函数极值或局部最大值

多维梯度法(Multidimensional Gradient Methods)求多元函数极值或局部最大值

2024-02-01 02:52| 来源: 网络整理| 查看: 265

多维梯度法 利用优化函数的导数信息来指导搜索与直接搜索方法相比,更快地找到解决方案需要对解决方案进行良好的初步估计目标函数需要是可微的 梯度法

首先介绍一下梯度法。

梯度是一个向量算子,用▽表示(记作del);当应用于一个函数时,它表示函数的方向导数;坡度(方向导数)是一种特殊情况,即坡度的方向是上升(ascent)/下降(descent)最多或最陡的方向。

对于一个二维函数f(x,y),沿哪个方向是上升速度最快的方向?答案是,沿梯度方向。二维函数f(x,y)的梯度为 在这里插入图片描述 高维的情况与之类似。

梯度上升/下降法

在这里插入图片描述

梯度法的例子

求f(x) = x2 + y2 +2x + 4 的极值 代码:

#梯度下降法 from sympy import * from sympy.abc import x,y,h def f(x,y): f = x**2 + y**2 +2*x + 4 return f x_n = 2 #x的初始点 y_n = 1 #y的初始点 while True: df_x = diff(f(x,y),x).subs(x,x_n) #df_x是关于x的一阶求导 df_y = diff(f(x,y),y).subs(y,y_n) #df_y是关于y的一阶求导 if df_x == 0 and df_y == 0: #或者写成df_x 0: judge = '小' elif detH > 0 and d2f11


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有