吴恩达机器学习——支持向量机SVM(9)

1. 代价函数

在这里插入图片描述
其中: C = 1 λ C=\frac{1}{λ} C=λ1 c o s t 0 = − l o g ( 1 − 1 1 + e − z ) = = − l o g ( 1 − 1 1 + e − θ T x ) cost_0 = -log(1- \frac{1}{1+e^{-z}})== -log(1- \frac{1}{1+e^{-θ^Tx}}) cost0=log(11+ez1)==log(11+eθTx1); c o s t 1 = − l o g ( 1 1 1 + e − z ) = = − l o g ( 1 1 + e − θ T x ) cost_1 = -log(1\frac{1}{1+e^{-z}})== -log( \frac{1}{1+e^{-θ^Tx}}) cost1=log(11+ez1)==log(1+eθTx1)

2. 最大间隔

在这里插入图片描述
在支持向量机中,希望分类的阀值不再是0,而是±1,使得中间有足够大的间隙,或者说安全的间距因子。如下:
y = { 1 ,  if  θ T x  ≥ 1 (not just ≥ 0) 0 ,  if  θ T x  ≤ -1 (not just &lt; 0) y= \begin{cases} 1, &amp; \text { if $θ^Tx$ ≥ 1 (not just ≥ 0)} \\ 0, &amp; \text{ if $θ^Tx$ ≤ -1 (not just &lt; 0)} \end{cases} y={1,0, if θTx ≥ 1 (not just ≥ 0) if θTx ≤ -1 (not just < 0)
现在假设C是一个非常大的情况下, 最小化代价函数, 那么就得有第一项为0。需要保证当y=1的时候θTx≥1或者当y=0的时候θTx≤-1。在此约束下,优化问题就变成了:
min ⁡ θ 1 2 ∑ i = 1 n θ j 2 s . t . { θ T x ≥ 1 ,  if  y ( i )  = 1 θ T x ≤ − 1 ,  if  y ( i )  =0  \min_{θ} \frac{1}{2}\sum_{i=1}^n θ_j^2 s.t. \begin{cases} θ^Tx≥ 1, &amp; \text { if $y^{(i)}$ = 1} \\ θ^Tx≤ -1, &amp; \text{ if $y^{(i)}$ =0 } \end{cases} θmin21i=1nθj2s.t.{θTx1,θTx1, if y(i) = 1 if y(i) =0 
在这里插入图片描述
在图中分别画出三条决策边界,均可以将正样本和负样本分开,黑线看起来是更稳健的决策界。在分离正样本和负样本上它显得的更好。数学上来讲,这条黑线有更大的距离,这个距离叫做间距(margin)。
因此支持向量机有时被称为大间距分类器
当C非常大的时候,SVM容易收到异常点的影响,得到更好的决策界。
? 较大时,相当于 ? 较小,可能会导致过拟合,高方差。
? 较小时,相当于 ? 较大,可能会导致低拟合,高偏差。
在这里插入图片描述
支持向量机做的全部事情,就是极小化参数向量?范数的平方,或者说长度的平方。

3. 核函数

给定一个训练实例? ,利用? 的各个特征与预先选定的地标(landmarks)?(1), ?(2), ?(3)的近似程度来选取新的特征?1, ?2, ?3
在这里插入图片描述??????????(?, ?(1))就是核函数,这个核函数为高斯核函数(Gaussian Kernel)。(注:这个函数与正态分布没什么实际上的关系)
地标的作用:实例?与地标?之间的距离近似于0,则新特征 ?近似于?−0 = 1,如实例?与地标?之间距离较远,则?近似于等于 0。

假设训练实例含有两个特征[?1 ?2],给定地标?(1)与不同的?值,见下图:

在这里插入图片描述可以看出,只有当?与?(1)重合时?才具有最大值。随着?的改变?值改变的速率受到?2控制。
可使用现有的软件包(如liblinear,libsvm 等)最小化支持向量机的代价函数。在使用这些软件包之前,需要编写核函数,使用高斯核函数之前需要特征缩放。
另外,支持向量机也可以不使用核函数,不使用核函数又称为线性核函数(linear kernel)。

4.支持向量机的两个参数?和?的影响

? = 1/?
? 较大时,相当于?较小,可能会导致过拟合,高方差;
? 较小时,相当于?较大,可能会导致低拟合,高偏差;
?较大时,可能会导致低方差,高偏差;
?较小时,可能会导致低偏差,高方差。

5. 支持向量机的使用

在高斯核函数之外的核函数,如:

  • 多项式核函数(Polynomial Kernel)
  • 字符串核函数(String kernel)
  • 卡方核函数( chi-square kernel)
  • 直方图交集核函数(histogram intersection kernel)
    这些核函数需要满足Mercer’s 定理,才能被支持向量机的优化软件正确处理。

多类分类问题
可以训练?个支持向量机来解决多类分类问题。但是大多数支持向量机软件包都有内置的多类分类功能,我们只要直接使用即可。

SVM 的优化软件需要做几件事:

  • 选择参数?
  • 选择核函数
  • 选择?2

普遍使用的准则:

  • (1)如相较于训练样本数?而言,特征数?要大许多,选用逻辑回归模型或者不带核函数的支持向量机。
  • (2)如?较小,而且?大小中等,如?在 1-1000 之间,而?在10-10000 之间,使用高斯核函数的支持向量机。
  • (3)如?较小,而?较大,如?在1-1000 之间,而?大于50000,需创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值