抄书整理笔记:第二章感知机

感知机

  感知机是二类分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,取+1和-1二值。

1、感知机模型

定义2.1(感知机)假设输入空间(特征空间)是 XRn X ⊆ R n ,输出空间是 Y Y ={+1,1} = { + 1 , − 1 } . 输入 xX x ∈ X 表示实例的特征向量,对应于输入空间(特征空间)的点;输出 yY y ∈ Y 表示实例的类别。由输入空间到输出空间的如下函数:

f(x)=sign(wx+b)(1) (1) f ( x ) = s i g n ( w ⋅ x + b )

称为感知机。其中 wRn w ∈ R n 叫做权值或权值向量, bR b ∈ R 叫做偏置, wx w ⋅ x 表示 w w b的内积。 sign s i g n 是符号函数。
  感知机是一种线性分类模型,属于判别模型。它的假设空间是定义在特征空间中的所有线性分类模型。它有如下几何解释:线性方程
wx+b=0(2) (2) w ⋅ x + b = 0

它对应于特征空间 Rn R n 中的一个超平面 S S ,其中w是超平面的法向量, b b 是超平面的截距,该超平面把特征空间分为两个部分,对应于输出空间的两个类别所在的空间。因此感知机的学习即是求模型参数w b b 。通过学习得到的感知机模型,可以对新的输入实例给出对应的输出类别。

2、感知机学习策略

数据集的线性可分性

定义2.2(数据集的线性可分性)给定一个数据集

T={(x1,y1),(x2,y2),...,(xN,yN)}
其中 xiX=Rn x i ∈ X = R n yiY y i ∈ Y ={+1,1} = { + 1 , − 1 } i=1,2,...,N i = 1 , 2 , . . . , N ,如果存在某个超平面 S S 能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,则称数据集T为线性可分数据集,否则为线性不可分。

感知机学习策略

  假设训练集线性可分,感知机学习的目标是找到能完全正确分开的超平面,我们需要确定一个学习策略来确定模型参数 w,b w , b ,那么我们要定义损失函数并将其最小化。
  感知机损失函数的选择:误分类点到超平面 S S 的总距离
定义:输入空间Rn中任一点 x0 x 0 到超平面 S S 的距离d

d=1w|wx0+b| d = 1 ‖ w ‖ | w ⋅ x 0 + b |

公式推导:
设点 x0 x 0 在平面 S S 上的投影为x1,则有 wx1+b=0,wx1=b w ⋅ x 1 + b = 0 , w ⋅ x 1 = − b
由于向量 x0x1 x 0 x 1 → S S 平面上的法向量w平行,则有
|wx0x1|=|w||x0x1|=(w1)2+...+(wN)2d=wd | w ⋅ x 0 x 1 → | = | w | | x 0 x 1 → | = ( w 1 ) 2 + . . . + ( w N ) 2 d = ‖ w ‖ d
wx0x1=w(x0x1)=wx0wx1=wx0(b)=wx0+b w ⋅ x 0 x 1 → = w ⋅ ( x 0 → − x 1 → ) = w ⋅ x 0 − w ⋅ x 1 = w ⋅ x 0 − ( − b ) = w ⋅ x 0 + b
所以 wd=|wx0x1=|wx0+b| ‖ w ‖ d = | w ⋅ x 0 x 1 → = | w ⋅ x 0 + b |
d=1w|wx0+b| d = 1 ‖ w ‖ | w ⋅ x 0 + b |

因为对于误分类的数据 (xi,yi) ( x i , y i ) 来说 yi(wxi+b)>0 − y i ( w ⋅ x i + b ) > 0 成立,因此,误分类点 xi x i 到超平面 S S 的距离是1wyi(wx0+b)。这样,假设超平面 S S 的误分类点集合为M,那么所有误分类点到超平面 S S 的总距离为1wxiMyi(wx0+b),不考虑 1w − 1 ‖ w ‖ ,则感知机 sign(wx+b) s i g n ( w ⋅ x + b ) 学习的损失函数定义为:

L(w,b)=xiMyi(wx0+b)(3) (3) L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x 0 + b )

损失函数 L(w,b) L ( w , b ) 是非负的,误分类点越少,损失函数值就越小,且损失函数是 w,b w , b 的连续可导函数。

  感知机学习的策略是在假设空间中选取损失函数式(3)最小的模型参数 w,b w , b ,即感知机模型。

3、感知机学习算法

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

  感知机学习算法实际上就是参数 w,b w , b 使其为以下损失函数极小化问题的解:

minw,bL(w,b)=xiMyi(wx0+b)(4) (4) min w , b L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x 0 + b )

  算法具体采用随机梯度下降法。首先任取一超平面 w0,b0 w 0 , b 0 ,然后用梯度下降法不断地极小化目标函数(4).具体梯度下降如下:
  假设误分类点集合 M M 是固定的,那么损失函数L(w,b)的梯度由
wL(w,b)=xiMyixi ∇ w L ( w , b ) = − ∑ x i ∈ M y i x i

bL(w,b)=xiMyi ∇ b L ( w , b ) = − ∑ x i ∈ M y i

给出。
  随机选取一个误分类点 (xi,yi) ( x i , y i ) ,对 w,b w , b 进行更新:
ww+ηyixi(5) (5) w ← w + η y i x i

bb+ηyi(6) (6) b ← b + η y i

式中 η(0<η1) η ( 0 < η ≤ 1 ) 是步长,又称为学习率。这样通过迭代可以期待损失函数不断减小直至为0。
算法2.1(感知机学习算法的原始形式)
输入:训练集 T={(x1,y1),(x2,y2),...,(xN,yN)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } ,其中 xiX=Rn x i ∈ X = R n yiY y i ∈ Y ={+1,1} = { + 1 , − 1 } i=1,2,...,N i = 1 , 2 , . . . , N ;学习率 η(0<η1) η ( 0 < η ≤ 1 )
输出: w,b w , b ;感知机模型 f(x)=sign(wx+b). f ( x ) = s i g n ( w ⋅ x + b ) .
(1)选取初值 w0,b0 w 0 , b 0
(2)在训练集中选取数据 (xi,yi) ( x i , y i )
(3)如果 yi(wxi+b)0 y i ( w ⋅ x i + b ) ≤ 0
ww+ηyixi w ← w + η y i x i

bb+ηyi b ← b + η y i

(4)转至(2),直至训练集中没有误分类点。

算法的收敛性

  为了便于推导,将偏置 b b 并入权重向量w,记做 w^=(wT,b)T w ^ = ( w T , b ) T ,同样也将输入向量加以扩充,加进常数1,记做 x^=(xT,1)T x ^ = ( x T , 1 ) T 。这样 x^Rn+1,w^Rn+1 x ^ ∈ R n + 1 , w ^ ∈ R n + 1 。显然 w^x^=wx+b w ^ ⋅ x ^ = w ⋅ x + b
定理2.1(Novikoff)设训练集 T={(x1,y1),(x2,y2),...,(xN,yN)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } 是线性可分的,其中 xiX=Rn x i ∈ X = R n yiY y i ∈ Y ={+1,1} = { + 1 , − 1 } i=1,2,...,N i = 1 , 2 , . . . , N ,则
(1)存在满足条件 w^opt=1 ‖ w ^ o p t ‖ = 1 的超平面 w^optx^=woptx+bopt=0 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 将训练集完全正确分开;且存在 γ>0 γ > 0 ,对所有 i=1,2,...,N i = 1 , 2 , . . . , N

yi(w^optx^i)=yi(woptx+i+bopt)γ(7) (7) y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x + i + b o p t ) ≥ γ

(2)令 R=max1iNx^i R = max 1 ≤ i ≤ N ‖ x ^ i ‖ ,则感知机算法2.1在训练集上的误分类次数 k k 满足不等式
(8)k(Rγ)2

定理表明,误分类次数 k k 是有上界的。另外,感知机学习算法存在许多解,这些解与初值的选择有关。当训练集线性不可分时,感知机学习算法不收敛,迭代结果会发生震荡。

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

  对偶形式的基本想法是,将w b b 表示为实例xi和标记 yi y i 的线性组合的形式,通过求解其系数而求得 w,b w , b 。不失一般性,在算法2.1中可假设初始值 w0,b0 w 0 , b 0 均为0,对误分类点 (xi,yi) ( x i , y i ) 通过 ww+ηyixi w ← w + η y i x i bb+ηyi b ← b + η y i 逐步修改 w,b w , b 。设修改 n n 次后,则w,b关于 (xi,yi) ( x i , y i ) 的增量分别是 αiyixi α i y i x i αiyi α i y i ,这里 αi=niη α i = n i η 。这样从学习过程不难看出,最后学习到的 w,b w , b 可以分别表示为

w=i=1Nαiyixi(9) (9) w = ∑ i = 1 N α i y i x i

b=i=1Nαiyi(10) (10) b = ∑ i = 1 N α i y i

η=1 η = 1 时,表示第 i i 个实例点由于误分而进行更新的次数。
算法2.2(感知机学习算法的对偶形式)
输入:线性可分的训练集T={(x1,y1),(x2,y2),...,(xN,yN)},其中 xiRn x i ∈ R n yi{+1,1} y i ∈ { + 1 , − 1 } i=1,2,...,N i = 1 , 2 , . . . , N ;学习率 η(0<η1) η ( 0 < η ≤ 1 )
输出: α,b α , b ;感知机模型 f(x)=sign(Nj=1αjyjxjx+b) f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b )
其中 α=(α1,α2,...,αN)T α = ( α 1 , α 2 , . . . , α N ) T
(1) α0,b0 α ← 0 , b ← 0
(2)在训练集中选取数据 (xi,yi) ( x i , y i )
(3)如果 yi(Nj=1αjyjxjx+b)0 y i ( ∑ j = 1 N α j y j x j ⋅ x + b ) ≤ 0
αiαi+η α i ← α i + η

bb+ηyi b ← b + η y i

(4)转至(2)中直到没有误分类数据。

对偶形式中训练实例仅以内积形式出现,为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵

G=[xixj]N×N G = [ x i ⋅ x j ] N × N

与原始形式一样,感知机算法的对偶形式迭代是收敛的,存在多个解。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值