黄山市网站建设_网站建设公司_SSG_seo优化
2025/12/28 22:13:18 网站建设 项目流程

文章目录

  • SVM
  • 一.SVM是什么?
  • 二.怎么学习SVM?
  • 三.为什么学习SVM?
  • 四.深入理解SVM
    • data -> 数据
    • classifier -> 分类器
    • optimization -> 最优化
    • kernelling -> 核函数
    • hyperplane -> 超平面
  • 如何选取一个最佳的超平面
    • Small Margin:
    • Large Margin:
    • 标签问题
    • 决策函数
    • 距离问题
    • 如何寻找最优的超平面
    • 1.找到离超平面最近的点
    • 2.最大化这个距离
    • 损失函数求解
    • 超平面可视化
    • 拉格朗日乘子点
    • 修改目标函数和约束条件
    • 求解目标转化和对偶性质
    • 求解SVM
    • 举例求解
    • 认识支持向量的作用
    • 软间隔
    • 目标函数求解
    • 核函数
    • 多项式核函数
    • 高斯核函数
    • γ值
  • SVM优缺点
    • 优点
    • 缺点

SVM

一.SVM是什么?

SVM(Support Vector Machine)即支持向量机,是一种有监督的机器学习算法。它主要用于分类和回归分析。其基本思想是在特征空间中找到一个最优的超平面,使得不同类别的样本能够被最大程度地分开。对于线性可分的数据,SVM能找到一个将两类数据完全分开的超平面;对于线性不可分的数据,SVM可以通过核函数将数据映射到高维特征空间,使得数据在该空间中线性可分。

二.怎么学习SVM?

理论学习:深入学习SVM的基本原理、数学推导,包括间隔、支持向量、对偶问题、核函数等概念。
实践操作:使用Python中的Scikit - learn库进行SVM的实践,通过实际的代码示例来掌握如何训练SVM模型、选择合适的参数等。

三.为什么学习SVM?

强大的分类能力:SVM在许多分类问题上表现出色,尤其是小样本、高维度的数据集。它能够在复杂的数据分布中找到较好的分类边界。

泛化能力好:SVM通过最大化间隔的方式来训练模型,这使得模型具有较好的泛化能力,能够在新的数据上表现良好。

广泛的应用领域:在图像识别、文本分类、生物信息学、金融预测等众多领域都有广泛的应用,掌握SVM可以为其在这些领域的应用开发提供有力支持。

四.深入理解SVM

很久以前的情人节,公主被魔鬼绑架了,王子要去救公主,魔鬼和他玩了一个游戏。魔鬼在桌子上放了两种颜色的球,说:“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”




data -> 数据

解释:​ 在机器学习和统计学中,“数据”指的是我们用来训练模型、进行分析或进行预测的原始事实、数字、文本、图像等信息。图片中的“球”被比喻成数据点,即构成数据集的一个个具体实例。

classifier -> 分类器

解释:​ “分类器”是一种算法或模型,它的功能是根据输入的特征(比如球的颜色、大小等属性)将数据分配到预定义的类别中(比如把球分到桌子的这一边或那一边)。图片中的“棍子”被比喻成分隔不同类别数据的边界或规则。

optimization -> 最优化

解释:​ “最优化”是寻找最佳解决方案的过程。在机器学习中,这通常指调整模型参数以最小化预测错误(如分类错误率)或最大化某种性能指标(如分类间隔)。图片中的“最大间隙trick”就是一种追求最优分离效果的方法,即找到能让两类数据点之间间隔最大的分类方式。

kernelling -> 核函数

解释:​ “核函数”是支持向量机(SVM)等算法中的一个关键概念。它的主要作用是将原始输入数据(可能在线性不可分的情况下)映射到一个更高维度的特征空间,使得数据在这个新空间中变得线性可分。图片中的“拍桌子”比喻了这种升维的动作,使得原本在一维棍子(低维空间)上难以分开的球,在二维桌面(高维空间)上变得容易用一张纸(新的分类边界)来分隔。

hyperplane -> 超平面

解释:​ “超平面”是几何学中的一个概念,可以理解为比当前空间维度少一维的子空间。

在二维空间中,超平面是一条线。

在三维空间中,超平面是一个平面。

在更高维度的空间(如机器学习中常见的情况)中,它就是一个抽象的“面”,能够将空间划分为不同的区域。

分类器(如SVM)的目标就是找到一个最优的“超平面”来分隔不同类别的数据点,使得各类别之间的间隔最大化或错误率最小化。

如何选取一个最佳的超平面

Small Margin:

在左侧的图中,决策边界(中间的实线)离两类数据点(绿色圆点和蓝色方块)都比较近,这种情况下分类间隔较小。决策边界两侧距离它最近的点就是支持向量(Support Vectors),可以看到小间隔时支持向量离决策边界较近,分类模型的泛化能力相对较弱,因为它对噪声等干扰比较敏感。

Large Margin:

右侧的图中,决策边界离两类数据点都比较远,分类间隔较大。同样,决策边界两侧距离它最近的点是支持向量,大间隔时支持向量离决策边界较远,这使得分类模型具有更好的泛化能力,能够更稳健地对新的数据进行分类,就如同能够迅速通过雷区(避免受到雷区中不确定因素的影响)。

标签问题

在SVM中,使用 +1 和 -1 来区分不同类别的样本,而不是常见的 0 和 1。这样的表示更严格。并且规定,如果超平面能够将训练样本正确分类,那么对于任意样本:

当 y=+1时,该样本被称为正例。

当 y=−1时,该样本被称为负例。

决策函数

ω是权重向量。

φ(x)是对输入特征 x进行变换后的结果。

b是偏置项。

sign(x)是符号函数,其定义为:

当 x<0时,sign(x)=−1。

当 x=0时,sign(x)=0。

当 x>0时,sign(x)=1。

距离问题



如何寻找最优的超平面

1.找到离超平面最近的点

2.最大化这个距离

损失函数求解

超平面可视化

拉格朗日乘子点

修改目标函数和约束条件

求解目标转化和对偶性质

求解SVM



举例求解



认识支持向量的作用

软间隔



目标函数求解

核函数




多项式核函数

**

高斯核函数

*

γ值

SVM优缺点

优点

1.有严格的数学理论支持,可解释性强,不同于传统的统计方法能简化我们遇到的问题。

2.能找出对任务有关键影响的样本,即支持向量。

3.软间隔可以有效松弛目标函数。

4.核函数可以有效解决非线性问题。

5.最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。

6.SVM在小样本训练集上能够得到比其它算法好很多的结果。

缺点

  1. 对大规模训练样本难以实施

原因:SVM 的空间消耗主要用于存储训练样本和核矩阵。当样本数目很大时,核矩阵的存储和计算会耗费大量机器内存和运算时间。

建议:当样本超过十万及以上时,不建议使用 SVM。

  1. 对参数和核函数选择敏感

关键因素:支持向量机性能的优劣主要取决于核函数的选取。在实际问题中,需要根据数据模型选择合适的核函数来构造 SVM 算法。

难点:目前没有很好的解决方法来解决核函数的选择问题。

  1. 模型预测时计算复杂度问题

关系:模型预测时,预测时间与支持向量的个数成正比。

问题:当支持向量的数量较大时,预测计算复杂度会较高。

如果要基于这些内容进行相关技术选型或优化,需要重点关注样本规模、核函数适配性以及支持向量数量对预测效率的影响,在面对大规模数据和复杂场景时要谨慎评估 SVM 的适用性并针对性地优化参数与模型结构。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询