[机器学习] - 支持向量机
文章目录
- 支持向量机(Support Vector Machine, SVM)概述
- SVM 的工作原理
- 线性不可分数据:软间隔与核技巧
- SVM 的数学形式
- SVM 的优势
- SVM 的缺点
- SVM 的应用
支持向量机(Support Vector Machine, SVM)概述
支持向量机(SVM)是一种用于分类和回归分析的监督学习算法,尤其在分类问题上表现出色。SVM的核心思想是通过在特征空间中寻找一个最佳超平面,将不同类别的样本点尽可能地分开。这个超平面与训练数据点的距离最大化,从而使得分类器对未知数据具有良好的泛化能力。
SVM 的工作原理
1.线性可分数据:对于线性可分的数据,SVM通过寻找一个超平面将数据分为两类。假设有两类数据点(+1类和-1类),SVM的目标是找到一个能够最大化两个类别之间间隔的超平面。
**超平面:**在二维空间中,超平面就是一条直线;在三维空间中,它是一个平面;在更高维的空间中,它是一个超平面。数学上,超平面可以表示为
????^????*????+????=0其中 w 是法向量,定义了超平面的方向,b 是偏置,决定超平面与原点的距离。
**间隔(Margin):**超平面与数据点之间的最小距离称为间隔。SVM的目标是找到使这个间隔最大化的超平面。数据点距离超平面越远,分类结果越可靠。
2.支持向量:那些位于边界上的数据点称为支持向量。支持向量是定义超平面的关键数据点,因为它们决定了最优超平面的具体位置。移除其他数据点不会影响分类结果。
3.优化问题:SVM的核心是一个凸优化问题,其目标是最大化分类间隔。这个问题可以表示为一个约束优化问题:
约束条件是:
其中,????????是输入样本,???????? 是类别标签(+1或-1),w 是权重向量,b 是偏置。
线性不可分数据:软间隔与核技巧
现实数据往往是线性不可分的,因此我们需要对SVM进行扩展。
1.软间隔(Soft Margin):当数据不可完全线性分离时,SVM引入松弛变量
???????? ,允许部分数据点出现在错误的边界一侧。这样,优化问题变为在最大化间隔的同时,允许一定的分类错误。目标函数更新为:
其中,???? 是一个超参数,控制分类错误和间隔大小之间的权衡。
核技巧(Kernel Trick):当数据在低维空间不可分时,可以通过核技巧将数据映射到高维空间,从而使其线性可分。SVM不需要显式地计算映射后的数据点坐标,而是通过核函数在低维空间中进行高维空间的运算。常见的核函数包括:
线性核:适用于线性可分的数据。
多项式核:处理多项式关系的数据。
高斯核(RBF核):适用于数据分布较复杂的情况。其形式为:
Sigmoid核:类似神经网络的激活函数,适合某些特定任务。
SVM 的数学形式
通过对偶问题的求解,SVM可以表达为拉格朗日乘子的形式。目标变成了求解下列拉格朗日函数:
其中,αi是拉格朗日乘子。优化后,最终分类器的决策函数可以表示为:
通过核函数 ????(????????,????)SVM能够高效处理高维特征空间的计算。
SVM 的优势
强大的泛化能力:SVM通过最大化分类间隔,能有效提升对未知数据的预测准确性。
适应高维数据:SVM能够处理高维特征空间的数据,且在特征数远大于样本数时仍然有效。
使用核技巧:通过核函数,SVM可以处理非线性问题,而无需显式进行高维映射
SVM 的缺点
计算复杂度高:SVM的计算成本较高,尤其在样本数量很大时(因为其复杂度与样本数量呈平方关系)。
超参数调优困难:SVM的性能高度依赖于超参数(如核函数类型、???? 参数和 ???? 参数等)的选择,通常需要交叉验证来确定最佳参数。
不适合大型数据集:在大规模数据集上,SVM的计算效率不如其他算法(如随机森林、神经网络等)。
SVM 的应用
SVM广泛应用于以下领域:
文本分类:如垃圾邮件检测、情感分析等。
图像识别:如人脸识别、手写数字识别等。
基因数据分类:用于生物信息学中的基因数据分析。
时间序列预测:尽管SVM本质上是一种分类算法,但在特定情况下也可用于回归任务。
总结
支持向量机是一种功能强大且理论坚实的分类算法,尤其在处理高维数据和小样本数据上有着显著的优势。SVM通过核函数扩展,能够处理复杂的非线性分类问题。虽然在处理大型数据集时效率较低,但通过合适的参数调整和核函数选择,SVM在许多应用场景中表现出色。
推荐阅读
-
线性可微支持向量机的原理推导 最大化几何区间 d 公式分析
-
R 语言机器学习算法实战系列(三) lightGBM 算法(光梯度提升机)
-
回归预测 | Matlab 基于 SABO-SVR 减平均算法的支持向量机在多输入单输出数据回归预测中的应用优化
-
[机器学习] 任务 6:分类算法(支持向量机 (SVM) 在线性可分和不可分数据中的应用及可视化分析)
-
[机器学习] - 支持向量机
-
电信行业客户流失预测方法比较:KNN、朴素贝叶斯、逻辑回归、LDA/QDA、随机森林、支持向量机、CART、神经网络
-
机器学习:深入理解矩阵和向量的求导——第二部分:矩阵与单变量求导
-
理解与应用:简单易懂的机器学习 - 支持向量机(SVM)
-
基于回归支持向量机 svr 预测确诊病例数、基于 lstm 预测确诊病例数、基于 bilstm 预测确诊病例数、基于 ga-lstm-svr 预测确诊病例数
-
在PyCharm中畅游机器学习深海,以支持向量机探索图像识别新航程