1、解方程转化为优化问题
$nleft{ egin{aligned}& {{P}_{1}}(x)=0 \ & {{P}_{2}}(x)=0 \ & ext{ }vdots \& {{P}_{n}}(x)=0 \end{aligned} ight. ext{ }x=left[ egin{aligned} & {{x}_{1}} \& {{x}_{2}} \& vdots \& {{x}_{n}} \end{aligned} ight] ext{ (n个自变量} ext{)}$
这个方程组里面的每一个函数${{P}_{i}}(x)$都是光滑 (一般指至少存在一阶和二阶导数)的,其函数可能是线性的,也可能是非线性的。
把上述解方程的问题转化为,优化问题:
$ ext{ }x=left[ egin{aligned}& {{x}_{1}} \& {{x}_{2}} \& vdots \& {{x}_{n}} \end{aligned} ight] ext{ }left{ egin{aligned}& {{P}_{1}}(x)=0 ext{ }leftrightarrow \& {{P}_{2}}(x)=0 ext{ }leftrightarrow ext{ } \& ext{ }vdots \& {{P}_{n}}(x)=0 ext{}leftrightarrow \end{aligned} ight.left. egin{aligned}& {{P}_{1}}^{2}(x)=0 \& {{P}_{2}}^{2}(x)=0 \& vdots \& {{P}_{n}}^{2}(x)=0 \end{aligned} ight} ext{ }leftrightarrow sumlimits_{i=1}^{n}{{{P}_{i}}^{2}(x)=0}$
这解法的好处:
- 即便方程没有解,也可以通过$operatorname{minimize} ext{ }f(x)=sumlimits_{i=1}^{n}{{{P}_{i}}^{2}(x)}$求得近似解;
- 在这里不要求方程组里面的函数${{P}_{i}}(x)$是多项式,可以是三角函数、指数函数等;
- 当方程组里面某个方程${{P}_{i}}(x)=0$比较重要时,可以通过加权值${{w}_{i}}$:(局部加权回归)
$operatorname{minimize} ext{ }f(x)=sumlimits_{i=1}^{n}{{{w}_{i}}{{P}_{i}}^{2}(x)} ext{ }{{ ext{w}}_{i}}>0$
- 可以通过调整权值系数,让误差平分到每个方程上面。
2、在讨论无约束优化(Unconstrained Optimization)之前,先介绍几个基本符号:
- 梯度:gradient (vector)
$ abla f=left[ egin{aligned}& frac{partial f}{partial {{x}_{1}}} \& frac{partial f}{partial {{x}_{2}}} \& vdots \& frac{partial f}{partial {{x}_{n}}} \end{aligned} ight]$
- 海森矩阵: Hessian (matrix)
[H(x)={{ abla }^{2}}f(x)= abla ({{ abla }^{T}}f(x))=left[ egin{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} ight]]
对于多元函数的极值问题,按照前面讲的,有如下步骤:
1.找出一阶偏导数等于0的点——驻点(极大值点、极小值点、拐点),即:
$ abla f=0 ext{ }leftrightarrow ext{ }left{ egin{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} ight. ext{ }$
2.接着通过二阶偏导数判断其是否为极值点,是极大值还是极小值点;多元函数的二阶偏导数用Hessian matrix表示,将stepa中得到的驻点代入,Hessian matrix中与极值有如下关系:
数学基础知识补充:
- 实对称阵:的所有特征值都是实的;
- 正定阵:所有特征值都大于0的方阵;
- 半正定阵:所有特征值大于或等于0的方阵;
这里差一个证明,为什么Hessian矩阵的特征值大于0,该点为极小值?(下一部分中有说明)