当前课程知识点:优化设计 > 第二章 优化设计的极值理论与数学基础 > 2.1 函数的梯度 > 2.1 函数的梯度(上)
同学们好
我是天津大学
电气自动化与信息工程学院的老师杨挺
今天我们来讲
优化设计的极值理论与数学基础
那我们通过前一章的学习我们看到
实际上对于优化设计
我们说的它是用数学规划论为基础的
这里包含了大量的数学问题
对于无约束优化问题
实际上对应的数学问题
就是多元函数无条件的极值问题
约束优化问题所对应的就是
多元函数的条件极值问题
是一一对应的
所以说诸多的工程优化问题
是建立在对于多元函数极值理论的基础上的
那么这里面呢我们补充一些基本的数学知识
第一个我们看一个名词叫做函数的梯度
我们用倒三角f(X)来表示
还是从已知来学未知
什么是已知呢
我们以前都学过偏导数
函数沿某个座标轴方向的变化率
我们称为是偏导数
回忆一下f(X)在任意一点x处的
偏导数的定义是什么
回到学习的本源定义
∂f(X)比∂xi等于什么
这什么意思是不把其它维都固定了
在xi这一维增加一个△xi
则函数值的变化率
fXi加△xi和fXi这一解什么
是不是因为xi的变化而函数值的变化
它两个比值是变化率
然后呢令△xi趋向于零取极限
这是我们的偏导数的定义
∂f比∂xi的定义
那我们通过偏导数
我们来引申一下我们的方向导数
函数沿某一个给定方向s的变化率
以n=2为例你能看到能画出来
我也用x1x2
之前我们是要么沿x1轴走
要么沿x2轴走
只能这么走
现在呢我沿着某一个方向
x等于x1 x2
我这么一写
这么一个点在这个平面里面给了这么一个点
由原点到这个点是不有长度有方向
是不就是矢量
然后呢我从这个矢量为起点
随便找一个方向s方向
那么从这个点开始我沿这个方向的
函数值的变化率是多少呢
我们称为是方向导数
从x等于x1x2这一点
沿s方向的变化
以前是沿着坐标轴变化我们是△xi对不对
那既然沿这个方向变化那我是不应该△s对不对
变化△s以后由x1x2变到哪了
是不变到这一点了
变到这一点了
那么这一点应该是
x1加△x x2加△x
反正是这点到底变化多少我不知道
但是我知道反正由x变成x1了
然后呢x坐标是x1x2
x1的坐标是x1加△x2 x2加△x2对吧
就变到这一点
那么这一点同样是一个矢量
x1这一个矢量
那所以说呢
我变成什么数学表达形式
由x x1 x2沿着s方向变化了△s
变到了一个新的点x1这一点
x1=x1+△x1 x2+△x2应该是这个点
那这样子的话呢
这是△x1这是△x2
那么这样呢我们来看看f(x)在任一点x处
沿s方向的变化率是多少怎么写
数学功底比较好的可能直接能写出来了
是不是仿照着我们偏导数来写呀
函数值的变化率
比上你沿这个方向的变化率等于什么
函数值变化率怎么写
函数值变化率吗无非是
f(x1)减去f(x)吗
f(x1)不就是x1+△x1 x2+△x吗
f(x)不就是f(x1 x2)吗
比上沿这个你之前是△x1
现在不就是△s吗
沿这个方向的变化率不就是△s吗
这里边△s等于什么
由图可知等于
根号下△x1平方加上△x2平方
之前那个偏导数是不也这样做的
做完以后怎么办
取极限对不对
△xi取极限我现在让△s取极限
就变成什么啦
取极限这个式子我就写成了∂f(X)∂s
把它称为f(X)在任意一点x处
沿s方向的方向导数
你原来是∂f(X)比∂xi变成了∂f(X)比上∂s
由原来的只能沿坐标轴来改变的方向呢
变成了我沿任意方向
使你的这个所获得的工具呢变得更多样化了
我可以沿任意方向去改变
那么这是我们的方向导数定义
跟我们偏导数实际上是一脉相承的
那我们来具体再看一下
那既然有个新的知识了
∂f(X)比∂s的话
那到底我方向导数和我的偏导数之间什么关系
我们总说由已知推未知到底什么关系
我们来看一看
lim∂s趋向于0
△f(X)比上△s等于这个式子
我们看这个式子以后呢我们这里面呢变形一下
什么变形呢
减去一项再加上一项
然后呢我在除以一项乘以一项
除以一项乘以一项
仔细在分析一下
首先这个很简单对吧
我多除一个△X1乘一个△X1
这两个一除一乘是没有问题对吧
所以说这个和这个可以约掉
是不还是等于除以一个△s
这是没有问题的
那这是一样
△X2这一除一乘约掉
还是除以一个△s没有问题
然后呢减了这一项加了这一项
这两项是不一样的
是一样是不也没有问题
你把它化简回去是不还原来那个式子
但是这为什么这么做呢你们看一看
我们先看这个式子吧
这个式子大家好理解
f(x1,x2-△x2)减去 f(x1,x2)除以△x2
这什么东西
不就是原原本本的什么
∂f比∂x2吗
没有一点改变对不对
x1x2+△x2- f(x1)再比上∂x2
是不就∂f比∂x2
没有任何问题那好我们看这一项
这一项好像复杂一点
但你仔细看
是不是x2没变呀
x2+△x2是不这一项没有变
x1是不变化△x1又比上△x1
是不∂f比∂x1
那这一项是∂f比∂x1
这一项是∂f比∂x2
△x1比上△s什么东西
看图△x1比上△s
是不是这个角的余弦
△x2比上△s是不是这个角的余弦
那好了我可以写什么
我可以写出来
∂f比∂x比上∂x1乘以什么cosα1
加上∂f(x)比∂x2cosα2
α1和α2是哪个
这是α1看图那是α2
它比它乘以cosα1
它比它乘以cosα2对吧是这两个
建立起什么呢
建立起来了方向导数和偏导数之间的关系
实际上什么总结一句话什么
方向导数是什么
偏导数乘以这个坐标轴
与方向之间夹角的余弦再Σ起来
是不就可以了
只是两个坐标x1x2
如果多的话是不是Σ起来多就行了
这里面的cosα1 cosα2称为是方向余弦
那么很容易得到什么
cosα1平方加上cosα2平方等于1
那么由这样的式子呢我们可以得到什么呢
很简单如果说当α1等于0
α2等于90度的时候
是不是我们的方向导数变成了什么偏导数了
那同样的如果α2等于0 α1 90度
是不沿着x2这个轴走了∂x2
所以说方向导数是偏导数的推广
偏导数是方向导数的特例
那么由两维的推广到n维
∂f(x)比∂s等于Σ求和
i等于1到n n维的1到n
∂f(x)比∂xicosαi
那么同样Σ求和i等于1到n
cos我们的方向余弦的平方和是等于1的
cosαi是i等于123到n
方向余弦是等于1的
我们称为s的方向余弦
有n个那么cosα称为是s的方向余弦
那我们再看一下对于方向导数
那我们说方向导数它的定义就是
函数沿某个给定方向s的变化率
∂f(x)比∂x等于Σ求和
∂f(x)比∂xicosαi
然后呢Σ求和i等于1到n cos平方αi等于1
这是我们的定义
看一个例子
f(x)等于4分之πx1平方x2
如果设我有两个方向
第一个方向是α1等于4分之π
α2等于4分之π
s2是α1等于3分子π α2等于6分子π
那你求在某一点 哪个点呢
x0等于1 1 这一点
沿s1和s2的方向导数
只有定义那就用定义求呗是吧
那有x1x2无非是两个方向
一个是s1对吧因为是4分之π4分之π吗
对吧是这个方向45度角
s2 60度角3分之π 60度角对吧
沿这两个方向 什么意思啊
这一点x0就这个函数在这一点处
沿这两个方向的什么
函数值的变化率
那怎么办就按定义做呢
很简单把什么定义既然是方向导数等于
偏导数乘以cos方向余弦那就是什么
把两偏导数求出来呗
然后呢沿x1方向
那就是∂f(x0)s1把x0代进去
把方向代进去
算一算 算出来就可以了
然后呢∂f(x)比∂x2把方向代进去
把这个x0代进去
算一算算出来就可以了
然后就答了
答f(x)在x 0点处的
沿x1的方向导数为这个值
沿x2的方向导数为这个值
同样的f(x) 同样的x0这一点
是不是沿不同方向的方向导数是不一样的
再回过头来想什么是方向导数
方向导数是函数沿某一给定方向的什么
函数值的变化率对不对
∂f(x)吗函数值变化率
沿某一给定方向s函数值的变化率是方向导数
那什么意思
是不是都在x0这一点
我沿着不同的方向
函数值的变化率是不同的
这里我可以讲
为什么我们要学习方向导数了
我们最终目的什么 这门课什么
优化设计 寻找什么
最优点或者是寻找minf(x)
f(x)最小那个点对不对
如果我知道了一个已知点
我要去寻找那个最小那个点
我是不是要一步一步的去往小的地方去跑
那我怎么去跑
得有个指导方向吧
这个指导方向是不就是我们这里的方向
看到了不同的指导方向
它的函数值的变化率是不一样的
说明什么问题
我选择一个正确的指导方向
我可以更快的去什么
找到我的最优解对不对
是不是很有意义的 为什么
因为可能有的时候你需要实时控制
或者实时的去在线的去找你的最优解
需要你的算法的计算速度要快
那么甚至有些时候什么
有些时候你找到不好的方向什么
你通过计算 通过买最好的计算机
通过估算发现在你如果方向不好的话
在你有生之年可能算不出来这个解
也甚至有可能这种情况
因为你的问题非常大 非常复杂
那你怎么办
你要找到一个合适的方向
找到一个合适的方向
让你每一次计算
这个函数值的下降的变化率最大
那你是不就是效率最高的
在优化设计问题里边还有优化问题对吧
那就是找什么合适的方向
那所以说什么呢
f(x)在不同点处
沿不同方向的变化率是不相等的
那就存在一个问题了
f(x)在某一点处
沿什么方向的变化率是最大的
是不自然而然会出现这个问题了
那我到底沿哪个方向走我是最优的呢
是变化率最大的呢
那么能够帮助我去最有效的去求解这个问题呢
那么这就是我们这样的一个一个问题
那我把这个问题留下来
我们下一课在讲这样一个问题
到底是什么样的一个方向是我们
能使f(x)变化率最大这么一个方向好吧
好了我们今天就讲到这
-1.1 优化设计概述
-1.2 优化设计的数学模型
-1.3 最优化问题几何解释
-第一章 讨论
--第一章讨论
-第一章 作业
--第一章 作业
-2.1 函数的梯度
-2.2 多元函数的泰勒展开
-2.3 二次函数
--2.3 二次函数
-2.4 无约束优化问题的极值条件
-2.5 凸函数
--2.5 凸函数
-2.6 约束优化问题的极值条件
-2.7 优化设计方法的基本思想与迭代终止准则
-第二章 讨论
--第二章讨论
-第二章 作业
--第二章 作业
-3.1 搜索区间的确定及区间消去法原理
-3.2 黄金分割法
-第三章 讨论
--第三章讨论
-第三章 作业
--第三章 作业
-4.1 共轭方向法及其改进
-4.2 梯度法
--4.2 梯度法
-4.3 牛顿法
--4.3 牛顿法
-4.4 变尺度法
--4.4 变尺度法
-第四章 讨论
--第四章讨论
-第四章 作业
--第四章 作业
-5.1 复合形法
--5.1 复合形法
-5.2 惩罚函数法
-第五章 作业
--第五章 作业
-6.1 遗传算法
--6.1 遗传算法
-6.2 人工神经网络与神经网络优化算法
-第六章 作业
--第六章 作业
-7.1 实例
--7.1 实例1
--7.2 实例2
-第七章 作业
--第七章 作业
-期末考试
--期末考试