1中,我们的求解问题是:$min_{w,b}$ $\frac{1}{2}||w||^{2}$,使得$y^{(i)}(w^{T}x^{(i)}+b)\geq 1 ,1 \leq i \leq n$

设$g_{i}(w)=-y^{(i)}(w^{T}x^{(i)}+b)+1 \leq 0$,

那么按照2中的定义,对应的拉格朗日函数为$L(w,b,\alpha)=\frac{1}{2}||w||^{2}-\sum_{i=1}^{n}\alpha_{i}[y^{(i)}(w^{T}x^{(i)}+b)-1]$

这里我们这里面没有$\beta$,因为没有$h$。

那么按照2中的定义有:
(1)$ \frac{\partial}{\partial w}L(w,b,\alpha)=w-\sum_{i=1}^{n}\alpha_{i}y^{(i)}x^{(i)}=0$
(2)$ \frac{\partial}{\partial b}L(w,b,\alpha)=\sum_{i=1}^{n}\alpha_{i}y^{(i)}=0$

由(1)得$w=\sum_{i=1}^{n}\alpha_{i}y^{(i)}x^{(i)}$,将其带入$L(w,b,\alpha)$的表达式,化简得到:$L(w,b,\alpha)=\sum_{i=1}^{n}\alpha_{i}-\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}(x^{(i)})^{T}x^{(j)}-b\sum_{i=1}^{n}\alpha_{i}y^{(i)}$
由(2)得$\sum_{i=1}^{n}\alpha_{i}y^{(i)}=0$,所以最后式子为$L(w,b,\alpha)=\sum_{i=1}^{n}\alpha_{i}-\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}(x^{(i)})^{T}x^{(j)}$

现在这个式子里只有$\alpha$是未知数。这里我们要说明一点,这里我们其实将问题转成了它的对偶问题,也就是说我们的目标是求解2中所说的$d^{*}$。所以我们的目标是:
$\underset{\alpha}{max}W(\alpha)=\sum_{i=1}^{n}\alpha_{i}-\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}(x^{(i)})^{T}x^{(j)}$,使得满足(1)$\alpha_{i}\geq 0,1 \leq i \leq n$,(2)$\sum_{i=1}^{n}\alpha_{i}y^{(i)}=0$

我们将最大化变为最小化,
$\underset{\alpha}{min}W(\alpha)=\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\alpha_{j}(x^{(i)})^{T}x^{(j)}-\sum_{i=1}^{n}\alpha_{i}$,使得满足(1)$\alpha_{i}\geq 0,1 \leq i \leq n$,(2)$\sum_{i=1}^{n}\alpha_{i}y^{(i)}=0$

此时,假设我们求出了$\alpha^{*}$(我们将在后面说如何求$\alpha$),那么可以通过$w^{*}=\sum_{i=1}^{n}\alpha_{i}y^{(i)}x^{(i)}$求出$w$。现在看如何求b。由于b只是一个截距,所以$w^{*}$一旦确定,那么就确定了一个平面簇,b只是一个偏移,所以当平面偏移到两类点的中间时最好,所以b的求解公式为:$b^{*}=- \frac{ \underset{i:y^{(i)}=-1}{max}(w^{*})^{T}x_{(i)}+ \underset{i:y^{(i)}=1}{min}(w^{*})^{T}x_{(i)}}{2}$

SVM学习笔记3-问题转化的更多相关文章

  1. SVM学习笔记(一)

    支持向量机即Support Vector Machine,简称SVM.一听这个名字,就有眩晕的感觉.支持(Support).向量(Vector).机器(Machine),这三个毫无关联的词,硬生生地凑 ...

  2. SVM学习笔记

    一.SVM概述 支持向量机(support vector machine)是一系列的监督学习算法,能用于分类.回归分析.原本的SVM是个二分类算法,通过引入“OVO”或者“OVR”可以扩展到多分类问题 ...

  3. SVM学习笔记(二)----手写数字识别

    引言 上一篇博客整理了一下SVM分类算法的基本理论问题,它分类的基本思想是利用最大间隔进行分类,处理非线性问题是通过核函数将特征向量映射到高维空间,从而变成线性可分的,但是运算却是在低维空间运行的.考 ...

  4. SVM学习笔记(一):libsvm参数说明(转)

    LIBSVM 数据格式需要---------------------- 决策属性 条件属性a 条件属性b ... 2 1:7 2:5 ... 1 1:4 2:2 ... 数据格式转换--------- ...

  5. SVM学习笔记-线性支撑向量机

    对于PLA算法来说,最终得到哪一条线是不一定的,取决于算法scan数据的过程. 从VC bound的角度来说,上述三条线的复杂度是一样的 Eout(w)≤Ein0+Ω(H)dvc= ...

  6. SVM学习笔记5-SMO

    首先拿出最后要求解的问题:$\underset{\alpha}{min}W(\alpha)=\frac{1}{2} \sum_{i,j=1}^{n}y^{(i)}y^{(j)}\alpha_{i}\a ...

  7. SVM学习笔记4-核函数和离群点的处理

    核函数在svm里,核函数是这样定义的.核函数是一个n*n(样本个数)的矩阵,其中:$K_{ij}=exp(-\frac{||x^{(i)}-x^{(j)}||^{2}}{2\sigma ^{2}})$ ...

  8. SVM学习笔记1-问题定义

    问题定义: 给出一些样本,包含两类.svm试图找到一个超平面,将数据分开,并且每种样本到超平面的距离的最小值最大. 输入样本:$\{x_{i},y_{i}| 1\leq i\leq n \}$,$y_ ...

  9. Python学习笔记:出生日期转化为年龄

    在数据挖掘项目中,有时候个体的出生日期包含信息量过大,不适合作为一个有效数据进入模型算法训练,因此有必要把出生日期转化为年龄age,age是一个很好的特征工程指示变量. import pandas a ...

随机推荐

  1. DoTween

    dotween最原始的用法 using System.Collections; using System.Collections.Generic; using UnityEngine; using D ...

  2. 在caffe中执行脚本文件时 报错:-bash: ./train.sh: Permission denied

    报错原因:没有权限 解决方法:chmod 777 train.sh获得权限

  3. java中的锁之Lock接口与Condition接口

    一.Lock源码. 1.是一个接口.一共有6个方法. 2.方法详细如下: (1)当前线程尝试获取锁.结果分两种情况,一是成功获取到锁,则返回:二是获取锁失败,则一直等待.不响应中断请求. (2)当前线 ...

  4. C语言---选择结构和循环结构

    C语言的两种选择语句,1) if语句; 2) switch语句; 在if判断语句中,一般使用关系表达式. 关系运算符: <.<=.>.>=.==.!= 关系表达式:用关系运算符 ...

  5. html5-css综合练习

    div{    width: 600px;    height: 800px;    padding: 40px;    font-size: 12px;    line-height: 25px;  ...

  6. GCD(莫比乌斯+去重)

    题目链接 莫比乌斯反演模板题, 去重即可: 我们可以发现只有在区间重叠部分才会有重复且为cal(e, e, k)/2;(e表示b, d中较小的一个): #include<cstdio> # ...

  7. Azure Messaging-ServiceBus Messaging消息队列技术系列2-编程SDK入门

    各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...

  8. JDK8的新特性

  9. springboot 接收post和get请求

    接收post请求: @RequestMapping(value = "/api/v1/create_info", method = RequestMethod.POST) publ ...

  10. oracle goldengate 远程捕获和投递

    很早之前,OGG只支持部署在数据库主机上,这叫本地化部署.而现在OGG支持远端部署,即OGG软件不安装在数据库主机上,而是安装在单独的机器上,负责数据抽取和投递. 这样做的好处: l 易于管理 - 在 ...