zoukankan      html  css  js  c++  java
  • SVM 支持向量机

    1. 支持向量

    1.1 线性可分

    首先我们先来了解下什么是线性可分。

    在二维空间上,两类点被一条直线完全分开叫做线性可分。

    简单说就是如图上这样,一个线(FX)把D1和D0分为两个类,FD1>0,FD2<0

    1.2 最大间隔超平面

    当进入一个三维的时候,这个分割就变成了一个木板,具体做的就是把这个分割尽可能的看起来合理一些(不偏向任何一边,做到公平合适)

    为了使这个超平面更具鲁棒性,我们会去找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。

    • 两类样本分别分割在该超平面的两侧;
    • 两侧距离超平面最近的样本点到超平面的距离被最大化了。

    1.3 支持向量

    样本中距离超平面最近的一些点,这些点叫做支持向量。

    1.4 SVM 最优化问题

    SVM 想要的就是找到各类样本点到超平面的距离最远,也就是找到最大间隔超平面。任意超平面可以用下面这个线性方程来描述:

    [公式]

    二维空间点 (x,y)到直线 AX+BY+C=0的距离公式是:

    [公式]

    扩展到 n 维空间后 ,点X(X1,X2...)到直线的距离是:

    [公式]

    其中W=直线参数的平方和的根

    [公式]

    如图所示,根据支持向量的定义我们知道,支持向量到超平面的距离为 d,其他点到超平面的距离大于 d。

    于是我们有这样的一个公式:

    [公式]

    每个支持向量到超平面的距离可以写为:

    [公式]

    所以得到的最优化问题是:

    [公式]

  • 相关阅读:
    Linux下常用的ctrl命令
    网络编程函数笔记(二)
    javascript中函数构造器和原型研究
    javascript对象定义需开辟内存空间才能访问
    读取iframe里面的js全局变量
    网络编程函数笔记(一)
    Inside.MySQL_InnoDB.Storage.Engine 学习笔记
    jquery对象原理笔记(一)
    javascript(一)正则表达式
    c++学习笔记(模板)(一)
  • 原文地址:https://www.cnblogs.com/SmartCat994/p/12306876.html
Copyright © 2011-2022 走看看