问题定义: 给出一些样本,包含两类。svm试图找到一个超平面,将数据分开,并且每种样本到超平面的距离的最小值最大。

输入样本:$\{x_{i},y_{i}| 1\leq i\leq n \}$,$y_{i}\in \{-1,1\}$

超平面定义:$w^{T}x+b=0$

设某一个采样点$x^{(i)}$到超平面的距离为$\gamma^{(i)}$,那么从$x^{(i)}$作方向为w的射线,其与超平面的交点为B,采样点到B的距离为$\gamma^{(i)}$,那么B可以用这样的向量表示$B=x^{(i)}-\gamma^{(i)}\frac{w}{||w||}$。

由于B在超平面上,所以有:$w^{T}(x^{(i)}-\gamma^{(i)}\frac{w}{||w||})+b=0$
我们从中解得$\gamma^{(i)}=(\frac{w}{||w||})^{T}x^{(i)}+\frac{b}{||w||}$。当$y^{(i)}=1$时此值为正数,否则为负数,所以我们将其乘以$y^{(i)}$,那么此时$\gamma^{(i)}=y^{(i)}((\frac{w}{||w||})^{T}x^{(i)}+\frac{b}{||w||})$

现在令$||w||=1$,按照我们问题定义中的描述,我们要解决的问题是这样的:$max_{w,b,\gamma }$ $\gamma$,使得(1)$y^{(i)}(w^{T}x^{(i)}+b)\geq \gamma ,1 \leq i \leq n$,(2)$||w||=1$

由于$||w||=1$的限制不利于求解,所以我们将求解换成如下的描述$max_{w,b,\gamma }$ $\frac {\gamma}{||w||}$,使得$y^{(i)}(w^{T}x^{(i)}+b)\geq \gamma ,1 \leq i \leq n$。此时$w$的大小可以任意取。

进一步我们令$\gamma=1$,那么现在变为$max_{w,b}$ $\frac {1}{||w||}$,使得$y^{(i)}(w^{T}x^{(i)}+b)\geq 1 ,1 \leq i \leq n$

最后,将求解问题变成$min_{w,b}$ $\frac{1}{2}||w||^{2}$,使得$y^{(i)}(w^{T}x^{(i)}+b)\geq 1 ,1 \leq i \leq n$。

SVM学习笔记1-问题定义的更多相关文章

  1. SVM学习笔记(一)

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

  2. Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法

    最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program ...

  3. SVM学习笔记

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

  4. SVM学习笔记5-SMO

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

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

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

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

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

  7. Struts2学习笔记 - Action篇<定义逻辑Action>

    有三种方法可以使一个Action处理多个请求 动态方法调用DMI 定义逻辑Acton 在配置文件中使用通配符 这文章就谈论一下定义逻辑Action 这里主要关注的是struts.xml配置文件,一般情 ...

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

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

  9. scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归

    package yjmyzz import scala.io.StdIn object ScalaApp { def main(args: Array[String]) { println(" ...

随机推荐

  1. 本地tp项目上传服务器报runtime/cache错误

    很简单,给runtime权限777 就好了 chmod -r 777 runctime

  2. lumisoft.net 邮件管理系列文章 - 如何判断附件为内嵌式还是附加式

    如果要区分邮件里面的附件是内嵌图片附件还是真正的附件,那么可以通过下面代码进行判断,如果是MIME_DispositionTypes.Attachment的就是普通附件,MIME_Dispositio ...

  3. kali linux 基本命令(第一批)

    pwd  ,  rm    ,locate    ,cat    ,head     ,  clear    ,ls      ,cd     ,mkdir      ,touch       ,ec ...

  4. web前端名词

    HTML: HyperText Markup Language      超文本标记语言 XHTML:Extensible HyperText Markup Language   可扩展性超文本标记语 ...

  5. Yii2 Gridview查询关联筛选

  6. hdu1757 构造矩阵

    Lele now is thinking about a simple function f(x). If x < 10 f(x) = x.If x >= 10 f(x) = a0 * f ...

  7. C# 自定义承载控件

    例如ToolStripTextBox类,里面的封装就是一个TextBox控件..NET的类库提供了ToolStripComBox和ToolStripProgressBar两个类.这些类都是从ToolS ...

  8. HTTP接口-跨域-callback

    1.客户端和正常调用非跨域接口一样2.服务端返回的时候用callback+(返回值)的方式返回结果. callback为客户端的隐藏参数.public String converJsonResultS ...

  9. Django 自定义

    from django.db import models class MyCharfield(models.Field): def __init__(self,max_length,*args,**k ...

  10. 在linux中安装memcache服务器

    挂载光盘   mkdir -p /media/cdrom   mount /dev/cdrom /media/cdrom   设置yum cd /etc/yum.repos.d/ mv CentOS- ...