感知机模型

感知机模型

感知机模型的基本概念

输入控件是n维向量实数空间,输出空间是{-1,+1},映射函数是
f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w\cdot x +b) f(x)=sign(wx+b)
w被称为权值,b称为偏置,sign(x)是符号函数。

感知机是一种线性分类模型,属于判别模型(与之对应的是概率分布模型),

感知机的学习策略

感知机学习前提:数据集的线性可分性

线性可分性定义:给定数据集T={(xi,yi)}_n,xi是n维实数向量,yi是-1或+1,若存在某个超平面S,使得数据集的正实例点和负实例点都被正确的划分到超平面两侧,则称数据集T是线性可分的数据集。

感知机的损失函数

感知机的经验损失最小化策略是误分类点到超平面的距离之和,每个点到平面的距离为
− 1 ∣ ∣ w ∣ ∣ y i ( w ⋅ x i + b ) -\frac{1}{||w||}y_i (w\cdot x_i +b) w1yi(wxi+b)
则损失函数为
− 1 ∣ ∣ w ∣ ∣ Σ x i ∈ M y i ( w ⋅ x i + b ) -\frac{1}{||w||}\Sigma_{x_i\in M} y_i(w\cdot x_i +b) w1ΣxiMyi(wxi+b)
因为w可以都正则化为模为1的向量,所以我们可以去除前面一项,得到的是感知机的损失函数

感知机的学习算法

感知机的学习算法即为求解w和b,使如下最小化问题得到最优解:
m i n w , b L ( w , b ) = − Σ x i ∈ M y i ( w ⋅ x i + b ) min_{w,b}L(w,b)=-\Sigma_{x_i\in M}y_i (w\cdot x_i +b) minw,bL(w,b)=ΣxiMyi(wxi+b)
感知机学习算法是误分类驱动的,我们可以采用随机梯度下降法。具体算法如下:

感知机学习算法:

​ 输入:训练数据集T,学习率η;

​ 输出:w和b

​ (1)选取初值w0和b0;

​ (2)选取数据点(xi,yi)

​ (3)如果被误分类,则更新w和b:
w ← w + η y i x i b ← b + η y i w \leftarrow w+\eta y_i x_i \\b \leftarrow b+\eta y_i ww+ηyixibb+ηyi
​ (4)跳转到第(2)步,知道没有被误分类的数据点

学习算法的收敛性证明

证明:设数据集T是线性可分的,则

(1)存在满足条件的||w||为1的超平面将数据集完全分开,且存在γ>0,使得对i=1,2,…,N
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) y_i(\hat{w}_{opt}\cdot \hat{x}_i)=y_i (w_{opt}\cdot x_i +b_{opt}) yi(w^optx^i)=yi(woptxi+bopt)
(2)令
R = m a x 1 ≤ i ≤ N ∣ ∣ x ^ i ∣ ∣ R = max_{1\le i \le N}||\hat{x}_i|| R=max1iNx^i
则感知机算法在训练数据集上误分类次数满足
k ≤ ( R γ ) 2 k\le (\frac{R}{\gamma})^2 k(γR)2

(1):由于数据集线性可分,则存在超平面将数据集完全分开,取此超平面并将其模正则化为1,对于有限的i=1,2,…,N
y i ( w ^ o p t ⋅ x i ) = y i ( w o p t ⋅ x i + b o p t ) > 0 y_i (\hat{w}_{opt}\cdot x_i )=y_i (w_{opt}\cdot x_i +b_{opt})>0 yi(w^optxi)=yi(woptxi+bopt)>0
所以存在
γ = m i n i { y i ( w o p t ⋅ x i + b o p t ) } \gamma =min_i \{y_i(w_{opt}\cdot x_i +b_{opt})\} γ=mini{yi(woptxi+bopt)}
使得
y i ( w ^ o p t ⋅ x i ) = y i ( w o p t ⋅ x i + b o p t ) ≥ γ y_i (\hat{w}_{opt}\cdot x_i )=y_i (w_{opt}\cdot x_i +b_{opt})\ge \gamma yi(w^optxi)=yi(woptxi+bopt)γ
(2)不妨设感知机算法从
w ^ 0 \hat{w}_0 w^0
开始,令第k个误分类实例之前的扩充权重向量为
w ^ k − 1 = ( w k − 1 T , b k − 1 ) T \hat{w}_{k-1}=(w_{k-1}^T,b_{k-1})^T w^k1=(wk1T,bk1)T
则第k个误分类实例的条件是
y i ( w ^ k − 1 ⋅ x i ) = y i ( w k − 1 ⋅ x i + b k − 1 ) ≤ 0 y_i (\hat{w}_{k-1}\cdot x_i )=y_i (w_{k-1}\cdot x_i +b_{k-1})\le 0 yi(w^k1xi)=yi(wk1xi+bk1)0
则w和b的更新为:
w k ← w k − 1 + η y i x i b k ← b k − 1 + η y i w_k \leftarrow w_{k-1}+\eta y_i x_i \\b_k \leftarrow b_{k-1}+\eta y_i wkwk1+ηyixibkbk1+ηyi

w ^ k ← w ^ k − 1 + η y i x ^ i \hat{w}_k \leftarrow \hat{w}_{k-1}+\eta y_i \hat{x}_i w^kw^k1+ηyix^i
则有
w ^ k ⋅ w ^ o p t = w ^ k − 1 ⋅ w ^ o p t + η y i x ^ i ⋅ w ^ o p t ≥ w ^ k − 1 ⋅ w ^ o p t + η γ \hat{w}_k \cdot \hat{w}_{opt}=\hat{w}_{k-1} \cdot \hat{w}_{opt}+\eta y_i \hat{x}_i \cdot \hat{w}_{opt}\\\ge \hat{w}_{k-1} \cdot \hat{w}_{opt}+\eta \gamma w^kw^opt=w^k1w^opt+ηyix^iw^optw^k1w^opt+ηγ
由此可得不等式
w ^ k ⋅ w ^ o p t ≥ w ^ k − 1 ⋅ w ^ o p t + η γ ≥ ⋯ ≥ k η γ \hat{w}_k \cdot \hat{w}_{opt}\ge\hat{w}_{k-1} \cdot \hat{w}_{opt}+\eta \gamma \ge \cdots \ge k\eta \gamma w^kw^optw^k1w^opt+ηγkηγ
另外
∣ ∣ w ^ k ∣ ∣ 2 = ∣ ∣ w ^ k − 1 ∣ ∣ 2 − 2 η y i w ^ k − 1 + η 2 ∣ ∣ x ^ i ∣ ∣ 2 ≤ ∣ ∣ w ^ k − 1 ∣ ∣ 2 + η 2 ∣ ∣ x ^ i ∣ ∣ 2 ≤ ⋯ ≤ k η 2 R 2 ||\hat{w}_k||^2 =||\hat{w}_{k-1}||^2-2\eta y_i\hat{w}_{k-1}+\eta^2||\hat{x}_i||^2\\\le ||\hat{w}_{k-1}||^2+\eta^2||\hat{x}_i||^2\le\cdots \le k\eta^2R^2 w^k2=w^k122ηyiw^k1+η2x^i2w^k12+η2x^i2kη2R2
则有
k η γ ≤ w ^ k ⋅ w ^ o p t ≤ ∣ ∣ w ^ k ∣ ∣ ∣ ∣ w ^ o p t ∣ ∣ ≤ k η R k 2 γ 2 ≤ k R 2 k\eta\gamma \le \hat{w}_k \cdot \hat{w}_{opt} \le ||\hat{w}_k||||\hat{w}_{opt}||\le \sqrt{k}\eta R \\k^2\gamma^2 \le kR^2 kηγw^kw^optw^kw^optk ηRk2γ2kR2
所以
k ≤ ( R γ ) 2 k\le (\frac{R}{\gamma})^2 k(γR)2

学习算法的对偶形式

对偶形式的基本想法是将w和b表示为实例xi和标记yi的线性组合的形式,通过求解系数进而求得w和b。

感知机对偶学习算法:

​ 输入:训练数据集T,学习率η;

​ 输出:α和b;感知机模型为
f ( x ) = s i g n ( Σ j = 1 N α j y j x j ⋅ x + b ) f(x)= sign(\Sigma_{j=1}^N \alpha_j y_j x_j \cdot x + b) f(x)=sign(Σj=1Nαjyjxjx+b)
其中α为n维向量

​ (1)选取初值α=0和b=0;

​ (2)选取数据点(xi,yi)

​ (3)如果被误分类,即
y i ( Σ j = 1 N α j y j x j ⋅ x + b ) y_i (\Sigma_{j=1}^N \alpha_j y_j x_j \cdot x + b) yi(Σj=1Nαjyjxjx+b)
​ 则更新w和b:
α ← α + η b ← b + η y i \alpha \leftarrow \alpha+\eta\\b \leftarrow b+\eta y_i αα+ηbb+ηyi
yi)

​ (3)如果被误分类,即
y i ( Σ j = 1 N α j y j x j ⋅ x + b ) y_i (\Sigma_{j=1}^N \alpha_j y_j x_j \cdot x + b) yi(Σj=1Nαjyjxjx+b)
​ 则更新w和b:
α ← α + η b ← b + η y i \alpha \leftarrow \alpha+\eta\\b \leftarrow b+\eta y_i αα+ηbb+ηyi
​ (4)跳转到第(2)步,知道没有被误分类的数据点

参考:《统计学习方法》 李航

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值