01b无约束优化(准备知识)

1、解方程转化为优化问题

$n\left\{ \begin{aligned}& {{P}_{1}}(x)=0 \\ & {{P}_{2}}(x)=0 \\ & \text{   }\vdots  \\& {{P}_{n}}(x)=0 \\\end{aligned} \right.\text{              }x=\left[ \begin{aligned}  & {{x}_{1}} \\& {{x}_{2}} \\& \vdots  \\& {{x}_{n}} \\\end{aligned} \right]\text{    (n个自变量}\text{)}$

这个方程组里面的每一个函数${{P}_{i}}(x)$都是光滑 (一般指至少存在一阶和二阶导数)的,其函数可能是线性的,也可能是非线性的。

把上述解方程的问题转化为,优化问题:

$\text{ }x=\left[ \begin{aligned}& {{x}_{1}} \\& {{x}_{2}} \\& \vdots  \\& {{x}_{n}} \\\end{aligned} \right]\text{           }\left\{ \begin{aligned}& {{P}_{1}}(x)=0\text{    }\leftrightarrow  \\& {{P}_{2}}(x)=0\text{    }\leftrightarrow \text{ } \\& \text{   }\vdots  \\& {{P}_{n}}(x)=0\text{}\leftrightarrow  \\\end{aligned} \right.\left. \begin{aligned}& {{P}_{1}}^{2}(x)=0 \\& {{P}_{2}}^{2}(x)=0 \\& \vdots  \\& {{P}_{n}}^{2}(x)=0 \\\end{aligned} \right\}\text{ }\leftrightarrow \sum\limits_{i=1}^{n}{{{P}_{i}}^{2}(x)=0}$

这解法的好处:

  • 即便方程没有解,也可以通过$\operatorname{minimize}\text{  }f(x)=\sum\limits_{i=1}^{n}{{{P}_{i}}^{2}(x)}$求得近似解;
  • 在这里不要求方程组里面的函数${{P}_{i}}(x)$是多项式,可以是三角函数、指数函数等;
  • 当方程组里面某个方程${{P}_{i}}(x)=0$比较重要时,可以通过加权值${{w}_{i}}$:(局部加权回归)

$\operatorname{minimize}\text{  }f(x)=\sum\limits_{i=1}^{n}{{{w}_{i}}{{P}_{i}}^{2}(x)}\text{         }{{\text{w}}_{i}}>0$

  • 可以通过调整权值系数,让误差平分到每个方程上面。

2、在讨论无约束优化(Unconstrained Optimization)之前,先介绍几个基本符号:

  • 梯度:gradient (vector)

$\nabla f=\left[ \begin{aligned}& \frac{\partial f}{\partial {{x}_{1}}} \\& \frac{\partial f}{\partial {{x}_{2}}} \\& \vdots  \\& \frac{\partial f}{\partial {{x}_{n}}} \\\end{aligned} \right]$

  • 海森矩阵: Hessian (matrix)

\[H(x)={{\nabla }^{2}}f(x)=\nabla ({{\nabla }^{T}}f(x))=\left[ \begin{matrix}\frac{{{\partial }^{2}}f}{\partial x_{1}^{2}} & \frac{{{\partial }^{2}}f}{\partial {{x}_{1}}\partial {{x}_{2}}} & \cdots  & \frac{{{\partial }^{2}}f}{\partial {{x}_{1}}\partial {{x}_{n}}}  \\\frac{{{\partial }^{2}}f}{\partial{{x}_{2}}\partial {{x}_{1}}} & \frac{{{\partial }^{2}}f}{\partial x_{2}^{2}} & \cdots  & \frac{{{\partial }^{2}}f}{\partial {{x}_{2}}\partial {{x}_{n}}}  \\\vdots  & \vdots  & \ddots  & \vdots   \\\frac{{{\partial }^{2}}f}{\partial {{x}_{n}}\partial {{x}_{1}}} & \frac{{{\partial }^{2}}f}{\partial{{x}_{n}}\partial {{x}_{2}}} & \cdots  & \frac{{{\partial }^{2}}f}{\partial x_{n}^{2}}  \\\end{matrix} \right]\]

对于多元函数的极值问题,按照前面讲的,有如下步骤:

1.找出一阶偏导数等于0的点——驻点(极大值点、极小值点、拐点),即:

$\nabla f=0\text{    }\leftrightarrow \text{    }\left\{ \begin{aligned}& \frac{\partial f}{\partial {{x}_{1}}}=0 \\& \frac{\partial f}{\partial {{x}_{2}}}=0 \\& \vdots  \\& \frac{\partial f}{\partial {{x}_{n}}}=0 \\\end{aligned} \right.\text{ }$

2.接着通过二阶偏导数判断其是否为极值点,是极大值还是极小值点;多元函数的二阶偏导数用Hessian matrix表示,将stepa中得到的驻点代入,Hessian matrix中与极值有如下关系:

数学基础知识补充:

  • 实对称阵:的所有特征值都是实的;
  • 正定阵:所有特征值都大于0的方阵;
  • 半正定阵:所有特征值大于或等于0的方阵;

这里差一个证明,为什么Hessian矩阵的特征值大于0,该点为极小值?(下一部分中有说明)

原文地址:https://www.cnblogs.com/duyiExplorer/p/11176095.html

时间: 2024-10-15 21:49:50

01b无约束优化(准备知识)的相关文章

数值算法:无约束优化之一维搜索方法之黄金分割法、斐波那契数列法

目标函数为一元单值函数f:R->R的最小化优化问题,一般不会单独遇到,它通常作为多维优化问题中的一个部分出现,例如梯度下降法中每次最优迭代步长的估计. 一维搜索方法是通过迭代方式求解的,这不同于我们人脑的直接通过解表达式求解方法.迭代算法是从初始搜索点x(0)出发,产生一个迭代序列x(1),x(2),....在第k=0,1,2,...次迭代中,通过当前迭代点x(k)和目标函数 f 构建下一个迭代点x(k+1).某些算法可能只需要用到迭代点处的目标函数值,而另一些算法还可能用到目标函数的导数 f'

无约束优化方法

本文讲解的是无约束优化中几个常见的基于梯度的方法,主要有梯度下降与牛顿方法.BFGS 与 L-BFGS 算法,无约束优化的问题形式如下,对于 $x \in \mathbb{R}^n$ ,目标函数为: \[\min_xf(x)\] 泰勒级数 基于梯度的方法都会涉及泰勒级数问题,这里简单介绍一下,泰勒级数就是说函数 $f(x)$ 在点 $x_0$ 的邻域内具有 $n+1$ 阶导数,则该邻域内 $f(x)$ 可展开为 $n$ 阶泰勒级数为: \[f(x) = f(x_0) + \nabla f(x_0

MATLAB进行无约束优化

首先先给出三个例子引入fminbnd和fminuc函数求解无约束优化,对这些函数有个初步的了解 求f=2exp(-x)sin(x)在(0,8)上的最大.最小值. 例2 边长3m的正方形铁板,四角减去相等正方形,制成方形无盖水槽.怎样减使水槽容积最大. 解:列出目标函数(加负号,转化为求最小) min y=-((3-2x)^2)*x 例3 求多元函数最小值 minf(x)=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1) 下面是MATLAB优化工

数值算法:无约束优化之多维优化之共轭方向法

在效率上,共轭方向法位于最速下降法和牛顿法之间.它具有特性:对于n维二次型问题,能够在n步之内得到结果:共轭梯度法不需要计算海森矩阵:不需要求逆: 共轭方向: Q为n阶实对称矩阵,对于方向 d(0), d(1),... , d(m),  如果对于所有的 i 不等于 j ,有 d(i)TQd(j)=0, 则称它们是关于Q共轭的. 定理:如果Q是n阶正定矩阵(自然是对称的),如果方向d(0), d(1),... , d(k),k<=n-1非零,且是关于Q共轭的,那么它们线性无关: 构造n阶正定矩阵的

数值算法:无约束优化之一维搜索方法之多维优化问题中每步迭代的最优学习率设定问题

多维优化问题的迭代求解算法中,经常遇到学习率(步长)参数问题,比如线性分类器.一般如果采用固定学习率,那么算法收敛将比较慢,为了提高收敛速度往往需要不断调整学习率.一般多维优化问题中的迭代算法中的迭代公式为: xk+1=xk+rk dk 其中 xk 从给定的初始搜索点 x0 迭代,rk>=0为第k次迭代的学习率或步长,迭代目的是寻找最优解x*,使得代价函数 J(x) 最小,dk表示搜索方向,下面讨论学习率最优值问题, 定义: hk(r)=  J(xk + r*dk)  = J(xk+1) 而 J

数值算法:无约束优化之一维搜索方法之划界法寻找极小点上下界

前面介绍的黄金分割法.斐波那契数列法.二分法.牛顿法.割线法寻找极小点方法的前提是: 给定初始区间,它包含一个单峰的f(x). 如何寻找这个初始区间? 划界法:(挑选一个含有极小点的区间) 随机挑选3个点x1.x2.x3, 如果 f(x2)<f(x1) 且 f(x2)<f(x3) ,那么 [x1, x3]包含极小点.如果f(x1)>f(x2)>f(x3),那么选择一个点x4,x4>x3, 使得 f(x2) <f(x4)成立,这样[x1, x4]包含极小点.如果f(x1)

数值算法:无约束优化之一维搜索方法之二分法、牛顿法、割线法

1.二分法(一阶导) 二分法是利用目标函数的一阶导数来连续压缩区间的方法,因此这里除了要求 f 在 [a0,b0] 为单峰函数外,还要去 f(x) 连续可微. (1)确定初始区间的中点 x(0)=(a0+b0)/2 .然后计算 f(x) 在 x(0) 处的一阶导数 f'(x(0)), 如果 f'(x(0)) >0 , 说明极小点位于 x(0) 的左侧,也就是所,极小点所在的区间压缩为[a0,x(0)]:反之,如果 f'(x(0)) <0,说明极小点位于x(0)的右侧,极小点所在的区间压缩为[x

常用的机器学习知识(点)

常用的机器学习&数据挖掘知识(点) 声明:想做机器学习&数据挖掘的学弟学妹,可以看看,转载请说明出处... 常用的机器学习知识(点) Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),MLE(MaximumLikelihood Estimation最大似然估计),QP(Quadratic Programming 二次规划), CP(Conditi

随便写点给当初那个毫无计算机知识的自己吧

大一的时候,第一次知道了计算机语言,那时候学的是C语言.这个名词对我来说,当时简直就像个外星人用的,大学之前既无概念又无计算机相关知识(对计算机的了解,可能就只比鼠标可以点左右键多那么一点点吧).到了大学第一堂c语言课,怎么上的呢,我除了对里面用的数学知识懂之外,其余一切简直一脸蒙蔽,我不知道我的同学们懂了没,反正对我来说像个天方夜谭.后来我也不知道当时采取的办法对不对好不好,因为我也很笨,只能采取一些我所知道的笨的方法,那时候我几乎把上课用的教材翻烂了,我要求自己要理解每个概念,知道每个关键字