机器学习——支持向量机——硬间隔与支持向量

本文深入探讨支持向量机(SVM)的基础概念,包括超平面的公式推导、最大间隔的优化以及如何寻找最优超平面。通过数学公式和几何解释,阐述了硬间隔情况下的SVM模型,指出支持向量在模型中的关键作用。

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

上篇文章我们简单介绍了SVM的几种情况,这篇文章我们来对SVM的基本型进行研究。

支持向量机简述
软间隔与正则化,核函数


前言

硬间隔就是我们的数据线性可分的情况,是一种比较理想的模型,但是对于新手理解SVM很友好。本篇主要是由图片和数学公式(手写)展示,若字太丑请谅解。


一、超平面公式引出

在这里插入图片描述
我们都知道超平面的公式是 W X + b = 0 WX+b=0 W,可是为什么会是这个公式呢,而且 w w w x x x都是向量(上图中加粗了),那这是为什么呢?
在这里插入图片描述
我们从左到右的顺序来,

  • 我们首先画一个坐标轴 x 1 x_1 x1为横轴, x 2 x_2 <
### 支持向量机中的硬间隔软间隔 在支持向量机(SVM)中,硬间隔和软间隔是两种不同的分类策略。 对于线性可分的数据集,SVM可以构建一个完全分离两个类别的超平面而不允许任何数据点位于错误的一侧。这种情况下采用的是硬间隔方法[^2]。在这种设定下,模型力求最大化决策边界到最近样本的距离,并且不允许有任何违反这一边界的训练实例存在。然而,在实际应用中并非所有的数据都是完美线性可分的;因此引入了软间隔概念来处理含有噪声或重叠区域的情况。 当面对不可精确划分的数据时,通过引入松弛变量(slack variables),使得某些特定条件下少量误分类成为可能,从而实现更灵活的建模方式——即所谓的软间隔支持向量机。这样做可以在一定程度上容忍一些违背最大边缘原则的现象发生,进而提高泛化能力并减少过拟合风险[^1]。 ```python from sklearn import svm import numpy as np # 创建模拟数据 X = np.array([[3, 4], [1, 4], [2, 3], [6, -1], [7, -1], [5, -3]]) y = [1, 1, 1, -1, -1, -1] # 使用不同参数创建SVM分类器 hard_margin_clf = svm.SVC(kernel='linear', C=1e10) # 大C值近似于硬间隔 soft_margin_clf = svm.SVC(kernel='linear', C=1.0) # 较低C值表示较宽松的软间隔 # 训练模型 hard_margin_clf.fit(X, y) soft_margin_clf.fit(X, y) print("Hard Margin Support Vectors:", hard_margin_clf.support_vectors_) print("Soft Margin Support Vectors:", soft_margin_clf.support_vectors_) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值