关于支持向量机里的拉格朗日乘子法有很多文章,作为学习笔记这里就不详细描述了,只记录一些一般文章里跳过的难以理解部分
Support Vector Machine wiki : https://en.wikipedia.org/wiki/Support_vector_machine
- 拉格朗日乘子法和KKT条件
1.1 对于无约束优化问题中,如果一个函数f是凸函数,那么可以直接通过f(x)的梯度等于0来求得全局极小值点。
1.2 对于等式约束,以下例子来说明:
令g(x, y) 为约束条件,我们需要求f(x, y)的min/max value. 用下面的图来直观理解:
f(x, y)是中间的圆,随着x和y变大会不断外扩,两条蓝线就是g(x, y) = 0的曲线
他们相切的时候就是min/max value(不详细解释,很多文章可以看)
相切意味着梯度方向相同,这里经常会跳过一段,梯度向量的表达方式:
就是矩阵形式求偏导,既然他们方向一致,那么我们就有:
把方程都联立起来,我们就有: