第二章 感知机笔记

2.1 感知机模型

定义2.1 (感知机) 假设输入空间(特征空间)是χR2χ⊂R2,输出空间是Y={+1,1}Y={+1,−1}.输入xχx∈χ表示实例的特征向量,对应于输入空间(特征空间)的点;输出yYy∈Y表示实例的类别。由输入空间到输出空间的如下函数

f(x)=sign(wx+b)f(x)=sign(w⋅x+b)

称为感知机。其中,wwb为感知机模型参数,wRnw∈Rn叫做权值(weight)或权值向量,bRb∈R叫作偏置(bias),wxw⋅x表示内积。sign是符号函数,即
sign(x)={+1,1,x >= 0x <0sign(x)={+1,x >= 0−1,x <0

感知机是一种线性分类模型,属于判别模型。
几何解释:线性方程
wx+b=0w⋅x+b=0

对应于特征空间RnRn中的一个超平面SS,其中w是超平面的法向量,bb是超平面的截距。

2.2 学习策略

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

T={(x1,y1),(x2,y2),...,(xN,yN)},

其中,xiχ=Rn,yiY={+1,1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,如果存在某个超平面SS
wx+b=0

能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有yi=+1yi=+1的实例ii,有wxi+b>0,对所有yi=1yi=−1的实例ii,有wxi+b<0,则成数据集TT为线性可分数据集(linearly separable data set);否则,称数据集T线性不可分。
损失函数
假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。即确定感知机模型参数w,bw,b,使损失函数极小化。
感知机所采用的损失函数为:误分类点到超平面SS的总距离。
给定训练数据集
T={(x1,y1),(x2,y2),...,(xN,yN)},

其中,xiχ=Rn,yiY={+1,1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,感知机sign(wx+b)sign(w⋅x+b)学习的损失函数定义为
L(w,b)=xiMY=yi(wxi+b)2.4L(w,b)=−∑xi∈MY=yi(w⋅xi+b)(2.4)

其中MM为误分类点的集合,这个损失函数就是感知机学习的经验风险函数。
显然,损失函数L(w,b)是非负的。如果没有误分类点,则损失函数的值为0,而且误分类点越少,误分类点距离超平面就越近,损失函数值就越小。同时,损失函数L(w,b)L(w,b)是连续可导函数。
感知机学习的策略是在假设空间中选取使损失函数L(w,b)L(w,b)最小的模型参数w,bw,b,即感知机模型。

2.3 学习算法

感知机学习问题转化为求解损失函数式(2.4)的最优化问题。采用随机梯度下降法。

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

给定一个训练数据集

T={(x1,y1),(x2,y2),...,(xN,yN)},T={(x1,y1),(x2,y2),...,(xN,yN)},

其中,xiχ=Rn,yiY={+1,1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,求参数w,bw,b,使其为损失函数极小化问题的解
minw,bL(w,b)=xiMY=yi(wxi+b)2.5minw,bL(w,b)=−∑xi∈MY=yi(w⋅xi+b)(2.5)

其中MM为误分类点的集合。
采用随机梯度下降法。
首先,任意选取一个超平面w0,b0,然后用梯度下降法极小化目标函数(2.5),一次随机选取一个误分类点使其梯度下降。
假设误分类点集合MM固定的,那么损失函数L(w,b)的梯度由
wL(w,b)=xiMyixi∇wL(w,b)=−∑xi∈Myixi
bL(w,b)=xiMyi∇bL(w,b)=−∑xi∈Myi
给出。
随机选取一个误分点(xi,yi)(xi,yi),对w,bw,b进行更新:
ww+ηyixiw←w+ηyixi
bb+ηyib←b+ηyi

式中η(0<η1)η(0<η≤1)是步长,在统计学习中又称为学习率(learning rate).这样通过迭代可以期待损失函数L(w,b)L(w,b)不断减小,直到为0.

算法 2.1 (感知机学习算法的原始形式)
输入: 训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)},T={(x1,y1),(x2,y2),...,(xN,yN)},其中,
xiχ=Rn,yiY={+1,1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,学习率η(0<η1)η(0<η≤1)
输出: w,bw,b;感知机模型f(x)=sign(wx+b)f(x)=sign(w⋅x+b)
(1)选取初值w0,b0w0,b0
(2)在训练集中选取数据(xi,yi)(xi,yi)
(3)如果yi(wxi+b)0yi(w⋅xi+b)≤0

ww+ηyixiw←w+ηyixi
bb+ηyib←b+ηyi

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

2.3.2 算法的收敛性

对于线性可分的数据集感知机学习算法原始形式收敛,即经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。
记:w^=(wT,b)Tw^=(wT,b)Tx^=(xT,1)Tx^=(xT,1)Tx^Rn+1x^∈Rn+1w^Rn+1w^∈Rn+1,w^x^=wx+bw^⋅x^=w⋅x+b.
定理 2.1(Novikoff) 设训练数据集

T={(x1,y1),(x2,y2),...,(xN,yN)}T={(x1,y1),(x2,y2),...,(xN,yN)}
是线性可分的,其中,
xiχ=Rn,yiY={+1,1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,则
(1)存在满足条件w^opt=1‖w^opt‖=1的超平面w^optx^=woptx+bopt=0w^opt⋅x^=wopt⋅x+bopt=0将训练数据集完全正确分开;且存在γ>0γ>0,对所有i=1,2,...,Ni=1,2,...,N
yi(w^optx^i)=yi(woptxi+bopt)γyi(w^opt⋅x^i)=yi(wopt⋅xi+bopt)≥γ

(2)令R=max1ix^iR=max1≤i≤‖x^i‖,则感知机算法2.1在训练数据集上的误分类次数kk满足不等式
k(Rγ)2

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

基本思想
ww,b表示为实例xixi和标记yiyi的线性组合的形式,通过求解其系数而求解其系数而求得wwb,不失一般性,假设初始值w0w0,b0b0均为0,对误分点类(xi,yi)(xi,yi)通过

ww+ηyixiw←w+ηyixi
bb+ηyib←b+ηyi
逐步修改wwb,设修改nn次,则w,bb,关于(xi,yi)的增量分别是αiyixiαiyixiαiyiαiyi,这里αi=niηαi=niη.则有
w=i=1Nαiyixiw=∑i=1Nαiyixi
b=i=1Nαiyib=∑i=1Nαiyi
这里,αi0,i=1,2,...,Nαi≥0,i=1,2,...,N,当η=1η=1时,表示第i个实例点由于误分而进行更新的次数。实例点更新次数越多,意味着它距离分离超平面越近,也就越难正确分类。
算法 2.2 (感知机学习算法的对偶形式)
输入: 线性可分的数据集T={(x1,y1),(x2,y2),...,(xN,yN)},T={(x1,y1),(x2,y2),...,(xN,yN)},其中,
xiχ=Rn,yiY={+1,1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,学习率η(0<η1)η(0<η≤1)
输出: w,bw,b;感知机模型f(x)=sign(j=1Nαjyjxjx+b)f(x)=sign(∑j=1Nαjyjxj⋅x+b).
其中α=(α1,α2,...,αN)Tα=(α1,α2,...,αN)T
(1)α0α←0,b0b←0
(2)在训练集中选取数据(xi,yi)(xi,yi)
(3)如果yi(j=1Nαjyjxjxi+b)0yi(∑j=1Nαjyjxj⋅xi+b)≤0
ααi+ηα←αi+η
bb+ηyib←b+ηyi

(4)转至(2),直至训练集中没有误分类点。
对偶形式中训练实例仅以内积的形式出现,为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,该矩阵即为Gram矩阵
G=[xixj]N×NG=[xi⋅xj]N×N

来源:李航著 《统计学习方法》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值