支持向量机

前言

支持向量机(support Vector Machine)是一种更加强大的算法,广泛应用于学术界和工业界,与之前的学习过的机器学习算法相比较,支持向量机(以下简称SVM)为处理非线性问题提供了一种更加强大的方法。

优化目标

在之前的学习中,我们已经详细了解了逻辑回归的相关知识,其损失函数的数学公式可以用以下公式表示:
Cost(h_\theta(x),y) =\begin{cases} -log(h_\theta(x)) \ \ \ \ \ \ \ \ \ if\ \ \ \ y=1 \ \\-log(1-h_\theta(x)) \ \ if \ \ \ y=0 \end{cases}

其中h_\theta(x) = \frac{1}{1+e^-{\theta^Tx}}

当以z = -\theta^Tx=1 \ or\ -1为分界点,其图像可以用以下方式近似表示:

SVM的假设函数可以用如下公式表示:


其中 cost_1 = -log(h_\theta(x^{(i)})), cost_0 = (1-log(h_\theta(x^{(i)})))

大间隔分类器的数学原理

  • 大间隔分类器
    大间隔分类器就是以最大间隔划分正样本和负样本,使得样本距离分割线具有最大的距离。通过分析图像,可以得到以下结果:
    z \geq1时,y=0, z \leq -1时,y=0,即也就是使y=0z有很大区间。

  • 数学原理

    • 向量内积
      为了了解大间隔分类器的数学原理,有必要了解向量内积的计算方式,如下所示,有如下两个向量:


期内积可以表示为z = u^Tv,其模值可以表示为\left \| z\right \| = \sqrt{u^2+v^2},用几何法可以如下表示:

其含义表示向量vu上的投影p乘以u的模值,即\left \| p \right \|·u = u_1v_1+u_2v_2.

  • SVM决策边界
    对于\frac{1}{2}\sum_{j=1}^{n}\theta_j^{2}而言,假设n=2
    则有\frac{1}{2}\sum_{j=1}^{n}\theta_j^{2} = \frac{1}{2}{(\sqrt{\theta_1^2+\theta_2^2}\ )}^2 =\frac{1}{2} \left \| \theta \right \|,
    对于SVM假设函数有
    \theta^Tx \geq 1,y=0
    \theta^Tx <1,y=1, 可以有以下表示:
    p^{(i)}·\left \| \theta \right \| \geq1 \ \ if \ \ y^{(i)} = 1
    p^{(i)}·\left \| \theta \right \| \leq-1 \ \ if \ \ y^{(i)} = 1
    通过以上方式,将问题简化为向量内积即也就是向量投影的形式,寻找合适的决策边界。示意图如下图所示:

核函数

  • 高斯核函数的引入
    在之前的学习中,我们已经知道,对于非线性分类器,可以采用多项式的形式假设函数,另一种方法是采用核函数的方式,具体介绍如下:
    对于给定的变量x,有如下图所示的三个标记,l^{(1)},l^{(2)},l^{(3)},


    f表示变量x与标记l的相似度,其计算方式如下所示;
    f_1 =similarity(x,l^{(1)}) =exp(-\frac{{\left \| x-l^{(1)} \right \|}^2}{2\sigma^2 })
    f_2 =similarity(x,l^{(2)}) =exp(-\frac{{\left \| x-l^{(2)} \right \|}^2}{2\sigma^2 })
    f_3 =similarity(x,l^{(3)}) =exp(-\frac{{\left \| x-l^{(3)} \right \|}^2}{2\sigma^2 })
    以上公式中exp()函数称之为核函数,本次使用的函数也称之为高斯核函数,通常用k(x,l)表示。
    对于以上给出的高斯核函数,假设x \approx l,可以计算出f\approx exp(0) =1,相反,如果x >> l(xl之间的距离非常远)则有f \approx exp(-\infty)= 0.
    通过以上方法,对于给定的变量x,可以得到新的特征f,其假设函数可以写成以下形式:
    \begin{cases} \theta_0 + \theta_1f_1 + \theta_2f_2 + \theta_3f_3 \geq 0, \ \ y=1\\ \theta_0 + \theta_1f_1 + \theta_2f_2 + \theta_3f_3 < 0, \ \ y=0 \end{cases}
    显然,通过上述表达式,可以将复杂的非线性分类问题加以简化处理。

  • 核函数的使用
    以上,介绍了核函数的相关原理,选择合适的标记点l非常重要,在实际的应用中,通常选择训练样本点作为标记l,则对于每一个训练样本都可以通过高斯核函数得到一组特征向量f,对于每一个训练样本(x^{(i)},y^{(i)})都有如下的特征向量f^{(i)}:

f^{(i)}= \begin{bmatrix}f^{(i)}_0\\f^{(i)}_1\\f^{(i)}_2\\ \vdots \\ f^{(i)}_m \\ \end{bmatrix}
其中,f^{(i)}_0 =1,且f \in R^{m+1}
通过核函数的方法,对于SVM的假设函数可以写成如下形式
minC\sum_{i=1}^{m} [y^{(i)}cost_1(\theta^Tf^{(i)})+(1-y^{(i)})cost_0(\theta^Tf^{(i)})] +\frac{1}{2}\sum_{j=1}^{n}\theta_j^2

  • 高斯核函数的参数选择
    对于SVM训练函数,参数C(=\frac{1}{\lambda})较大时:低偏差,高方差
    而较小时会导致,高偏差,低方差。
    对于核函数的参数\sigma^2较大时,如下图像所示,会使得特征f_i的变化更加平滑,会导致高偏差和低方差。

    而参数\sigma^2较小时,曲线变化更加陡峭,造成高方差和低的偏差。

选择合适的分类算法

对于分类算法,我们已经学习了逻辑回归算法和SVM算法,对于一个具体的分类问题,用n表示其特征数量,m表示训练样本的数目,其算法选择可以遵循以下原则:
n>>m:采用逻辑回归算法或者线性核函数的SVM算法(或者没有核函数的SVM算法)。
m较小,而n大小适中时,采用高斯核函数的SVM算法。
n<<m:手动的创建更多的特征,采用逻辑回归算法或者不带核函数的SVM算法。

注意:神经网络适用以上任何一种形式,但是其花费的训练时间更长。

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

推荐阅读更多精彩内容