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。

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

    [公式]

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

    [公式]

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

    [公式]

  • 相关阅读:
    thinkphp tp5 常用 functions
    nginx配置虚拟机 vhost 端口号 域名 区分虚拟机
    thinkphp tp5 模板 引擎 字符串 截取 函数 省略 显示
    C++运算符重载
    c++纯虚函数
    c++面向对象模型---c++如何管理类,对象以及它们之间的联系
    c++多态
    c++友元函数
    c语言的函数指针
    c++两种字符串赋值方式 并介绍 C语言下遍历目录文件的方式
  • 原文地址:https://www.cnblogs.com/SmartCat994/p/12306876.html
Copyright © 2011-2022 走看看