《统计学习方法》(第二章)—— 感知机

本文围绕感知机模型展开,介绍了其定义,即由输入空间到输出空间的函数 f(x)=sign(w⋅x+b) 。阐述了感知机模型学习策略,以误分类点到超平面的距离定义损失函数。采用梯度下降法给出学习算法,并证明了算法的收敛性,还介绍了对偶形式及Gram矩阵。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感知机模型

  • 定义:假设输入空间(特征空间)是χ⊆Rn\chi \subseteq R^nχRn,输出空间是γ={+1,−1}\gamma=\{+1,-1\}γ={+1,1}.输入x∈χx \in\chixχ表示实例的特征向量,对应于输入空间(特征空间)的点;输出y ∈γ\in \gammaγ表示实例的类别。由输入空间到输出空间的函数如下:
    f(x)=sign(w⋅x+b)f(x)=sign(w\cdot{x}+b)f(x)=sign(wx+b) 称为感知机模型,其中w,bw,bw,b为感知机的参数,w∈Rnw \in R^nwRn 叫作权值或者权值向量,b∈Rb \in RbR叫做偏值, w⋅xw\cdot{x}wx表示w,bw,bw,b的内积.signsignsign是符号函数,即
    sign(x)={+1x≥0−1x<0sign(x)=\begin{cases} +1 &x\ge0\\ -1 & x < 0\\ \end{cases}sign(x)={+11x0x<0

感知机模型学习策略

  • 如果(xi,yi)(x_i,y_i)(xi,yi)是正分类点,则yi∗(w⋅xi+b)>0y_i*(w\cdot{x_i}+b)>0yi(wxi+b)>0,如果(xi,yi)(x_i,y_i)(xi,yi)是误分类点,则yi∗(w⋅xi+b)≤0y_i*(w\cdot{x_i}+b)\le0yi(wxi+b)0
    定义:L(w,b)=−∑xi∈Myi∗(w⋅xi+b)L(w,b)=-\sum\limits_{x_i \in M} y_i*(w\cdot{x_i}+b)L(w,b)=xiMyi(wxi+b),其中MMM是误分类点集合,即误分类点到超平面的距离

感知机学习算法

  • 这里我们采用梯度下降法
    ∇wL(w.b)=−∑xi∈Myi∗xi\nabla_wL(w.b)=-\sum\limits_{x_i \in M}y_i*x_iwL(w.b)=xiMyixi
    ∇bL(w.b)=−∑xi∈Myi\nabla_bL(w.b)=-\sum\limits_{x_i \in M}y_ibL(w.b)=xiMyi
    w=w+η∗yi∗xiw=w+\eta*y_i*x_iw=w+ηyixi
    b=b+η∗yib=b+\eta*y_ib=b+ηyi,其中η\etaη为学习率
  • 算法:
    (1) 输入:训练数据集合T={(x1,y1),(x2,y2)...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2)...(x_N,y_N)\}T={(x1,y1),(x2,y2)...(xN,yN)},其中xi∈χ=Rn,yi∈γ={−1,+1},x_i \in \chi=R^n,y_i \in\gamma=\{-1,+1\},xiχ=Rn,yiγ={1,+1},
    i=1,2...N;i=1,2...N;i=1,2...N;学习率为η(0<η≤1)\eta(0<\eta\le1)η(0<η1),输出:w,b;f(x)=sign(w⋅x+b)w,b;f(x)=sign(w\cdot{x}+b)w,b;f(x)=sign(wx+b)
    (2)在训练集中选取数据(xi,yi)(x_i,y_i)(xi,yi)
    (3)如果yi∗(w⋅xi+b)≤0y_i*(w\cdot{x_i}+b)\le0yi(wxi+b)0
         w=w+η∗yi∗xiw=w+\eta*y_i*x_iw=w+ηyixi
         b=b+η∗yib=b+\eta*y_ib=b+ηyi
    (4)转至(2),直到算法结束没有误分类点
  • 算法的收敛性证明:
      训练数据集合T={(x1,y1),(x2,y2)...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2)...(x_N,y_N)\}T={(x1,y1),(x2,y2)...(xN,yN)},为线性可分,其中xi∈χ=Rn,yi∈γ={−1,+1},i=1,2...N;x_i \in \chi=R^n,y_i \in\gamma=\{-1,+1\},i=1,2...N;xiχ=Rn,yiγ={1,+1},i=1,2...N;
      存在满足条件∥w^opt∥=1\lVert{\hat{w}_{opt}\rVert}=1w^opt=1的超平面w^opt⋅x^+bopt=0\hat{w}_{opt}\cdot{\hat{x}}+b_{opt}=0w^optx^+bopt=0将训练数据集完全正确分开;且存在γ>0\gamma>0γ>0.对所有
      i=1,2,..Ni=1,2,..Ni=1,2,..N
      yi∗(w^opt⋅x^)=yi∗(wopt⋅x+bopt)≥γy_i*(\hat{w}_{opt}\cdot{\hat{x}})=y_i*(w_{opt}\cdot{x}+b_{opt})\ge\gammayi(w^optx^)=yi(woptx+bopt)γ
      令R=max∥x^opt∥R=max\lVert{\hat{x}_{opt}\rVert}R=maxx^opt,则感知机算法,在训练集上的误分类次数kkk满足
      k≤(Rγ)2k \le(\frac{R}{\gamma})^2k(γR)2
    • 证明:
      (1)
        取w^opt\hat{w}_{opt}w^opt,则w^opt∗x=wopt⋅x+bopt=0\hat{w}_{opt}*x=w_{opt}\cdot{x}+b_{opt}=0w^optx=woptx+bopt=0,使∥wopt∥=1\lVert{w_{opt}}\rVert=1wopt=1,由于对有限的i=1,2,....Ni=1,2,....Ni=1,2,....N,均有
          yi∗(w^opt⋅xi^)=yi∗(wopt⋅xi+bopt)>0y_{i}*(\hat{w}_{opt}\cdot{\hat{x_i}})=y_{i}*(w_{opt}\cdot{x_i}+b_{opt})>0yi(w^optxi^)=yi(woptxi+bopt)>0
          所以存在γ=mini{yi∗(wopt⋅xi+bopt)}\gamma=min_i\{y_i*(w_{opt}\cdot{x_i}+b_{opt})\}γ=mini{yi(woptxi+bopt)}
          yi∗(w^opt⋅xi^)=yi∗(wopt⋅xi+bopt)≥γy_{i}*(\hat{w}_{opt}\cdot{\hat{x_i}})=y_{i}*(w_{opt}\cdot{x_i}+b_{opt})\ge\gammayi(w^optxi^)=yi(woptxi+bopt)γ
      (2)因为感知机是从w0^=0\hat{w_0}=0w0^=0开始,如果被误分类,则跟新权重。令w^k−1\hat{w}_{k-1}w^k1是第k个误分类的扩充向量,
          w^k−1=(wk−1T,bk−1)T\hat{w}_{k-1}=(w_{k-1}^T,b_{k-1})^Tw^k1=(wk1T,bk1)T
          则第k个误分类实例条件是yi∗(w^k−1⋅xi+bk−1)≤0y_i*(\hat{w}_{k-1}\cdot{x_i}+b_{k-1})\le0yi(w^k1xi+bk1)0
          证明两个不等式:
          1).w^k⋅w^opt≥k∗η∗γ\hat{w}_{k}\cdot{\hat{w}_{opt}}\ge k*\eta*\gammaw^kw^optkηγ
          w^k⋅w^opt=w^k−1⋅w^opt+η∗yi⋅x^i≥w^k−1⋅w^opt+η∗γ\hat{w}_{k}\cdot{\hat{w}_{opt}}=\hat{w}_{k-1}\cdot{\hat{w}_{opt}}+\eta*{y_i}\cdot{\hat{x}_{i}}\ge\hat{w}_{k-1}\cdot{\hat{w}_{opt}}+\eta*\gammaw^kw^opt=w^k1w^opt+ηyix^iw^k1w^opt+ηγ.我们不断的递推
          w^k⋅w^opt≥w^k−1⋅w^opt+η∗γ≥w^k−2⋅w^opt+2∗η∗γ≥....≥k∗ηγ\hat{w}_{k}\cdot{\hat{w}_{opt}}\ge\hat{w}_{k-1}\cdot{\hat{w}_{opt}}+\eta*\gamma\ge\hat{w}_{k-2}\cdot{\hat{w}_{opt}}+2*\eta*\gamma\ge....\ge k*\eta\gammaw^kw^optw^k1w^opt+ηγw^k2w^opt+2ηγ....kηγ
          2)∥wk∥\lVert{w_{k}}\rVertwk2≤k∗η2∗R2^2\le k*\eta^2*R^22kη2R2
          ∥wk∥2\lVert{w_{k}}\rVert^2wk2=∥wk−1∥2+2∗η∗yi∗w^k−1⋅x^i+η2∗∥x^i∥≤∥wk−1∥2=\lVert{w_{k-1}}\rVert^2+2*\eta*y_i*\hat{w}_{k-1}\cdot{\hat{x}_{i}}+\eta^2*\lVert{\hat{x}_{i}}\rVert\le \lVert{w_{k-1}}\rVert^2=wk12+2ηyiw^k1x^i+η2x^iwk12+η2∗∥x^i∥≤∥wk−1∥2+\eta^2*\lVert{\hat{x}_{i}}\rVert\le \lVert{w_{k-1}}\rVert^2+η2x^iwk12+η2∗R≤+\eta^2*{R}\le+η2R∥wk−2∥2\lVert{w_{k-2}}\rVert^2wk22+2∗η2∗R≤....≤k∗η2∗R2+2*\eta^2*{R}\le....\le k*\eta^2*R^2+2η2R....kη2R2
          证明完毕,结合以上两个不等式
          k∗η∗γ≤w^k⋅w^opt≤∣∣w^k∣∣∗∣∣w^opt∣∣≤k∗η∗Rk*\eta*\gamma\le\hat{w}_k\cdot{\hat{w}_{opt}}\le||\hat{w}_k||*||\hat{w}_{opt}||\le\sqrt{k}*\eta*Rkηγw^kw^optw^kw^optkηR
          k2γ2≤k∗R2k^2\gamma^2\le k*R^2k2γ2kR2
          k≤(Rγ)2k\le(\frac{R}{\gamma})^2k(γR)2,完毕
  • 对偶形式
         w=w+η∗yi∗xiw=w+\eta*y_i*x_iw=w+ηyixi
         b=b+η∗yib=b+\eta*y_ib=b+ηyi
         w=∑i=1Nai∗yi∗xiw=\sum\limits_{i=1}^Na_{i}*y_i*x_iw=i=1Naiyixi
         b=∑i=1Nai∗yib=\sum\limits_{i=1}^Na_{i}*y_ib=i=1Naiyi
         其中NNN为训练数据数量,ai=ni∗η≥0a_i=n_{i}*\eta\ge0ai=niη0
    • 算法:
          (1) 输入:训练数据集合T={(x1,y1),(x2,y2)...(xN,yN)}T=\{(x_1,y_1),(x_2,y_2)...(x_N,y_N)\}T={(x1,y1),(x2,y2)...(xN,yN)},其中xi∈χ=Rn,x_i \in \chi=R^n,xiχ=Rn,
         yi∈γ={−1,+1},输出a.b.f(x)=sign(∑j=1Naj∗yj∗xj⋅x+b).a=(a1,a2,...,an)y_i \in\gamma=\{-1,+1\},输出a.b.f(x)=sign(\sum\limits_{j=1}^Na_j*y_j*x_j\cdot{x}+b).a=(a_1,a_2,...,a_n)yiγ={1,+1},a.b.f(x)=sign(j=1Najyjxjx+b).a=(a1,a2,...,an)
          i=1,2...N;i=1,2...N;i=1,2...N;学习率为η(0<η≤1)\eta(0<\eta\le1)η(0<η1)
          (2)在训练集中选取数据(xi,yi)(x_i,y_i)(xi,yi)
          (3)如果sign(∑j=1Naj∗yj∗xj⋅xi+b)≤0sign(\sum\limits_{j=1}^Na_j*y_j*x_j\cdot{x_i}+b)\le0sign(j=1Najyjxjxi+b)0
                ai=ai+ηa_i=a_i+\etaai=ai+η
                b=b+η∗yib=b+\eta*y_ib=b+ηyi
         (4)转至(2),直到算法结束没有误分类点
  • Gram矩阵:G=[xi⋅xj]N×NG=[x_i\cdot{x_j}]_{N×N}G=[xixj]N×N
实现代码后续补上
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值