支持向量机(SVM)
目录
一、SVM概述
支持向量机是一种常用的监督学习算法,主要用于分类和回归问题。它的核心思想是找到一个最优的超平面,将不同类别的样本点有效地分开,同时尽量使得分类边界与样本点之间的间隔最大化。
具体来说,支持向量机的基本概念包括以下几个要点:
-
超平面:在二维空间中,超平面就是一条直线;在三维空间中,超平面是一个平面。对于高维空间,超平面是一个(n-1)维的子空间。在支持向量机中,我们的目标就是找到一个超平面,能够将不同类别的样本点分开。
-
支持向量:支持向量是距离超平面最近的样本点,它们决定了超平面的位置和方向。也就是说,支持向量是离分类边界最近的样本点。
-
间隔:支持向量机追求的是使分类边界与样本点之间的间隔最大化。这个间隔被称为“间隔最大化”,是支持向量机的一个重要特点。
-
核函数:当数据集在低维空间中无法线性可分时,可以使用核函数将原始样本投影到更高维的空间中,使得分类问题在高维空间变成线性可分。常用的核函数包括线性核、多项式核和高斯核等。
-
优化算法:支持向量机的训练过程可以表示为一个凸优化问题,通过求解对应的拉格朗日乘子,可以得到最优的超平面。常用的优化算法包括梯度下降、SMO算法等。
二、SVM内容大纲
1.超平面
对于2分类的逻辑回归而言,假设特征数为2,那么我们训练模型的过程通过梯度下降不断更新参数迫近全局最优解,拟合出一条直线作为决策边界,使得以这个决策边界划分出来的分类结果误差最低。
当特征数量超过2,这个时候我们用来分割不同类别的“线”就成为了一个面,简称超平面(hyperplane),超即是多维的意思(二维就是一条线,三维就是一个面,多维就是超平面)。划分超平面可用如下线性方程表示:
其中是法向量,b是位移。
如果我们用一条直线来将两种类别分开,如下图,可以看到有多条直线可以选择。
我们可以很直观的看出选择红色这条直线会具有更大的泛化能力,感觉它是最能分开这两类的直线,红色的这条决策边界就是通过间隔最大化求得的。
2.支持向量和决策边界
支持向量:在支持向量机中,支持向量是距离分类超平面最近的样本点。这些样本点位于间隔边界上或在错误分类一侧。支持向量决定了分类超平面的位置和方向。只有支持向量的位置发生变化时,分类超平面才会改变。
决策边界:决策边界是支持向量机分类超平面的表示。对于二分类问题,决策边界是一个超平面,可以将样本空间分割成两个不同的类别。在二维特征空间中,决策边界通常是一条直线;在三维特征空间中,决策边界通常是一个平面。对于高维特征空间,决策边界是一个超平面。
分类结果:根据样本点在决策边界的位置,我们可以确定其分类结果。如果样本点位于决策边界的一侧,它将被分类为一个类别;如果样本点位于决策边界的另一侧,它将被分类为另一个类别。支持向量机通过最大化间隔来使分类结果更加准确。
总结起来,支持向量是离分类超平面最近的样本点,它们决定了分类超平面的位置和方向。决策边界是支持向量机分类超平面的表示,它将样本空间分割成两个不同的类别。分类结果根据样本点在决策边界的位置确定。
3.间隔
支持向量机追求的是使分类边界与样本点之间的间隔最大化。这个间隔被称为“间隔最大化”,是支持向量机的一个重要特点。
间隔最大化