dual svm

SVM通过margin找到最佳的超平面,利用这一特性,我们可保证对于问题蕴含复杂的规则可以得到刻画,也能保证模型不会太复杂(dvc可以得到控制),所以SVM很适合解决问题样本不是很多,但是用简单hypothesis无法刻画的问题!
在上一节推倒的基础SVM问题上,我们加上特征转化,现在我们需要优化的二次问题变数是转化后的特征数+1,我们希望优化的问题不依赖特征数,这将是本部分的主要内容。
dual svm_第1张图片
目标是推导dual SVM,解决优化问题中对特征维数的依赖:
dual svm_第2张图片
对于带有条件的最小化问题,我们可以利用lagrange multiplier将约束写入优化方程中,再利用一些数学推导,可得到原来问题不带约束的另一种表达,注意此时引入α要大于等于0(KKT中的一个限制):
dual svm_第3张图片
此时我们优化的问题既有最大化问题,又有最小化问题,接下来我们要使用一些手段消去其中一个优化问题!
通过数学上的推导,我们可以得到交换最小化和最大化的次序后与原来优化方程的关系,是原来问题的下限,加上对于QP问题,如果满足线性约束,问题有解,convex的,那么两种方式描述下的解是相同的。
dual svm_第4张图片dual svm_第5张图片
先求解最小化问题,我们常用的是对不同的变量(w,b)求导,并令值为0,可以得到最优解需要满足的限制,将限制代入原来的求解方程进行化简,可以发现最小化的表达式中竟然没有了w和b!因此成功击破了最小化问题,因此我们需要对这个表达式进行最大求解来求得α。
dual svm_第6张图片dual svm_第7张图片
dual svm_第8张图片

求得α后,加之KKT条件,我们可以求得w和b。
dual svm_第9张图片
如何求最大化问题来得到α呢?对最大化问题的处理,通常可采取倒数(正数)做最小化和取相反数做最小化问题。此时,问题变为了关于α的二次规划问题,达到了我们的期望:N个变量,N+1个限制。利用QP便可求得α
dual svm_第10张图片dual svm_第11张图片
接下来,具体看看w和b的求解过程,在KKT条件中,可以清楚地得到w和α的关系,b利用α大于0的样本可求得,因此w和b取决于哪些α大于0的样本,通过dual SVM 我们找出哪些α大于0的样本(support vector),并利用他们来构建w和b:
dual svm_第12张图片
dual svm_第13张图片
比较一下w的表达式,可以发现无论是采用何种learning algorithm ,最终的w都是关于参数的线性表达,但是不同的算法计算参数的方式不同,侧重点不同,最终的效果也不同:
dual svm_第14张图片
比较原始的SVM和dual SVM,适用的场景不同:如果转化后的参数不是很大,样本数目很多,可能第一种算法的效率更好;相反,第二种算法几乎不依赖转化后特征的维数,对于样本不是很多,特征数很多的问题更合适。
dual svm_第15张图片dual svm_第16张图片

你可能感兴趣的:(dual,SVM)