吴恩达学习笔记——第七周

SVM

基础定义

分类器 监督算法

代价函数

基于逻辑回归的代价函数,我们逐步调节实现SVM的代价函数:

  1. 修正cost(i)
    在这里插入图片描述
    图中的紫色线为更正之后的cost.
  2. 消去常数1/m
  3. 权重常数位置改变

最终得到的代价函数数学形式为:
J ( θ ) = C ∑ i = 1 m [ y ( i ) c o s t 1 ( θ T x ( i ) ) + ( 1 − y ( i ) ) c o s t 0 ( θ T x ( i ) ) ) ] + λ / 2 ∑ j = 1 n θ j 2 J(\theta)=C\sum_{i=1}^m[y^{(i)}cost_1(\theta^Tx^{(i)})+(1-y^{(i)})cost_0(\theta^Tx^{(i)}))]+\lambda/2\sum_{j=1}^n\theta_j^2 J(θ)=Ci=1m[y(i)cost1(θTx(i))+(1y(i))cost0(θTx(i)))]+λ/2j=1nθj2

目标

支持向量机努力用一个最大的边距来分离样本,因此SVM有时候也被称为大间距分类器
在这里插入图片描述
这也与参数设置有关系,如果参数C设置的非常大的话,那么代价函数就可以简化为:
在这里插入图片描述
如果直观理解的话,参数C设置的非常大,也就是不允许训练集出现错误,很容易因为一个例子使得边界发生巨大的变化,而正则化的部分可以对其进行修正。

大间距分类背后的数学原理

接下来,我们从直观的角度分析为什么SVM会得到间隔最大的分类边界。
假设:

  1. C非常大
  2. θ 0 = 0 \theta_0=0 θ0=0

为了方便分析,我们设 p ( i ) p^{(i)} p(i) x ( i ) x^{(i)} x(i) θ \theta θ方向上的映射,因此可以得到:
θ T x ( i ) = p ( i ) ∣ ∣ θ ∣ ∣ \theta^Tx^{(i)}=p^{(i)}||\theta|| θTx(i)=p(i)θ

核函数

我们选取高斯核函数作为我们的相似度函数:
s i m i l a r i t y ( x , y ) = e − ∣ ∣ x − y ∣ ∣ 2 2 σ 2 similarity(x,y)=e^{-\frac{||x-y||^{2}}{2\sigma^2}} similarity(x,y)=e2σ2xy2

使用核函数重新构造变量项的原因

如果我们仍然使用多项式的方法,那么我们需要定义项: x 1 x 2 , x 1 2 , x 2 2 x_1x_2,x_1^2,x_2^2 x1x2,x12,x22;很多时候特征值的数目会超过我们的想象,因此按照这种办法,所需要定义的项太多了,因此我们需要别的方法来定义特征变量。

如何使用核函数

我们通过标记点新特征函数,来定义新的特征变量。
设标记的点为 l l l,那么随意取x点,可以得到核函数的值为:
如果 l ≈ x l\approx x lx,那么核函数的值可以得到趋近于1;如果距离非常远,那么核函数的值趋近于0.
这就是核函数或者说是相似度函数所具有的物理意义。

如何确定标记点

  1. 直接使用样本点作为标记点。

使用核函数之后的代价函数

f ( i ) ( x ) = s i m ( x , x ( i ) ) f^{(i)}(x)=sim(x,x^{(i)}) f(i)(x)=sim(x,x(i))

J ( θ ) = C ∑ i = 1 m [ y ( i ) c o s t 1 ( θ T f ( i ) ) + ( 1 − y ( i ) ) c o s t 0 ( θ T f ( i ) ) ) ] + λ / 2 ∑ j = 1 n θ j 2 J(\theta)=C\sum_{i=1}^m[y^{(i)}cost_1(\theta^Tf^{(i)})+(1-y^{(i)})cost_0(\theta^Tf^{(i)}))]+\lambda/2\sum_{j=1}^n\theta_j^2 J(θ)=Ci=1m[y(i)cost1(θTf(i))+(1y(i))cost0(θTf(i)))]+λ/2j=1nθj2

关于参数的直观理解:
如果C比较大的话,那么直观理解就是容错性比较差,容易出现过拟合;也就是低偏差,高方差。
如果 σ \sigma σ比较大的话,那么直观理解就是特征变量 f ( i ) f^{(i)} f(i)变化的较为平滑;就是高偏差,低方差。

实际应用

  1. 选择参数
    (1) 选择 C C C.
    (2) 选择核函数。
    一种选择是不用核函数,这时候也就可以理解为使用线性核函数。当n很大,m很小时,可以选择这种核函数。
    第二种选择是使用高斯核函数。这时候需要选择参数 σ \sigma σ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值