zoukankan      html  css  js  c++  java
  • 线性可分支持向量机

    线性可分支持向量机和硬间隔最大化

    1. 线性可分支持向量机
      线性可分支持向量机的条件从名字就可以看出来,即训练集是“可分的”。
      如何才能算得上可分?
      先给出支持线性可分支持向量机的定义:给定线性可分训练数据集,通过间隔最大化或等价的求解相应的凸二次规划问题学习得到的分离超平面为
      在这里插入图片描述
      这个超平面法向量为w*,偏置为b*
      其决策函数为
      在这里插入图片描述
      看到这里如果看过我之前的博客,或者了解感知机的伙伴可能发现这不是和感知机的决策函数一样吗。
      而且对于这个超平面,分别在两侧将样本分为两类,这与感知机是一样的,起初在我学了感知机,再接触这个算法时也在疑惑,这跟感知机不一样的吗?好像没什么区别。
      事实上的确如此,可分支持向量机很多地方都与感知机一样,最大的不同在于它的分类超平面是唯一的,它的超平面是在理想的情况下取得最优的。
      说到这,需要好好的解释一下什么是在理想的情况下最优的,前面我写的博客在感知机那一篇中提到:
      感知机是利用误分类的样本进行训练模型的,它的分类超平面不是唯一的,不一样的样本训练出的超平面不唯一,只要求能将训练样本正确分类就可以,其实这样会导致模型的泛化能力出现问题,以下面这个图为例,假设我们的样本是二维的,那我们感知机学习的模型应该是一条线,如下图,可有很多直线能将样本正确分为两类,可是你会发现,有的线太“偏激”。这什么意思呢?
      打个比方,公司要开会,说两点钟到报告厅,你偏偏踩点去,一点五十九去,又比如女生和男生约会,说晚上八点见面,男生偏偏七点五十九去。这就好像那些偏激的分类器,恰好能将训练数据集分类就行,不管未知数据。
      这样的缺点就比如,公司突然有点急事,提前五分钟,你迟到了。女朋友先到了,等了一会,发现你没来,不想约会了。
      感知机训练出来的分类器可能就会出现这种情况,容错率太低
      在这里插入图片描述

    支持向量机恰好解决了这个苦恼,它的分类器要求最优,即容错率最好,泛化能力最强,它的超平面能将样本分类,且距离两类样本距离最大化。

    这里我们还需要引入几何间隔的概念:
    在这里插入图片描述
    上式即为几何间隔的计算公式,可以发现若样本正确分类,该公式就是样本到超平面的距离公式,得到的值为正的,若错误分类得到的值则为负的。
    给出这个概念结合上面我么我们所说的给出可分支持向量积的约束优化问题:
    在这里插入图片描述
    这个约束问题的目的就是,我们需要找到一个超平面,使离超平面最近的点到超平面的距离最大,且可以将样本完全划分。
    今天就到这吧,下一篇博客我准备详细讲解一下上面这个公式。

  • 相关阅读:
    mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期格式
    异步httpclient(httpasyncclient)的使用与总结
    spring中Constructor、@Autowired、@PostConstruct的顺序
    面试再问值传递与引用传递,把这篇文章砸给他!
    java float double bigdecimal
    XSD详解一
    Springboot中使用Xstream进行XML与Bean 相互转换
    lombok标签之@Data @AllArgsConstructor @@NoArgsConstructor -如何去除get,set方法。@Data注解和如何使用,lombok
    Spring标签之Bean @Scope
    spring 注解 之 AOP基于@Aspect的AOP配置
  • 原文地址:https://www.cnblogs.com/gaoxing2580/p/12423431.html
Copyright © 2011-2022 走看看