SVM决策边界及损失函数

决策边界+SVM损失函数

回顾一下前面博客中提到的决策边界,在二维的平面上,决策边界即超平面是一条直线。
现在假设有N个样本点,每个样本点表示为(xi_ii, yiy_iyi),xi_ii是特征向量。为了便于理解,所以假设每个样本有2个特征,即对于任意一个样本i有: (x1i_{1i}1i, x2i_{2i}2i, yi{y_i}yi),就表示他们的两个特征值和对应的标签。
接着在二维平面上,将它们表示出来(相当于用x2_{2}2来表示横坐标,x1_{1}1表示纵坐标,y{y}y表示类别,图中体现为蓝色这类或红色这类),就如下图:

在这里插入图片描述
设置红色样本点标签为1,蓝色样本点标签为-1。此时,在二维平面上,找决策边界,也就是找超平面,超平面应该是一维的直线。任何一条直线都可以有如下表示:
x1{x_1}x1 = ax2{ax_2}ax2 + b{b}b
将变量都移至等号的一边:
0 = ax2{ax_2}ax2 - x1{x_1}x1 + b{b}b
转换成矩阵相乘的形式:
0 = [a,−1]\begin{bmatrix}a,-1 \\ \end{bmatrix}[a,1] * [x2x1]\begin{bmatrix}x_2 \\ x_1 \\ \end{bmatrix}[x2x1] + bbb
其中,[a,−1]\begin{bmatrix}a,-1 \\ \end{bmatrix}[a,1]是参数向量,[x2x1]\begin{bmatrix}x_2 \\ x_1 \\ \end{bmatrix}[x2x1]是特征向量;
即可写成:
0 = wTxw^TxwTx + bbb
所以在SVM中,决策边界就可以用wTxw^TxwTx + bbb = 0来表示,若不给定wwwbbb,就表示平面上的任意一条直线;若确定了wwwbbb,也确定了唯一的xxx的取值,就能够表示一个样本点了。
最终的目标是求解最佳的决策边界,即使得间隔最大化的决策边界,即需要求解wwwbbb

首先,在决策边界上任取2点,xmx_mxmxnx_nxn,将其代入表达式有:
wTxmw^Tx_mwTxm + bbb = 0          ①
wTxnw^Tx_nwTxn + bbb = 0           ②
① – ②得:
wTw^TwT * (xm−xn)(x_m - x_n)(xmxn) = 0

补充
对于向量aaa = [a1a_1a1, a2a_2a2ana_nan]和向量bbb = [b1b_1b1, b2b_2b2bnb_nbn],其点积可表示为:
a⋅ba·bab = a1a_1a1b1b_1b1 + a2a_2a2b2b_2b2 + … + ana_nanbnb_nbn
若用矩阵乘法且将向量看成是nX1的矩阵,还可以写成:
a⋅ba·bab = aTa^TaT * b

又由两个向量点积为0可以得知两个向量互相垂直,即www(xm−xn)(x_m - x_n)(xmxn)相互垂直。而(xm−xn)(x_m - x_n)(xmxn)其方向是平行于决策边界(wTxw^TxwTx + bbb = 0 )的,故参数向量www方向与决策边界垂直
假设下方图片中绿色直线表示决策边界,则www方向如图所示

在这里插入图片描述
现在,对于任意一个红色的样本点xpx_pxp,可以表示为:

wT⋅xpw^T·x_pwTxp + bbb = ppp
因为该点不在决策边界上,所以p肯定不为0,又红色标签为1,所以定p>0
同理,对于任意一个蓝色的样本点xqx_qxq,可以表示为:

wT⋅xqw^T·x_qwTxq + bbb = qqq
蓝色标签为-1,所以定q<0

综上所述,对于新的待测样本点xkx_kxk,其标签可以有如下判定:

y={1,w⋅xk+b>0−1,w⋅xk+b<0y=\left\{\begin{aligned} 1, & \text w \cdot x_{k}+b>0 \\-1, & \text w \cdot x_{k}+b<0 \end{aligned}\right.y={1,1,wxk+b>0wxk+b<0

在上一篇博客中,也提到,在决策边界的两侧有两个超平面,这里就是在我们画的这条直线两侧,分别有平行于它的两条线,这两条平行线之间的距离就是Margin。

在这里插入图片描述

这两条平行线可以这样表示:

w⋅xw·xwx + bbb = tttw⋅xw·xwx + bbb = −t-tt
上边两个式子两边同时除以ttt
w⋅xw·xwx + bbb = 111w⋅xw·xwx + bbb = −1-11
若将虚线平行外移,穿过的样本点(离决策边界最近)就是支持向量
同上,令红色样本点为xpx_pxp,蓝色为xqx_qxq,那么有:

w⋅xpw·x_pwxp + bbb = 111w⋅xqw·x_qwxq + bbb = −1-11

再将两式相减得到:

www * (xp−xqx_p-x_qxpxq) = 222

在这里插入图片描述
我们希望求解的是Margin,即通过红色样本点xpx_pxp和蓝色样本点xqx_qxq构成的那个小三角形中的黑色虚线那条边,而现在三角形的斜边就是xp−xqx_p-x_qxpxq是可以求解的。

补充
此时引入线代中模长的概念。
① 向量m除以它的模长就等于向量m方向上的单位向量,即m⃗∣∣m∣∣\vec{m}\over{||m||}mm,方向指向m⃗\vec{m}m的方向,值为1;
② 向量n乘向量m方向上的单位向量结果为向量n在向量m方向上的投影的长度。即n⃗⋅m⃗∣∣m∣∣\vec{n}·\vec{m}\over{||m||}mnm,这里的结果是一个数,因为分子相当于是一个点积,点积的结果是一个数,分母模长也是数,所以求得的结果就是投影的长度。

由上边补充的模长相关知识,可以知道我们想求解的Margin,也就是xpx_pxpxqx_qxq组成的那个小三角的黑色虚线,也就是向量(xp−xq)(x_p-x_q)(xpxq)www方向上的投影。所以可以写出下面的式子(将www * (xp−xqx_p-x_qxpxq) = 222两边同时除以∣∣w∣∣||w||w):
Margin = w∗(xp−xq)∣∣m∣∣w*(x_p-x_q)\over{||m||}mw(xpxq) = (xp−xq)(x_p-x_q)(xpxq)*w∣∣w∣∣w\over{||w||}ww= 2∣∣w∣∣2\over||w||w2

故:M = 2∣∣w∣∣2\over||w||w2 (Margin用M代替)

我们最初的目的,是求解使得间隔最大的决策边界,问题到这一步就是求最大的M
对于M = 2∣∣w∣∣2\over||w||w2最大化M(最小化1M1\over MM1)就是最小化www,即www的最小值,即求解下边函数的最小值:

f(w)f(w)f(w) = ∣∣w∣∣22{||w||^2}\over22w2 (实际上就是1M1\over MM1

为什么有个平方?

因为∣∣w∣∣||w||w表示的是模长,对于向量(x, y),它的模长求解公式是:x2+y2\sqrt {x^2+y^2}x2+y2,这是带根号的,所以为了便于计算,用平方将根号去掉。

所以,决策函数

w⋅xiw·x_iwxi + bbb ≥ 1,if yiy_iyi = 1
w⋅xiw·x_iwxi + bbb ≤ -1,if yiy_iyi = -1

可以合起来写作:

yi(w⋅xi+b)y_i(w·x_i + b)yi(wxi+b) ≥ 1, i= 1,2,3…n

SVM最初的损失函数
wwwbbb为参数,yi(w⋅xi+b)y_i(w·x_i + b)yi(wxi+b) ≥ 1, i= 1,2,3…n的条件下,求解minminmin∣∣w∣∣22{||w||^2}\over22w2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值