机器学习----SVM

本文详细介绍了支持向量机的基本概念、线性与非线性分类、硬间隔和软间隔的区别、优化问题的求解方法以及核函数的应用。还提供了线性SVM的Python代码示例。讨论了SVM的优点(如处理小样本和非线性问题)及其在大规模数据和多分类问题中的挑战。

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

一、支持向量机的概述

        支持向量机是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。支持向量机的学习算法是求解凸二次规划的最优化算法。

基础的SVM算法是一个二分类算法,至于多分类任务,可以通过多次使用SVM进行解决。

在线性可分时,在原空间寻找两类样本的最优分类超平面

在线性不可分时,加入松弛变量并通过使用非线性映射低维度输入空间的样本映射高维度空间使其变为线性可分,这样就可以在该特征空间中寻找最优分类超平面。

相关名词解释

支持向量:离分隔超平面最近的那些点。

间隔:点到分割面的距离,称为点相对于分割面的间隔。数据集所有点到分隔面的最小间隔的2倍,称为分类器或数据集的间隔。论文中提到的间隔多指这个间隔。SVM分类器就是要找最大的数据集间隔。

超平面:将数据集分隔开来的直线成为分隔超平面。对于二维平面来说,分隔超平面就是一条直线。对于三维及三维以上的数据来说,分隔数据的是个平面,称为超平面,也就是分类的决策边界。

松弛变量:软间隔支持向量机要加个松弛变量ξ。

SVM使用准则:n为特征数,m为训练样本数。

1.如果相较于n比m大很多,即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。
2.如果n较小,而且m大小中等,例如n在 1-1000 之间,而m在10-10000之间,使用高斯核函数的支持向量机。
3.如果n较小,而m较大,例如n在1-1000之间,而𝑚大于50000,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。
 

硬间隔指的就是完全分类准确,不能存在分类错误的情况。(完全的线性可分)

软间隔,就是允许一定量的样本分类错误。(线性不可分)

二、支持向量机--完全可分类

1、硬间隔

如下图所示,“x”和“o”表示两种类别,共m mm个样本:

 现在我们要对其进行分类,那么有很多条直线可以完全区分这两类:

如何找到一条“最优”的直线:g(x)=wx+b来分类呢?标签 yi​∈(1,−1) 表示两类,即:

 当我们将分类线向两种类别平移时,可以看到图中有一些特殊的点,如下图红圈中:

在二维空间中,点到直线g(x)=wx+b的距离为:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值