01(b)无约束优化(准备知识)
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,该点为极小值?(下一部分中有说明)
01(b)无约束优化(准备知识)的更多相关文章
- 无约束优化方法(梯度法-牛顿法-BFGS- L-BFGS)
本文讲解的是无约束优化中几个常见的基于梯度的方法,主要有梯度下降与牛顿方法.BFGS 与 L-BFGS 算法. 梯度下降法是基于目标函数梯度的,算法的收敛速度是线性的,并且当问题是病态时或者问题规模较 ...
- MATLAB进行无约束优化
首先先给出三个例子引入fminbnd和fminuc函数求解无约束优化,对这些函数有个初步的了解 求f=2exp(-x)sin(x)在(0,8)上的最大.最小值. 例2 边长3m的正方形铁板,四角减去相 ...
- 02(c)多元无约束优化问题-牛顿法
此部分内容接<02(a)多元无约束优化问题>! 第二类:牛顿法(Newton method) \[f({{\mathbf{x}}_{k}}+\mathbf{\delta })\text{ ...
- 02(b)多元无约束优化问题-最速下降法
此部分内容接02(a)多元无约束优化问题的内容! 第一类:最速下降法(Steepest descent method) \[f({{\mathbf{x}}_{k}}+\mathbf{\delta }) ...
- 02(a)多元无约束优化问题
2.1 基本优化问题 $\operatorname{minimize}\text{ }f(x)\text{ for }x\in {{R}^{n}}$ 解决无约束优化问题的一般步骤 ...
- 02(d)多元无约束优化问题-拟牛顿法
此部分内容接<02(a)多元无约束优化问题-牛顿法>!!! 第三类:拟牛顿法(Quasi-Newton methods) 拟牛顿法的下降方向写为: ${{\mathbf{d}}_{k}}= ...
- 02(e)多元无约束优化问题- 梯度的两种求解方法以及有约束转化为无约束问题
2.1 求解梯度的两种方法 以$f(x,y)={{x}^{2}}+{{y}^{3}}$为例,很容易得到: $\nabla f=\left[ \begin{aligned}& \frac{\pa ...
- 082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法
082 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 02 构造方法介绍 01 构造方法-无参构造方法 本文知识点:构造方法-无参构造方法 说明:因为时间紧张, ...
- 01网络编程(基础知识+OSI七层协议+TCP与UDP)
目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...
随机推荐
- MVC 自定义路由规则
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...
- Socket 专题
Socket小白篇-附加TCP/UDP简介 Socket 网络通信的要素 TCP和UDP Socket的通信流程图 1.Socket 什么是Socket Socket:又称作是套接字,网络上的两个程序 ...
- Android系统adb命令查看CPU与内存使用率
1. 打开终端,进入上述目录,如下图所示: 2. 输入adb shell,打开adb命令行,如 ...
- vmstat命令浅析
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...
- lvcreate命令
lvcreate Command Examples on Linux : 1. The following command creates a logical volume 15 gigabytes ...
- Elasticsearch教程(二)java集成Elasticsearch
1.添加maven <!--tika抽取文件内容 --> <dependency> <groupId>org.apache.tika</groupId> ...
- jsp中的指令与动作
JSP中的三种命令指令分别是page.include.taglib JSP中的动作元素包括:include.forward.useBean.getProperty.setProperty.plugin ...
- c#透明panel
先看下效果 纯透明的pane,然后设置一个半透明的图片,可以看出来显示了父控件的button 看代码 public partial class PanelEx : Panel { protected ...
- 台电P89s mini root教程
根据论坛内的一些内容再结合自己的使用心得整理如下,本人双11购入P89s mini root成功 自带软件什么的都不见了 以下是个人root过程,有不一样的地方欢迎交流,说实话我也不是很懂 1.升级 ...
- Django预备知识
http协议 url: 协议://域名(IP)+端口(80)/路径?参数(a=1&b=2) 示例:https://www.baidu.com/s/?wd=aaa MVC M:mdoel 与数据 ...