感知机模型

第二章 感知机


1 前言

感知机(perceptron)是线性分类模型,属于判别模型。输入是特征向量,输出是类别。其将特征空间划分为正负两类的分离超平面。感知机算法收敛的充要条件是数据集线性可分(在损失函数不是太离谱的前提下)。

 

2 感知机模型

  • i n p u t :   x ∈ R n input: ~x \in \mathbb R^n input: xRn
  • o u t p u t :   y ∈ { + 1 , − 1 } output:~ y \in \{+1, -1\} output: y{+1,1}
    f ( x ) = s i g n ( w ⋅ x + b ) f(x) = \mathrm{sign}(w \cdot x + b) f(x)=sign(wx+b)
    其中 w ∈ R n w\in\mathbb R^n wRn 是权值或权值向量, b ∈ R b\in\mathbb R bR是偏置。也就是说,对于任意一个输入 x x x,其线性变换得到的 w ⋅ x + b w \cdot x + b wx+b的符号就代表了这个感知机认为 x x x所属的类别。

 

3 感知机学习策略

 

3.1 线性可分性

对于一个数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1),(x_2, y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
其中, x ∈ R n x\in\mathbb R^n xRn y ∈ { + 1 , − 1 } y\in \{+1, -1\} y{+1,1} i = 1 , 2 , . . . , N i=1, 2,...,N i=1,2,...,N。如果存在一个超平面 S S S
S : w ⋅ x + b = 0 S:w\cdot x+b=0 S:wx+b=0
能够将数据集的正负样本完全正确地划分到超平面的两侧,就称数据集 T T T是线性可分的。
 

3.2 学习策略

要找到一个能将数据集完全分开的超平面,即确定一组参数 ( w , b ) (w,b) w,b,为了能通过学习找到这一组 ( w , b ) (w,b) w,b,需要设计一种损失函数。
 
一种自然的想法是将误分类点的个数作为损失,但这样的损失函数不是关于 w w w b b b的连续可导函数,不方便优化。
 
感知机所采用的是误分类点到超平面的距离的和,首先,对于任意一点 x 0 x_0 x0,其到超平面 S S S的距离为
1 ∣ ∣ w ∣ ∣ 2 ∣ w ⋅ x 0 + b ∣ \frac{1}{||w||_2}|w \cdot x_0 + b| w21wx0+b
对于误分类的点而言
1 ∣ ∣ w ∣ ∣ 2 ∣ w ⋅ x 0 + b ∣ = − 1 ∣ ∣ w ∣ ∣ 2 y i ( w ⋅ x 0 + b ) \frac{1}{||w||_2}|w \cdot x_0 + b| = -\frac{1}{||w||_2}y_i(w \cdot x_0 + b) w21wx0+b=w21yi(wx0+b)
于是可以得到损失函数( 1 ∣ ∣ w ∣ ∣ 2 \frac{1}{||w||_2} w21可直接忽略)
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x 0 + b ) L(w,b)=-\sum_{x_i\in M}{y_i(w \cdot x_0 + b)} L(w,b)=xiMyi(wx0+b)
其中 M M M是误分类点的集合。
 

4 感知机学习算法

 

4.1 感知机学习算法的原始形式

感知机学习算法是误分类驱动的,具体采用随机梯度下降。首先计算梯度。
∇ w L ( w , b ) = − ∑ x i ∈ M y i x i ∇ b L ( w , b ) = − ∑ x i ∈ M y i \begin{aligned} \nabla_w L(w,b)&=-\sum_{x_i\in M}{y_ix_i} \\ \nabla_b L(w,b)&=-\sum_{x_i\in M}{y_i} \end{aligned} wL(w,b)bL(w,b)=xiMyixi=xiMyi
随机选取一个误分类点(随机梯度下降),对 w , b w,b w,b进行更新
w ← w + η y i x i b ← b + η y i \begin{aligned} w &\leftarrow w + \eta y_ix_i \\ b &\leftarrow b + \eta y_i \end{aligned} wbw+ηyixib+ηyi
这里, η \eta η是learning rate。
 
算法终止的条件是所有分类点都被正确分类,由此可见只有在数据集线性可分的前提下,算法才能收敛。
 

4.2 感知机学习算法的收敛性

Novikoff定理描述了感知机学习算法的收敛性,这里给出定理(证明过程好长…我懒了)。
 

Novikoff 定理
 
设训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1, y_1),(x_2, y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)} 是线性可分的,其中 x ∈ R n x\in\mathbb R^n xRn y ∈ { + 1 , − 1 } y\in \{+1, -1\} y{+1,1} i = 1 , 2 , . . . , N i=1, 2,...,N i=1,2,...,N,则
 
(1) 存在满足条件 ∣ ∣ w ^ o p t ∣ ∣ = 1 ||\hat{w}_{opt}||=1 w^opt=1的超平面 w ^ o p t ⋅ x ^ = 0 \hat{w}_{opt} \cdot \hat{x} = 0 w^optx^=0将训练数据集完全正确分开;且存在 γ > 0 \gamma > 0 γ>0.对于所有 i = 1 , 2 , . . . , N i=1, 2,...,N i=1,2,...,N
y i ( w ^ o p t ⋅ x ^ ) ⩾ γ y_i(\hat{w}_{opt} \cdot \hat{x}) \geqslant \gamma yi(w^optx^)γ
 
(2) 令 R = max ⁡ 1 ⩽ i ⩽ N ∣ ∣ x ^ i ∣ ∣ R = \max \limits_{1\leqslant i \leqslant N}{||\hat{x}_i||} R=1iNmaxx^i,则感知机算法在数据集上的误分类次数 k k k 满足不等式
k ⩽ ( R γ ) 2 k \leqslant (\frac{R}{\gamma})^2 k(γR)2

这表明误分类的次数是有上界的。
 

5 感知机学习算法的对偶形式

基本思想是:将 w w w b b b表示为 x i x_i xi y i y_i yi的线性组合的形式,通过求解系数求得 w w w b b b。与原始形式一样,对偶形式也是收敛的,存在多个解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值