支持向量机算法 SVM

很努力地把公式截图贴到简书上,但效果还是不理想。因为文字间的公式非常难排版,且弄起来老感觉蛋疼 ...... 如果想看完整排版的移步 http://blog.kamidox.com/svm.html

支持向量机算法 SVM 是 Support Vector Machine 的缩写,它是工业和学术界都有广泛应用的强大的算法。

从逻辑回归算法谈起

逻辑回归算法的预测函数

逻辑回归算法的预测函数称为 Sigmoid Function ,如下图:

Sigmoid Function
Sigmoid Function

这意味着,针对 $y=1$,我们希望预测值 $h(x) \approx 1$,那么只要 $z=\theta^T x \gg 0$ 即可。相同的道理,针对 $y=0$,我们希望预测值 $h(x) \approx 0$,那么只要 $z=\theta^T x \ll 0$ 即可。

逻辑回归算法的成本函数

回顾之前的知识,逻辑回归算法的成本函数如下

logistic cost function

如果我们去掉 $\frac{1}{m}$ 和累加器,同时暂时不考虑正则项,则可以得到另外一个样式的成本函数:

logistic cost function: style 1

当 $y^{(i)}=1$ 时,$1-y^{(i)}=0$,故这一式子再简化为:

logistic cost function: style 2

把上述函数以成本 J 为纵坐标,z 为横坐标,画出来的函数曲线如下:

cost 1
cost 1

从图中可以看到,针对 $y=1$ 的情况,如果 $z=\theta^T x \gg 1$ 时,成本将很小。支持向量机的原理,就是简化逻辑回归算法的成本函数,以 $z=1$ 为分界线,当 $z<1$ 时,把成本函数简化为一条斜线,当 $z>=1$ 时,直接把成本简化为 0。如上图洋红色所示。

相同的道理,针对$y^{(i)}=0$ 时,变形后的逻辑回归算法成本函数简化为:

logistic cost function for y=0

把上述函数以成本 J 为纵坐标,z 为横坐标,画出来的函数曲线如下:

cost 1
cost 1

从图中可以看到,针对 $y=0$ 的情况,如果 $z=\theta^T x \ll -1$ 时,成本将很小。支持向量机的原理,就是简化逻辑回归算法的成本函数,以 $z=-1$ 为分界线,当 $z<-1$ 时,把成本函数简化为 0,当 $z>=-1$ 时,把成本简化一条斜线。如上图洋红色所示。

支持向量机算法的成本函数

根据上面的定义,支持向量机把成本函数分成两部分,一部分是针对 $y=1$ 的情况,它是一个以 $z=1$ 为分界点的折线。另外一部分是针对 $y=0$ 的情况,它是以 $z=-1$ 为分界点的折线。我们把这两个情况合并起来,并把正则项加上去,就得到支持向量机的成本函数:

svm cost function

这就是用在支持向量机算法里的成本函数。这里的参数 C 越大,正则项的比重就越小,就容易造成过拟合。反之,如果 C 越小,正则项的比重就越大,就容易造成欠拟合。

支持向量机的预测函数

我们定义支持向量机的预测函数如下:

svm predict function

这里和逻辑回归算法比较,针对逻辑回归算法,其正负样本分界线为 $\theta^T x = 0$,即 $\theta^T x > 0$ 时为正样本,当 $\theta^T x < 0$ 时为负样本。而支持向量机的分类预测函数要求更严格,它要求 $\theta^T x >= 1$ 时为正样本,$\theta^T x <= -1$ 时为负样本。根据支持向量机的成本函数图形,只有这样成本才最小,即成本为零。如下图所示:

svm cost
svm cost

大间距分类算法

支持向量机也称为大间距分类算法。大间距的意思是,用 SVM 算法计算出来的分界线会保留对类别最大的间距,即有足够的余量。

我们看一个比较极端的情况,假设我们选取一个很大的值作为参数 C 的值,那么为了让成本最小,我们必须让成本函数的前半部分为 0,这样成本函数就只剩下:

simplified cost function for svm

求解这个函数的结果,就会让我们获得一个较大间距的分类算法。如下图所示,假设我们有个分类问题。那么洋红色和绿色的都可以是合法的分界线,但 SVM 可以得到黑色的分界线,即确保到两个类别有最大的间距。

svm decision boundary
svm decision boundary

为什么求解 $J(\theta) = \frac{1}{2} \sum_{j=1}^n \theta_j^2$ 会得到最大间距的分界线呢?这个我们留到下面详细解释。

我们接着看下图,如果我们的参数 C 很大,那么可能发生过拟合,即左下角的一个异常的红色样例 X 可能会导致决策界从黑色线变成洋红色线。但实际上,直观地来理解,这样的转变是不合理的,我们仍然希望得到黑色的决策界。这个时候,我们可以调整参数 C ,让 C 的值不要太大,这样就不会被左下角的红色 X 异常样例的干扰,照样得到黑色的决策边界。

svm overfitting
svm overfitting

与逻辑回归算法类比,C 相当于 $\frac{1}{\lambda}$。通过调整 C 可以让 SVM 算法不至于过拟合,也不至于欠拟合。

从数学角度理解大间距分类算法

向量内积的几何含义

假设 u, v 是一个二维列向量,那么 $u^Tv$ 表示向量 v 在 向量 u 上的投影的长度。可以通过在二维平面上画出向量 u 和向量 v 来更清楚地看这个关系。

vector inner product
vector inner product
vector inner product

其中 p 就是 v 在 u 上的投影的长度,它是有符号的实数;$|u|$ 是向量 u 的范数,即向量 u 的长度,其值为 $\sqrt{u_1^2 + u_2^2}$。

从数学上理解为什么支持向量机会把类别边界的间距做到最大

假设我们只有两个特征,即 n = 2,则 $J(\theta) = \frac{1}{2} \sum_{j=1}^n \theta_j^2$ 简化为:

simplified svm cost function

回到 SVM 算法的预测函数:

svm prediction function

即当预测为正样本时,我们需要 $\theta^T x >=1$,这个式子可以理解为向量内积,它的几何含义是x 在 $\theta$ 上的投影的长度大于等于 1,即 $p | \theta | >= 1$。如下图所示:

theta and x inner product
theta and x inner product

而我们的算法求解目标是使 $J(\theta) = \frac{1}{2} | \theta |^2$ 最小,所以 SVM 算法的求解目标就是要让 p 尽可能最大。即使所有的训练样例点 $x^{i}$ 到参数向量 $\theta$ 的投影长度最大。在几何上,决策边界和参数 $\theta$ 是正交的。如下图所示:

svm decision boundary
svm decision boundary

绿色线为决策边界,绿色线为 $\theta$ 所代表的向量。那么 SVM 的求解目标就是让各个训练样例的点 $x^{i}$ 到 $\theta$ 上的投影长度最大。上图中,我们可以试着换一个决策边界,试着画出训练样例到这个新的决策边界所决定的参数 $\theta$ 的投影长度,即可理解为什么 SVM 可以让决策边界得到最大的间距。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,123评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,031评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,723评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,357评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,412评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,760评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,904评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,672评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,118评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,456评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,599评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,264评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,857评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,731评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,956评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,286评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,465评论 2 348

推荐阅读更多精彩内容