Spark推荐系统,干货,心得
点击上方蓝字关注~
支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面,本文主要了解下SVM预备知识。
预备知识:
1、有约束条件的最优化问题
2、拉格朗日函数
3、KKT条件
4、对偶问题
最优化问题一般是指对于某个函数而言,求解在其指定作用域上的全局最小值问题,一般分为以下三种情况(以下几种方式求出来的解都有可能是局部极小值,只有当函数是凸函数的时候,才可以得到全局最小值)
无约束问题:求解方式一般为梯度下降法、牛顿法、坐标轴下降法等
等式约束条件:求解方式一般为拉格朗日乘子法
不等式约束条件:求解方式一般为KKT条件
有约束条件的最优化问题
在之前线性回归及逻辑回归中,求解最优化问题均为无约束条件求解最优化(使用解析解求解及梯度下降法求解),但在SVM算法中涉及有约束条件的最优化求解问题。
举个例子:
假如 f(x) = 4x² + 5x + 10 ,最优化问题就是使得f(x) 最小 ,结果 x= -5/8 (无约束条件最优化问题)
假设给定约束条件 x>= 0 ,则 x=0的时候取得最小值 (有约束条件最优化问题)
带约束条件的最优化问题泛化表达方法:
s.t 表示受约束于。上式表示f(x)取最小值同时受约束于 k个c(x)<=0个不等式约束条件和L个h(x)=0个等式约束条件
定义原始的有约束条件的最优化问题的拉格朗日函数为:
其中ci是第i个不等式约束条件函数,hj是第j个等式约束函数,αi 和βj叫做拉格朗日乘子
拉格朗日函数的特性
将拉格朗日函数转化成无约束条件的表达形式
定义对偶问题
原始问题和对偶问题的关系
1、对偶问题的对偶是原问题
2、无论原始问题是否是凸的,对偶问题都是凸优化问题
3、对偶问题可以给出原始问题的一个下界
4、当满足一定条件的时候,原始问题和对偶问题的解是完美等价的
推导:
KKT条件:
在现在海量数据条件下,SVM被使用频率已经变少,但面试的时候喜欢问到。
推荐阅读:
机器学习-线性回归(一)
机器学习|梯度下降法
机器学习|逻辑回归
长按识别二维码关注我