• SVM


    一、基本知识

    1、分隔超平面(separating hyperplane)

    分隔超平面,也就是分类的决策边界,分布在超平面一侧的所有数据点属于某个类别,而分布在另一侧的数据属于另一个类别

    2、间隔(margin)

    数据点到超平面的距离

    (1)函数间隔

       用z标记:z=0时,是超平面上的点; 如果z>0,则为正类;如果z<0,则为负类

       y:类标签

      为什么乘上类标签?因为y的值为+1或者-1,所以只要是非超平面上的点,均能保证函数间隔是一个正值 

     函数间隔存在一个问题:如果成比例的改变w和b的值,比如w和b均变成了原来的2倍,超平面还是原来的超平面,但是函数间隔却变为了原来的2倍

    (2)几何间隔

     

         几何间隔便是我们直观上点到超平面的距离,假设一个二维平面,则点到直线的距离为:

         

    3、支持向量(support vector)

    支持向量就是离分隔超平面最近的那些点

    4、支持向量机的任务?

    找到“最适合”的超平面:数据点到超平面的距离最大,即具有最大间隔的超平面

    间隔越大,分类的确信度越大,为什么呢?如果间隔大,则说明两类之间的区别大,所以再出现一个数据点的话,正确分类的可能性就相对较高

    5、最大间隔

    (1)目标函数:

    (2)约束条件

        即,我们要找到这样一个超平面,使得数据点与超平面的间隔最大,这些数据点就是我们所说的支持向量,同时需要满足一个约束条件,就是使得这些支持向量以外的数据点与超平面的距离都 大于,即此问题可以看做是一个带约束的优化问题

    6、如何解决带约束的最优化问题?

    (1)如果约束条件为等式,则采用拉格朗日乘子法

    (2)如果约束条件为不等式,则采用KKT条件,KKT条件可以看做是对拉格朗日乘子法的泛化

    7、线性可分与线性不可分

    线性可分:可以用一个超平面将数据一分为二

    线性不可分:无法用一个超平面将数据一分为二

    二、线性可分的支持向量机

    为了方便后续的推导,设置函数间隔为1,则目标函数化为:

    优化问题:

    ---->

    拉格朗日乘子法:

  • 相关阅读:
    在IIS上部署 .Net Core 3.0 项目踩坑实录
    .net core3.0部署Linux服务器 使用Docker容器和Nginx反代理教程
    播放器 AxWindowsMediaPlayer控件的使用
    Github下载慢和下载过程中断等情况的解决方案
    GitHub第一次上传遇到的问题
    DataGridView && 增加复选框(checkbox)方法
    努力
    绘图:drawImage一个用法
    Tuple<T1,T2,.........T> 元组简单使用
    随机的标识符GUID
  • 原文地址:https://www.cnblogs.com/naonaoling/p/4184380.html
Copyright © 2020-2023  润新知