这份讲义的核心是介绍支持向量机,这是一种在机器学习领域长期被视作非常可靠且效果优秀的监督学习算法,而它的整个设计思路,是从分类边界的信心与安全性出发,逐步构建出一套完整的优化与建模框架,我们可以顺着讲义的顺序一步步理解它的来龙去脉。讲义最开始从间隔这个核心直觉讲起,对比我们之前学习过的逻辑回归,逻辑回归的目标主要是正确区分不同类别的样本,只要样本被划分到正确的一侧就基本完成任务,而支持向量机在此基础上更进一步,它不仅要求分类正确,还追求让分类边界尽可能远离所有样本,尤其是距离边界最近的那些样本,因为一个样本距离边界越远,我们对它的分类结果就越有信心,反之距离边界越近,我们的判断就越不确定,因此支持向量机的核心目标,就是找到一条能够让两类样本之间的空白间隔达到最大的分类边界,这个边界也被称为分类超平面,而这个空白间隔的宽度,就是算法最关心的几何间隔。
为了准确描述这种远近与信心的关系,讲义引入了函数间隔和几何间隔两个概念,函数间隔用来表示样本相对于边界的确定性大小,数值越大代表分类越确定,但它存在一个明显的问题,就是当我们对模型参数进行等比例缩放时,函数间隔会跟着变化,而实际的分类边界并没有改变,因此它不能作为真实距离的衡量标准,而几何间隔则是样本到分类边界真正的物理距离,不会随着参数缩放而变化,这也是支持向量机真正想要最大化的目标,在定义完整个训练集的间隔时,我们通常取所有样本中间隔最小的那个值作为整个数据集的间隔,因为只有保证最小间隔足够大,才能确保所有样本的分类都具备足够的安全性。
函数间隔是对该点分类确定性的大小,几何间隔是点距离分类超平面的物理距离
在明确了最大化几何间隔的目标之后,讲义开始构建最优间隔分类器,也就是支持向量机最基础的形式,这个模型的前提是假设数据是线性可分的,也就是存在至少一条直线或超平面能够把两类样本完全分开,我们的优化目标就是在所有满足分类正确的边界中,找到让最小几何间隔最大的那一个。这里有一个非常重要的性质,那就是最终的分类边界只由少数几个样本决定,这些样本恰好是距离边界最近、落在间隔边缘上的点,它们被称为支持向量,而其他远离边界的样本对边界的位置没有任何影响,这也是支持向量机这个名字的由来,这种特性让模型变得非常简洁,预测时只需要计算新样本与支持向量之间的关系即可,大大降低了计算的复杂度。
接下来讲义介绍了核函数,这是支持向量机能够处理复杂非线性问题的核心工具,在现实任务中,很多数据并不是线性可分的,简单的直线或超平面无法完成分类,传统的解决方法是手动构造更高维度的特征,把数据映射到高维空间中使其变得可分,但这种方法会带来巨大的计算量,尤其是当特征维度极高时几乎无法实现,而核技巧巧妙地避开了直接构造高维特征的过程,它通过定义一个核函数,直接计算两个样本在高维空间中的内积,而不需要显式地把样本映射到高维空间中,这使得支持向量机可以在极高维度甚至无穷维度的特征空间中进行分类,计算量却依然保持在较低水平,讲义中举例的多项式核和高斯核都是常用的核函数,高斯核更是可以拟合出任意形状的复杂边界,让支持向量机具备极强的表达能力。
考虑到现实数据中往往存在噪声或异常值,完全线性可分的假设过于苛刻,讲义进一步引入了软间隔的概念,对原始模型进行正则化改进,允许少量样本被错误分类或者落在间隔内部,同时通过一个惩罚系数来控制容错程度,惩罚系数越大,模型越不愿意容忍错误分类,间隔就会越窄,越容易过拟合,惩罚系数越小,模型越宽容,间隔更宽,泛化能力更强,这种软间隔支持向量机更加贴合实际应用场景,能够有效应对数据中的噪声和不稳定因素。
软间隔和我们最开始讲的最优间隔分类器里的几何间隔在本质上是完全一致的,只是软间隔放宽了对样本的约束条件,让模型不再强制要求所有样本都必须位于间隔带之外,而是允许一部分样本突破间隔,甚至被错误分类
最后讲义讲解了 SMO 算法,这是用于训练支持向量机的高效优化算法,由于对偶问题中的参数存在一定的约束条件,无法单独更新某一个参数,因此 SMO 算法采用了非常巧妙的策略,每次只选择两个参数进行更新,同时固定其他所有参数,这样既满足了约束条件,又能让每一步的优化计算变得简单快速,通过不断重复成对更新参数的过程,直到模型收敛,就可以得到最终的支持向量机模型,整个算法效率很高,能够快速处理中等规模的数据集。
SVM的思路就是:
SVM与逻辑回归不同之处就是,它不止追求正确分类,还追求分的更好,也就是样本点距离分类超平面的距离最大,这个距离就是几何间隔。样本点距离分类超平面距离越大,分类正确率和信心越高。所以SVM的目的就是最大化几何间隔。而计算几何间隔依赖的是离分类超平面最近的那几个样本点,这些样本点称为支持向量。而当新的样本点进入模型后,只需要计算其与支持向量的关系就能判断分类准确率了。
然后就是为了使模型的非线性更强的方法:核函数/核技巧;以及增强泛化能力的方法:软间隔(降低惩罚系数)
