zoukankan      html  css  js  c++  java
  • 感知机和支持向量机


    感知机模型

      1、感知机学习的目的: 求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面 ,该平面不唯一。
      2、使用的决策函数: f(x) = sign(w · x + b)
      3、使用的最优化方法: 随机梯度下降法。
      4、感知机学习的策略: 在假设空间中选取使损失函数式最小的模型参数w和b,即感知机模型。
      5、感知机学习算法: 感知机学习算法是误分类驱动的,即当一个实例点被误分类,也就是位于超分离平面的错误一侧时,则调整w和b的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面间的距离,直至超平面越过该误分类点使其被正确分类。算法分为原始形式对偶形式

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

      1、学习的目标: 一般地,当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开。感知机 利用误分类最小的策略,求得分离超平面,不过这时的解有无穷多个。线性可分支持向量机利用间隔最大化求最优分离超平面,这时解是唯一的。
      2、学习策略: 硬间隔最大化
      3、学习算法: 求解凸二次规划的最优化解法,对应于感知机,算法也分为原始形式和对偶形式。

    线性支持向量机(软间隔最大化)

      线性可分问题的支持向量机学习方法,即线性可分支持向量机 ,对线性不可分训练数据是不适用的,因此在线性可分支持向量机方法中的不等式约束并不能都成立。怎样才能将它扩展到线性不可分问题呢?这就需要修改硬间隔最大化 ,使其成为软间隔最大化
      1、学习目标: 寻找一个间隔尽量大,同时使误分类点的个数尽量小的超分离平面。
      2、学习策略: 软间隔最大化
      3、学习算法: 凸二次规划
      4、损失函数: 合页损失函数

    非线性支持向量机(核函数)

      非线性分类问题是指通过利用非线性模型才能良好地进行分类的问题,由上图可见,无法用直线(线性模型)将正负实例正确分开,但可以用一条椭圆曲线(非线性模型)将它们正确分开。非线性问题往往不好求解,所以希望能用解线性分类问题的方法来解决这个问题。所采用的方法是进行一个非线性变换 ,将非线性问题变换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。
      1、用线性分类方法求解非线性分类问题分为两步: 首先使用一个变换将原空间的数据映射到新空间;然后在新空间里用线性分类学习方法从训练数据中学习分类模型。核技巧 就属于这样的方法。

  • 相关阅读:
    Hibernate save, saveOrUpdate, persist, merge, update 区别
    Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
    Neo4j批量插入(Batch Insertion)
    嵌入式(Embedded)Neo4j数据库访问方法
    Neo4j 查询已经创建的索引与约束
    Neo4j 两种索引Legacy Index与Schema Index区别
    spring data jpa hibernate jpa 三者之间的关系
    maven web project打包为war包,目录结构的变化
    创建一个maven web project
    Linux下部署solrCloud
  • 原文地址:https://www.cnblogs.com/xipuhu/p/7456836.html
Copyright © 2011-2022 走看看