SVM支持向量机是目前非常好用的一种分类算法,但是其中的原理推导涉及了一些数学知识:例如其中在处理我们构建得到的数学模型时,最优化问题中就使用到了拉格朗日乘子法与KKT条件。
通常需要解决的优化问题有三类:
1.无约束的优化问题
min f(x)
求取f(x)的导数使其为零,求解出候选值,在其中验证选择出最优值,就是高中常用的方法。
2.有等式约束的优化问题
min f(x)
s.t. h_i(x)=0
使用拉格朗日乘子法,构建函数L(a,x)=f(x)-a*h_i(x),a是>=0的拉格朗日乘子,令L(a,x)对各变量求导使其为零,获得候选值的集合,这个方法在高数中也曾用过。
3.有不等式约束的优化问题
min f(x)
s.t. g_i(x)>=0
h_i(x)=0
对此同样把目标函数、等式不等式约束写为一个式子:L(a,b,x)=f(x)-a*g_i(x)-b*h_i(x),KKT条件就是说找到最优值一定满足这三个条件:①L(a,b,x)对x求导为零 ②h(x)=0 ③a*g(x)=0&#