优化器在找什么
优化问题有一个要变小的数,即目标函数 f(w),以及可以自由调整的变量 w。目标可以是最小二乘损失、组合的方差 wTΣw,或校准中模型价格与市场价格之间的差距。要让某个量变大只是符号相反的同一个问题,因为最大化 f 就是最小化 −f。
∇f(w)=(∂w1∂f,…,∂wn∂f),Hij=∂wi∂wj∂2f(1) 梯度指向 f 上升最快的方向,所以 −∇f 是最速下降方向。极小点处梯度为零,这是一阶条件。但仅有零梯度还不够,极大点和鞍点也有零梯度。Hessian H 能把它们区分开:若 H 正定(特征值全为正),该点是局部极小点;若负定则是极大点;若特征值有正有负,则是鞍点。
一个双变量例子取
f(x,y)=(x−1)2+2(y+2)2,则
∇f=(2(x−1),4(y+2))。在点
(3,0) 梯度为
(4,8),沿其反方向移动会使
f 下降。梯度只在
(1,−2) 处为零,那里
H=diag(2,4) 的特征值为正,所以
(1,−2) 是极小点,
f=0。
- 驻点:∇f=0。是极小的必要条件,但不充分。
- 分类:H 正定为局部极小,不定为鞍点。
- 单变量:f′(x)=0 且 f′′(x)>0 即为极小。
用数值方法检验梯度优化中的多数错误都出在梯度写错。用小的 h(如 10−5)的中心差分 (f(x+h)−f(x−h))/(2h) 与你的公式对照,两者应在多位数字上一致。每个新目标函数都先做一次这样的检验,再信任使用它的求解器。 实验:评分内容
- 偏导数15 分
- 梯度的长度15 分
- 三次函数的极小值15 分
- 对驻点分类15 分
- 配对术语15 分
- 手算求极小值10 分
- 为什么要逆着梯度走15 分