前言
本篇文章是个人对于从感知机到支持向量机的整个过程的思考和推理:
❝感知机--->缺陷--->加入约束/优化策略(为什么可行)--->支持向量机
❞
不涉及支持向量机的学习过程(从原始凸二次规划问题转化为拉格朗日对偶问题)以及线性可分、线性、非线性支持向量机的讨论(本文采用线性可分的前提条件)。从支持向量机的定义出发,解释「最大间隔化的由来」、「支持向量的概念」以及「如何解决多分类任务」。支持向量机的内容较多,分多篇来梳理。
本文约1.7k字,预计阅读8分钟。
概要
首先给出支持向量机的定义:
❝支持向量机(SVM)是一个「二分类模型」,是定义在特征空间上的「间隔最大」的分类器。
❞
可以发现,与感知机的区别在于【间隔最大】这个概念。首先,从几何角度来说,感知机就是在特征空间 上找到一个超平面,这个超平面能刚好将分布在特种空间上的正负两类点给区分开来。那么「不做任何的约束」,这个超平面就会有无穷多个(线性可分的前提下)。那么就存在一个「关键问题」:如何挑选一个最优的超平面(也可以理解为如何让模型更加的健壮)?这就需要找到找到一个新的学习策略/约束。
将其公式化,对于感知机来说,定义一个超平面:
相对应的决策函数为:
通过对「误分类点到超平面的距离的总和」这一损失函数进行建模,通过SGD等方法进行优化。
以上是「经验风险最小化」,存在的缺陷:
解不唯一(超平面不唯一);
容易受数据集影响;
那么就需要加入一个新的学习策略/约束,即「间隔最大化」,可以使其「结构风险最小」。学习的目标就是来找到一个最优超平面。
再将间隔最大化给剥离出来,存在两个问题:
最大间隔化指的是什么?
为什么最大间隔化可以找到一个唯一的超平面?
对于第1个问题,一个点(样本)到超平面的远近可以表示分类预测的确信程度(离超平面越远越准确,超平面附近的点不确定性更大)。点到平面距离的公式为: ,假设两种分类点的标签为