十,支持向量机

一.间隔与支持向量

  • 最优超平面(直线): 对训练样本局部扰动的“容忍性”最好,即最具鲁棒性。

1.最优平面公式推导

最优超平面: WTXi+b=0
正类: WTXi+b≥+1,yi=+1
负类: WTXi+b≥-1,yi=-1

最小距离推导

γ = 2 W 1 2 ∗ W 2 2 = 2 ∣ ∣ W ∣ ∣ γ=\frac{2}{\sqrt{{W_1^2}*{W_2^2}}}=\frac{2}{||W||} γ=W12W22 2=W2

  • W 1 = ( W T X i + b = − 1 ) − ( W T X i + b = 0 ) W_1=(W^TX_i+b=-1)-(W^TX_i+b=0) W1=(WTXi+b=1)(WTXi+b=0)

  • W 2 = ( W T X i + b = 1 ) − ( W T X i + b = 0 ) W_2=(W^TX_i+b=1)-(W^TX_i+b=0) W2=(WTXi+b=1)(WTXi+b=0)

  • W = ( W T X i + b = 1 ) − ( W T X i + b = − 1 ) W=(W^TX_i+b=1)-(W^TX_i+b=-1) W=(WTXi+b=1)(WTXi+b=1)

max:

γ = 2 ∣ ∣ W ∣ ∣ γ=\frac{2}{||W||} γ=W2

s .  t:

y i ( w T x i + b ) > 1 y_i(w^Tx_i+b)>1 yi(wTxi+b)>1

最优平面求解公式:

min:

γ = 1 2 ∗ ∣ ∣ W ∣ ∣ γ=\frac{1}{2}*||W|| γ=21W

s .  t:

y i ( w T x i + b ) > 1 y_i(w^Tx_i+b)>1 yi(wTxi+b)>1

二.公式求解

1.求解

f = 2 x 1 2 + 3 x 2 2 + 7 x 3 2 f=2x_1^2+3x_2^2+7x_3^2 f=2x12+3x22+7x32

的最小值.其中

2 x 1 + x 2 = 1 , 2 x 2 + 3 x 3 = 2 2x_1+x_2=1,2x_2+3x_3=2 2x1+x2=1,2x2+3x3=2

2.统一自变量

x 1 = 1 − x 2 2 x_1=\frac{1-x_2}{2} x1=21x2

x 3 = 2 − 2 x 2 3 x_3=\frac{2-2x_2}{3} x3=322x2

f = 2 ( 1 − x 2 2 ) 2 + 3 x 2 2 + 7 ( 2 − 2 x 2 3 ) 2 f=2(\frac{1-x_2}{2})^2+3x_2^2+7(\frac{2-2x_2}{3})^2 f=2(21x2)2+3x22+7(322x2)2

3.求最小值

α f α x 2 = = 0 \frac{αf}{αx_2}==0 αx2αf==0

x 2 x_2 x2

的值代入方程

5.凸函数

凸函数: 开口朝向(上或下)
数学条件:

f ( x 1 ) + f ( x 2 ) 2 > f x 1 + x 2 2 , f ( x 1 ) + f ( x 2 ) 2 < f x 1 + x 2 2 \frac{f(x_1)+f(x_2)}{2}>f\frac{x_1+x_2}{2},\frac{f(x_1)+f(x_2)}{2}<f\frac{x_1+x_2}{2} 2f(x1)+f(x2)>f2x1+x2,2f(x1)+f(x2)<f2x1+x2

6.拉格朗日乘值法

拉格朗日乘公式推导,设

α 1 , α 2 α_1,α_2 α1,α2

为拉格朗日乘子

  • 1.公式转换

$$
f=2x_12+3x_22+7x_3^2+α_1(2x_1+x_2-1)+α_2(2x_2+3x_3-2)

$$

  • 2.公式计算

    • x1:

      δ f δ x 1 = 4 x 1 + 2 α 1 = 0 → x 1 = − 0.5 α 1 \frac{δf}{δx_1}=4x_1+2α_1=0 → x_1=-0.5 α_1 δx1δf=4x1+2α1=0x1=0.5α1

    • x2

      δ f δ x 2 = 6 x 2 + α 1 + 2 α 2 = 0 → x 2 = α 1 + 2 α 2 6 \frac{δf}{δx_2}=6x_2+α_1+2α_2=0 → x_2=\frac{α_1+2α_2}{6} δx2δf=6x2+α1+2α2=0x2=6α1+2α2

    • x3

      δ f δ x 3 = 14 x 3 + 3 α 2 = 0 → x 3 = − 3 α 2 14 \frac{δf}{δx_3}=14x_3+3α_2=0 → x_3=-\frac{3α_2}{14} δx3δf=14x3+3α2=0x3=143α2

  • 结果:

    α 1 = − 0.39 , α 2 = − 1.63 α_1=-0.39,α_2=-1.63 α1=0.39,α2=1.63

三.优化

min:

γ = 1 2 ∣ ∣ W ∣ ∣ 2 = 1 2 ( W 1 2 + W 2 2 ) γ=\frac{1}{2}||W||^2=\frac{1}{2}(W_1^2+W_2^2) γ=21W2=21(W12+W22)

s . t:

y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)≥1 yi(wTxi+b)1

1.拉格朗日优化

引入α得

$$
L(w,b,α)=\frac{1}{2}||w||2+\sum_{i=1}{m}{α_i(1-y_i(w^Tx_i+b))}

$$

w w w

求偏导:

∑ i = 1 m α i y i x i \sum_{i=1}^{m}{α_iy_ix_i} i=1mαiyixi

,令

b b b

求偏导:

∑ i = 1 m α i y i \sum_{i=1}^{m}{α_iy_i} i=1mαiyi

2.对偶问题求αi(SMO算法)

max:

w ( α ) = L ( w , b , a ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j w(α)=L(w,b,a)=\sum_{i=1}^{m}{α_i}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}{α_iα_jy_iy_jx_i^Tx_j} w(α)=L(w,b,a)=i=1mαi21i=1mj=1mαiαjyiyjxiTxj

s . t.:

∑ j = 1 m α i y i = = 0 ( α i j > 0 ) \sum_{j=1}^{m}{α_iy_i}==0(α_{ij}>0) j=1mαiyi==0(αij>0)

最优超平面:

f ( x ) = ( ∑ i = 1 m α i y i x i ) T x + b f(x)=(\sum_{i=1}^{m}{α_iy_ix_i})^Tx+b f(x)=(i=1mαiyixi)Tx+b

  • **

    ∑ i = 1 m α i y i x i \sum_{i=1}^{m}{α_iy_ix_i} i=1mαiyixi

    结合

    f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b

四.核函数

线性不可分问题(找不到最优平面)

1.升维操作

2.参数升维表达

Φ ( x ) Φ(x) Φ(x)

表示

x x x

映射在高维空间的

3.最优平面公式:

f ( x ) = w T Φ ( x ) + b f(x)=w^TΦ(x)+b f(x)=wTΦ(x)+b

min:

γ = 1 2 ∣ ∣ w ∣ ∣ 2 γ=\frac{1}{2}||w||^2 γ=21w2

s.t. :

y i ( w T Φ ( x ) + b ) > 1 y_i(w^TΦ(x)+b)>1 yi(wTΦ(x)+b)>1

4.1对偶公式-1:

max:

w ( α ) = L ( w , b , a ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j Φ ( x i ) T Φ ( x j ) w(α)=L(w,b,a)=\sum_{i=1}^{m}{α_i}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}{α_iα_jy_iy_jΦ(x_i)^TΦ(x_j)} w(α)=L(w,b,a)=i=1mαi21i=1mj=1mαiαjyiyjΦ(xi)TΦ(xj)

s . t.:

∑ j = 1 m α i y i = = 0 ( α i j > 0 ) \sum_{j=1}^{m}{α_iy_i}==0(α_{ij}>0) j=1mαiyi==0(αij>0)

由于研究人员肝不出来:

Φ ( x i ) T Φ ( x j ) Φ(x_i)^TΦ(x_j) Φ(xi)TΦ(xj)

故使用替代:

k ( x i , x j ) = Φ ( x i ) T Φ ( x j ) k(x_i,x_j)=Φ(x_i)^TΦ(x_j) k(xi,xj)=Φ(xi)TΦ(xj)

4.2对偶函数-2:

max:

w ( α ) = L ( w , b , a ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j k ( x i , x j ) w(α)=L(w,b,a)=\sum_{i=1}^{m}{α_i}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}{α_iα_jy_iy_jk(x_i,x_j)} w(α)=L(w,b,a)=i=1mαi21i=1mj=1mαiαjyiyjk(xi,xj)

s . t.:

∑ j = 1 m α i y i = = 0 ( α i j > 0 ) \sum_{j=1}^{m}{α_iy_i}==0(α_{ij}>0) j=1mαiyi==0(αij>0)

**!!!此时

k ( x i , x j ) k(x_i,x_j) k(xi,xj)

叫核函数!!!**

5.常用核函数

五.参数

分类器(离散数据)-通用

from sklearn.svm import LinearSVC 

回归器(连续数据)

from sklearn.svm import LinearSVR
参数名意义接收默认
penalty惩罚中使用的规范“ l2”: SVC标准惩罚
“ l1”: 会导致稀疏的coef_向量
“ l2”
loss指定损失函数hinge: 标准的SVM损失(如SVC类使用的),
squared_hinge: hinge损失的平方
’squared_hinge’
dual选择算法来解决对偶或原始优化问题bool,True
tol设置停止的条件float, default0.0001
C正则化参数float, default1.0
multi_class多维数据方案“ ovr”: 训练n_class一对多的静态分类器

“ crammer_singer”: 优化所有类别的联合目标。 准确性低,并且计算成本更高
’ovr’
fit_intercept是否计算此模型的截距boolTrue
intercept_scaling具有等于intercept_scaling的恒定值的“合成”特征附加到实例向量float, default1
class_weight权重设置dict or ‘balanced’,defaultNone
verbose启用详细输出int, default0
random_state控制伪随机数生成int or RandomState instanceNone
max_iter最大迭代次数int1000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐-import-某人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值