zoukankan      html  css  js  c++  java
  • 猪猪的机器学习笔记(十二)支持向量机

    支持向量机

    作者:樱花猪

     

    摘要

    本文为七月算法(julyedu.com12月机器学习第十二次次课在线笔记。SVM是一种常见的分类器,在很长一段时间起到了统治地位。而目前来讲SVM依然是一种非常好用的分类器,在处理少量数据的时候有非常出色的表现。

     

    引言:

         SVM是一个非常常见的分类器,在真正了解他的原理之前我们多多少少都有接触过他。本位将会详细的介绍SVM的原理、目标以及计算过程和算法步骤。我们针对线性可分数据和线性不可分数据介绍了线性支持向量机和非线性支持向量机,并在最后简单阐述非线性支持向量机的重要概念核函数。

         SVM实际上就是一个求解极值凸优化的过程,想要更好的了解SVM一定要非常熟悉有关于“凸优化”的内容。当了解“凸优化”后,SVM实际上变得非常容易。

     

    预备知识

    凸优化

     

    一、线性可分支持向量机

    1、概念

    给定线性可分训练数据集,通过间隔最大化得到的分离超平面为:

    相应的分类决策函数:,这个决策函数成为线性可分支持向量机。

    某个确定的特征空间转换函数,它的作用是将x映射到(更高的)维度。(核函数)

    求解分离超平面问题可以等价为求解相应的凸二次规划问题。

     

    分割平面:

    训练集:

    目标值:

    新数据的分类:

    2、求解方法

    建立目标函数:通过等比例缩放w的方法,使得两类点的函数值都满足

    原目标函数:

     

    新目标函数:

     

    拉格朗日乘子法可以得出:

     

    原问题:

    原始问题的对偶问题:

    计算方案:

    1、计算:

     

    推导方式:目标函数的凸优化求极值,为约束最优化解。

    2、求得分割超平面

         

    3、分类决策函数

     

    二、线性支持向量机:

    若数据线性不可分,则增加松弛影子,使函数间隔加上松弛变量大于等于1,则约束条件变成:

    目标函数:

    求解过程类似线性可分支持向量机,但是在求的时候,有所区别(要考虑松弛因子)

     

    实践中往往取支持向量的所有值取平均,作为b*

     

    三、核函数

    可以使用核函数,将原始输入空间映射到新的特征空间,从而,使得原本线性不可分的样本可能在核空间可分。

    常见的核函数:多项式核函数、高斯核函数、字符串核函数。

    在实际应用中,往往依赖先验领域知识/交叉验证等方案才能选择有效的核函数。

    如果有更多先验信息,则使用高斯核函数。





  • 相关阅读:
    c#生成图片验证码
    关于Aspcms如何嵌入整个网站,以及网站导航所指向页面的内容显示
    web 验证控件
    MVC Link连接数据库增删改查方法的不同写法
    Mvc 翻页查询,代码很有用
    MVC添加分布视图做唯一验证
    MVc路由查询,路由到底有什么作用呢??
    MVC添加动态视图的参考代码。重点是添加部分视图的使用方法,非常有用的代码!!!!!!!!!!!!!!
    tyvj P1209
    bzoj 1051: [HAOI2006]受欢迎的牛 tarjan缩点
  • 原文地址:https://www.cnblogs.com/Dr-XLJ/p/5459321.html
Copyright © 2011-2022 走看看