机器学习(5):支持向量机(support vector machines)

本文详细介绍了支持向量机(SVM),从线性可分支持向量机的概念出发,讨论了如何通过优化目标实现最大间隔。接着,引入软间隔以处理近似线性可分数据,并探讨了核函数在处理低维不可分问题中的作用,特别是高斯核函数。最后,讲解了sklearn库中支持向量机的参数配置,如C参数和gamma参数对模型的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、概述

二、线性可分支持向量机

2.1 SVM要解决的问题

2.2 距离计算

2.3 优化的目标

2.4 目标函数

2.5 SVM求解

2.6 SVM求解实例

2.7 支持向量机名字的本质

三、软间隔 soft-margin

三、核函数:低维不可分问题

3.1 高斯核函数

四、sklearn中的支持向量机

4.1 SVC参数

4.2 调节C参数 Soft Margin问题

4.3 gamma参数


 

一、概述

支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。由简至繁的模型包括:

  • 当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机;
  • 当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机;
  • 当训练样本线性不可分时,通过核技巧和软间隔最大化,学习一个非线性支持向量机;

 

二、线性可分支持向量机

        如果一个线性函数能够将样本分开,称这些数据样本是线性可分的。那么什么是线性函数呢?其实很简单,在二维空间中就是一条直线,在三维空间中就是一个平面,以此类推,如果不考虑空间维数,这样的线性函数统称为超平面。我们看一个简单的二维空间的例子,O代表正类,X代表负类,样本是线性可分的,但是很显然不只有这一条直线可以将样本分开,而是有无数条,我们所说的线性可分支持向量机就对应着能将数据正确划分并且间隔最大的直线

通俗解释:找到一个条线(w和b),使得离该线最近的点能够最远

2.1 SVM要解决的问题

要解决的问题:

  •                         什么样的决策边界才是最好的呢?支持向量机
  •                         特征数据本身如果就很难分,怎么办呢?
  •                         计算复杂度怎么样?能实际应用吗?

 

决策边界:选出来离雷区最远的(雷区就是边界上的点,要Large Margin)

 

2.2 距离计算

SVM中关键的就是离线最近的点能够最远,所以我们要求的是线(这个栗子是平面)到点的距离

假设空间中3点,X,X1,X11   因为X1,X11在同一个平面上,可以得到

               

距离distance是垂直这个平面的,可以得出:

就可以得出:

 

 

2.3 优化的目标

数据集:(X1,Y1)(X2,Y2)…(Xn,Yn)

Y为样本的类别:当X为正例时候Y = +1 当X为负例时候Y = -1

决策方程:

(这里不是x,而是Φ(x),原因是核变换。具体原因会在第三大点讲到,先把Φ(x)当做x,用心看下去,你会豁然开朗。)

 

2.4 目标函数

放缩变换:对于决策方程(w,b)可以通过放缩使得其结果值|Y|>= 1

找到一个条线(w和b),使得离该线最近的点能够最远

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值