一、SVM模型

  1.函数间隔与几何间隔,哪一条线是最好的?

   

    (1)公式化问题。

      分类模型:当里面的值小于0的时候就是-1,当里面的值是大于等于0的时候就是1

        

      函数间隔:前面乘以y(i),是为了保持数值为正值,数据点到直线的距离。把点代进去就是其函数间隔,函数间隔最好的是几何间隔最大的那个。最好的分类线就是几何间隔最大的分类线

        

      我们要找到最好的直线,对每个数据点都计算出函数间隔,对于一个直线而言可以计算出最小函数间隔,这个最小的函数间隔可以判断直线和数据集的拟合程度。

      只要成倍的增大w和b值,函数间隔就能无限增大。-1和1的二阶范数是根号2

      

      几何间隔:

    

      初始函数表达式:最大化集合间隔,使得所有的数据点都大于等于这个集合间隔,||w||二阶范数就是欧氏距离,两点相减然后求二阶范数,就是法向量的求法。

      

  初始函数表达式  

  

      非凸性约束,容易达到局部最优。

    

    核心思想:我们要找到一个分类面,使得在线性可分的时候,这条直线是最好的。一个最好的分类线就是几何间隔最大的分类线。

          点到直线的距离可以理解为置信度,当点离分类界面越远的时候,

          那么点对分类的置信度比较高,当点比较接近直线边缘的时候,点对分类的置信度比较低。

    简化步骤1:令||w||=1,范数是1代表是集合间隔,伽马是几何间隔,最大化几何间隔,使得所有的数据点大于等于这个几何间隔,同时w的范数大于等于1,二阶范数是欧氏距离,即两个点相减然后求解二阶范数,二阶范数和欧氏距离没有什么关系,二阶范数是求解欧氏距离的一个手段,二阶范数即对于每个向量都求平凡,把每个分量加起来求根号。将函数间隔变为几何间隔。

    

  

    简化步骤2:调整w和b,将r变为1,所以索性直接变为1,将最大化的调整变为最小化问题。

    

    最终问题:变成调整w和b使得w的二阶范数的平方是最小的,最小化w的范数和最小化w的范数是一个意思。使得下面的条件得到满足

      

    线性约束下优化二次函数

      有数学方法可以 解决这个问题,可以引入对偶函数

  2.最优间隔分类器

  3.拉格朗日求解

   (1)最小化一个f(w),

   (2)构造拉个朗日函数

   (3)求解:

   (4)有不等式约束的时候:在广义上面可以引入一个不等的关系,

    

   (5)拉格朗日方程:

    

   (6)极小极大:先对变换后的拉格朗日函数求出极大值,先调整a,b,如果都满足条件的话,hi(w)=0,gi(w)是小于等于0的。这里不管如何调整a,b,其最大值都应该是0,当某个条件不允许的时候hi(w) 不等于0,那么可以调整b,使得b调整的特别大,就可以使得其为一个正无穷大。

  极小极大问题的最优解:在后面会使用到。

   

    (7)广义拉个朗日函数

      对偶问题与原始问题的等价性:

      约束不等式g都是凸函数:线性函数都是凸函数

      约束等式h都是仿射函数:仿射和线性等价,除了允许截距b

      不等式严格执行:必有g不等式是小于0的

   

 

    

  4.最优间隔分类器求解

 

    

 

    

  最优间隔分类器求解

    

  5.SMO算法

    坐标上升法:

  

    二维坐标上升法:先调整一个维度上的,再去调整另外一个轴上的值,

    

  

    

  6.核技法

  

    

  7.软间隔分类器

  8.合页损失函数

  9.多分类

二、SVM实战文本分类

  

SVM支持向量机(1)的更多相关文章

  1. 机器学习实战 - 读书笔记(06) – SVM支持向量机

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第6章:SVM 支持向量机. 支持向量机不是很好被理解,主要是因为里面涉及到了许多数学知 ...

  2. Python实现SVM(支持向量机)

    Python实现SVM(支持向量机) 运行环境 Pyhton3 numpy(科学计算包) matplotlib(画图所需,不画图可不必) 计算过程 st=>start: 开始 e=>end ...

  3. SVM支持向量机的基本原理

    SVM支持向量机的基本原理 对于很多分类问题,例如最简单的,一个平面上的两类不同的点,如何将它用一条直线分开?在平面上我们可能无法实现,但是如果通过某种映射,将这些点映射到其它空间(比如说球面上等), ...

  4. 6-11 SVM支持向量机2

    SVM支持向量机的核:线性核.进行预测的时候我们需要把正负样本的数据装载在一起,同时我们label标签也要把正负样本的数据全部打上一个label. 第四步,开始训练和预测.ml(machine lea ...

  5. 6-10 SVM支持向量机1

    都是特征加上分类器.还将为大家介绍如何对这个数据进行训练.如何训练得到这样一组数据. 其实SVM支持向量机,它的本质仍然是一个分类器.既然是一个分类器,它就具有分类的功能.我们可以使用一条直线来完成分 ...

  6. SVM 支持向量机算法-实战篇

    公号:码农充电站pro 主页:https://codeshellme.github.io 上一篇介绍了 SVM 的原理和一些基本概念,本篇来介绍如何用 SVM 处理实际问题. 1,SVM 的实现 SV ...

  7. [分类算法] :SVM支持向量机

    Support vector machines 支持向量机,简称SVM 分类算法的目的是学会一个分类函数或者分类模型(分类器),能够把数据库中的数据项映射给定类别中的某一个,从而可以预测未知类别. S ...

  8. paper 25 :SVM支持向量机是什么意思?

    转载来源:https://www.zhihu.com/question/21094489 作者:余洋链接:https://www.zhihu.com/question/21094489/answer/ ...

  9. 【机器学习算法-python实现】svm支持向量机(1)—理论知识介绍

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景      强烈推荐阅读(http://www.cnblogs.com/jerrylead/archiv ...

  10. SVM 支持向量机

          学习策略:间隔最大化(解凸二次规划的问题) 对于上图,如果采用感知机,可以找到无数条分界线区分正负类,SVM目的就是找到一个margin 最大的 classifier,因此这个分界线(超平 ...

随机推荐

  1. [CSP-S模拟测试]:打表(猜测题意+结论)

    题目传送门(内部题139) 输入格式 第一行两个整数$k,ans$,表示内存地址$A$的位数,以及答案所在的内存地址. 接下来一行$2^k$个整数,分别表示内存地址$0...2^k-1$上的值. 输出 ...

  2. 分布式-信息方式-ActiveMQ静态网络连接多线程的consumer(消费者)访问集群

    操作如下: 1:把整个conf文件夹复制一份,比如叫做conf22:修改里面的 activemq.xml文件(1)里面的 brokerName不能跟原来的重复(2)数据存放的文件名称不能重复,比如:& ...

  3. 完美解决前端跨域之 easyXDM 的使用和解析

    前端跨域问题在大型网站中是比较常见的问题.本文详细介绍了利用 easyXDM 解决前端跨域的原理细节和使用细节,具体使用时可以在文中代码实例的基础上扩展完成. 0.背景 因个别网络运营商存在 HTTP ...

  4. centos 系统时间设置

    在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...

  5. python3笔记十九:os和ospath模块

    一:学习内容 os模块 ospath模块 获取指定目录下所有文件和目录 二:os模块 包含了普遍的操作系统功能,需要导入该模块:import os 当前所在位置目录结构为: 目录操作 1.获取当前目录 ...

  6. xgboost原理与实战

    目录 xgboost原理 xgboost和gbdt的区别 xgboost安装 实战 xgboost原理 xgboost是一个提升模型,即训练多个分类器,然后将这些分类器串联起来,达到最终的预测效果.每 ...

  7. springboot+aop+自定义注解,打造通用的全局异常处理和参数校验切面(通用版)

    一.引入相应的maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  8. Shell实现交互式登陆一台同时管理多台机器

    最近为了检测公司服务器的硬盘需要开10多台服务器的僚机来检测服务器,可是这10来台都是操作一样的命令,挨个操作下去太麻烦了 然后就想到了交互式登陆 这里需要创建一个Ip文件夹把你的Ip账户密码都放进去 ...

  9. Uep的confirm和alert弹窗

    $.confirm("确认删除", "确定删除所选服务么?", function() { ajaxgrid.delCheckedRecords(); var g ...

  10. BCNF/3NF 数据库设计范式简介

    数据库设计有1NF.2NF.3NF.BCNF.4NF.5NF.从左往右,越后面的数据库设计范式冗余度越低. 满足后一个设计范式也必定满足前一个设计范式. 1NF只要求每个属性是不可再分的,基本每个数据 ...