1. 间隔的直观理解
这一章从“间隔”这个概念开始讲述SVM(支持向量机)模型。本文会以实际的例子让读者对于“间隔”的概念有一个更清晰直观的理解。我们会将前两节总结的思想在第三节通过数学语言来描述。
对于logistic分类模型,由公式 hθ(x)=g(θTx) 计算条件概率 p(y=1|x;θ) 。只有在 hθ(x)≥0.5 我们会预测y=1,等价于 θTx≥0 时y=1。对单个正样本(y=1)而言, θTx 的值越大,条件概率 p(y=1|x;θ) 就越大,那我们就更“确信”这个样本标记为1。这样模型就有一个很好的优化方向,寻找参数 θ 使得当 y(i)=1 时 θTx>>0 ,同理当 y(i)=0 时使 θTx<<0 ,这反映我们对训练样本分类结果的确定性。我们将会通过函数间隔来刻画这个思想。
注意看下面这张图,叉叉代表正样本,圆圈代表负样本。我们画出了一条决策线(也可称为分离超平面,其上的点满足 θTx=0 )。我们标出了三个示范点A、B、C。
可以很容易的发现A点离决策线很远,而C点离决策线很近。我们可以很有信心的说A是一个正样本(y=1),但C点就不太确定了,决策线的参数只需稍有改变,C点就极有可能变成负样本(y=0)。B点相对决策线的距离在A、C之间,我们对它的确信度也在A、C之间。整理一下思路,我们需要找到一条直线使得直线两边的点到它的距离都尽可能的远,这样我们才能确信自己的判断。我们之后会以物理间隔这个概念来描述此问题。
标记符
之后支持向量机的讨论中,我们将使用一组新的标记符。对于二分类问题中的线性分类器,标注记为
y
,特征为
对于函数 g ,当
还有一点需要注意,从函数
函数间隔和物理间隔
这一节将正式给出函数间隔和物理间隔的数学定义。对某一给定训练样本
(x(i),y(i))
,我们定义其函数间隔为:
从上式可以看出,当 y(i)=1 时要使函数间隔变大,只需增大 wTx+b 。同理当 y(i)=−1 只需减小 wTx+b 函数间隔就会增大。同时当 y(i)(wTx(i)+b)≥0 即代表我们预测正确。因此足够大的函数间隔表示这是一个置信度很高的正确预测。
对于某一给定训练集
S={(x(i),y(i));i=1,⋯,m}
,我们定义训练集中最小函数间隔记为
γ^
:
但是用函数间隔描述置信度存在一个问题,如果我们将参数从 (w,b) 替换成 (2w,2b) 那么函数间隔会扩大一倍,但实际并不能增加置信度。直觉告诉我们,这里可能需要有一个归一化条件比如 ∥w∥2=1 ,将 (w,b) 替换成 (w/∥w∥2,b/∥w∥2) 再来计算函数间隔,这就引出了几何间隔的概念。我们接下来讨论几何间隔,看下图:
我们画出了决策线,易见
w
同决策线正交(垂直)。点A是一个输入为
求解方程得:
这就是几何间隔的数学公式。当 ∥w∥=1 时,几何间隔和函数间隔相等。从公式中可以发现参数的缩放不会影响几何间隔的大小。
最后,对于某一给定训练集
S={(x(i),y(i));i=1,⋯,m}
,我们定义训练集中最小几何间隔记为
γ
:
本文主要内容来自吴恩达老师网易公开课机器学习中的课件,本人自行翻译并重新对文章进行编辑排版,转载请注明出处