这篇笔记,来自我对支持向量机(SVM)算法原理的学习。支持向量机算法最终归结为二次规划问题,研究二次规划问题,必须先从一般的最优化问题开始分析。如无特别声明,本文最优化问题特指寻求目标函数最小值。
一元函数最优化问题,可以简单归结为极值点必须满足下面两个条件:
dfdx=0(1)
\frac{df}{dx}=0\tag{1}
dxdf=0(1)
d2fdx2>0(2)
\frac{d^2f}{dx^2}>0 \tag{2}
dx2d2f>0(2)
#条件推广:一阶导数为零
二元函数情形,很容易得到第一个条件(1)式的推广形式:
∂f∂x=0,∂f∂y=0(3)
\frac{\partial f}{\partial x}=0, \frac{\partial f}{\partial y}=0\tag{3}
∂x∂f=0,∂y∂f=0(3)
#条件推广:二阶导数为正
我们可以认为,沿任意方向 (dx1,dx2)=(cosαdt,sinαdt)(dx_1, dx_2)=(\cos\alpha dt, \sin \alpha dt)(dx1,dx2)=(cosαdt,sinαdt),都有
d2fdt2>0(4)
\frac{d^2 f}{d t^2} > 0\tag{4}
dt2d2f>0(4)
下面我们推导一下,看看有什么结果,
dfdt=∂f∂x1dx1dt+∂f∂x2dx2dt=∂f∂x1cosα+∂f∂x2sinα(5)
\frac{df}{dt}=\frac{\partial f}{\partial x_1}\frac{dx_1}{dt} + \frac{\partial f}{\partial x_2}\frac{dx_2}{dt}=\frac{\partial f}{\partial x_1}\cos \alpha + \frac{\partial f}{\partial x_2}\sin \alpha\tag{5}
dtdf=∂x1∂fdtdx1+∂x2∂fdtdx2=∂x1∂fcosα+∂x2∂fsinα(5)
$$
\frac{d2f}{dt2}=…=\frac{\partial^2 f}{\partial x_12}\cos2 \alpha
- \frac{\partial^2 f}{\partial x_1 \partial x_2}\cos \alpha \sin \alpha
- \frac{\partial^2 f}{\partial x_2 \partial x_1}\cos \alpha \sin \alpha
- \frac{\partial^2 f}{\partial x_22}\sin2 \alpha \tag{6}
$$
对于所有的 α\alphaα ,要求上式恒大于零,那么函数的这四个二阶偏导应该满足什么条件呢?
#Hessian矩阵
令 d=(cosα,sinα)d=(\cos \alpha, \sin \alpha)d=(cosα,sinα),则有,
dT(∂2f∂x12∂2f∂x1∂x2∂2f∂x2∂x1∂2f∂x22)d>0(7)
d^T
\left(
\begin{matrix}
\frac{\partial^2f}{\partial x_1^2} & \frac{\partial^2f}{\partial x_1 \partial x_2} \\
\frac{\partial^2f}{\partial x_2 \partial x_1} & \frac{\partial^2f}{\partial x_2^2}
\end{matrix}
\right)
d > 0\tag{7}
dT(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)d>0(7)
其中,矩阵
H(f)=(∂2f∂x12∂2f∂x1∂x2∂2f∂x2∂x1∂2f∂x22)(8)
H(f)=\left(
\begin{matrix}
\frac{\partial^2f}{\partial x_1^2} & \frac{\partial^2f}{\partial x_1 \partial x_2} \\
\frac{\partial^2f}{\partial x_2 \partial x_1} & \frac{\partial^2f}{\partial x_2^2}
\end{matrix}
\right)\tag{8}
H(f)=(∂x12∂2f∂x2∂x1∂2f∂x1∂x2∂2f∂x22∂2f)(8)
称为 Hessian 矩阵,如果函数f(x)f(x)f(x)二阶导数连续,则该矩阵实对称矩阵。我们看到,二元函数取得极小值的另一个条件的推广形式是,函数的 Hessian 矩阵是正定矩阵。其实,这个结论很容易推广到 nnn 原函数。
由前面讨论可知,(7)式表示函数在方向 ddd 的二阶导数,这算是 Hessian 矩阵的几何意义吧。
#多元函数极值的判定
如果实值多元函数 f(x)f(x)f(x) 二阶连续可导,并且在临界点 x‾\overline xx 处梯度(一阶导数)等于0,即 ∇f(x‾)=0\nabla f(\overline x)=0∇f(x)=0 , 为驻点。仅通过一阶导数无法判断在临界点 处是极大值还是极小值。
记 f(x)f(x)f(x) 在 x‾\overline xx 点处的 Hessian 矩阵为 H(x‾)H(\overline x)H(x) 。由于 f(x)f(x)f(x) 在 x‾\overline xx 点处连续,所以 H(x‾)H(\overline x)H(x) 是一个 n×nn \times nn×n 的对称矩阵。对于 H(x‾)H(\overline x)H(x) ,有如下结论:
- 如果 H(x‾)H(\overline x)H(x) 是正定矩阵,则临界点 x‾\overline xx 处是一个局部的极小值。
- 如果 H(x‾)H(\overline x)H(x) 是负定矩阵,则临界点 x‾\overline xx 处是一个局部的极大值。
- 如果 H(x‾)H(\overline x)H(x) 是不定矩阵,则临界点 x‾\overline xx 处不是极值。
#正定矩阵的判定
接下来的问题就是如何判断一个矩阵是否为正定矩阵了,这方面参考资料很多,本文不再赘述。
原创不易,如有帮助,敬请点赞、关注、收藏,谢谢支持!
本文探讨了支持向量机(SVM)背后的最优化理论,包括一元与多元函数最优化的基本条件,以及Hessian矩阵在确定极值点类型中的应用。
3万+

被折叠的 条评论
为什么被折叠?



