统计学习方法笔记-感知机学习方法

感知机(Perceptron)

1.感知机模型

1.1感知机定义

​ 输入空间XRn ,输出空间Y={+1, -1} ;

​ 输入xX表示的实例的特征向量,对应于输入空间的点,输出yY表示的实例的类别;

由输入空间到输出空间的如下函数:

f(x) = sign(ωx+b)

ω : 权值,b : 偏置;

ωx : ω和x的内积;

​ sign为符号函数;

1.2感知机几何解释

线性方程ωx+b=0对应于特征空间Rn中的一个超平面S,其中ω是超平面的法向量,b是超平面的截距。这个超平面将特征空间划分为两个部分。位于两部分的点分别被分为正负两类。因此,S成为分类超平面。

2.感知机学习策略

2.1数据集的线性可分性

给定一个数据集T, 如果存在某个超平面S: ωx+b=0能够将数据集的正实例点和负实例点完全正确的划分到超平面的两侧,即yi(ωx+b)0,则称数据集T为线性可分数据集。

2.2 感知机的学习策略

首先,输入空间Rn 中任一点x0到超平面S的距离d:1||ω|||ωx0+b|

证明如下:

在超平面S(ωx+b=0)任选一点v1,所需公式v0v1=||v0||||v1||cosθ

​ d = ||v0v1||cos(v0v1,ω)

​ = ||v0v1|||v0v1ω|||v0v1||||ω||

​ = |(x1x0)ω|||ω||

​ = |bx0ω|||ω||

​ = 1||ω|||ωx0+b|

其次,对于误分类的数据(xi,yi)来说,yi(ωxi+b)>0,因此,误分类点xi到超平面S的距离是yi1||ω|||ωxi+b|。假设超平面S所有误分类点的集合为M,则所有误分类点的总距离为1||ω||xiMyi|ωxi+b|。因此可得出损失函数为L(ω,b)=xiMyi(ωxi+b)

2.3 感知机算法

2.3.1原始形式(随机梯度下降法)

输入:训练数据集T = {(x1, y1), (x2, y2), ....., (xN,yN)},其中xiX=RnyiY=+1,1,i=1,2,...,N; 学习率θ(0<θ1);

输出:ω,b;感知机模型f(x)=sign(ωx+b)

过程:

​ 1.选取初值ω0, b0

​ 2.在训练集中选取数据(xi, yi);

​ 3.如果yi(ωxi+b)0ωω+θyixibb+θyi

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

注:感知机学习算法由于采取不同的初值或选取不同的误分类点,解可以不同。

2.3.2算法的收敛性

证明:经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。

为了叙述与推导,ω^=(ωT,b)T,x^=(xT,1)T,ω^x^=ωx+b

训练数据集T = {(x1, y1), (x2, y2), ....., (xN,yN)},其中xiX=RnyiY=+1,1,i=1,2,...,N;

​ (1)存在满足条件||ω^opt||=1的超平面ω^optx^=ωoptx+bopt=0 将训练数据集完全正确分开;且存在γ>0, 对所有的i= 1,2,...,N,yi(ω^x^)=yi(woptxi+bopt)γ

 证明如下:

由于训练集是线性可分的,故存在一分离超平面。不妨设改平面为ω^x^=woptxopt+bopt=0,使||ω^opt||=1

于是对于所有有限的i,均有yi(woptxi+bopt)>0

γ>0,则γ=mini(yi(ωoptxi+bopt))

所以,(1)得证。

​ (2)令R=max1iN||x^||,则在f(x)=sign(ωx+b)在训练数据集上的误分类次数k满足不等式k(Rγ)2

证明:ω^kω^optkγηw^k是第k个误分类点实例的扩充权重向量。

ω^kω^opt=(ω^k1+ηyix^i)ω^optω^k1ω^opt+ηγ=(ω^k2+ηyix^i)ω^optω^k2ω^opt+ηγ...kηγ

证明:||ω^k||2kη2R2

||ω^k||2=||ω^k||2+2ηyiω^k1x^i+η2||x^i||||ω^k1||2+η2||x^i||||ω^k1||2+η2R2||ω^k1||2+2η2R2...kη2R2

由上述可得,kηγω^kω^opt||ω^k||||ω^opt||kηRk2γ2kR2k(Rγ)2

定理表明,误分类次数k是有上界的,经过有限次搜索可以找到分离超平面。即当训练数据集线性可分时,感知机学习算法原始形式迭代时收敛的。

2.3.3 对偶形式

输入:训练数据集T = {(x1, y1), (x2, y2), ....., (xN,yN)},其中xiRnyi+1,1,i=1,2,...,N; 学习率η(0<η1);

输出:α,b;感知机模型f(x)=sign(j=1Nαjyjxjx+b)

过程:

​ 1.α0,b0

​ 2.在训练集中选取数据(xi, yi);

​ 3.如果yi(j=1Nαjyjxjxi+b)0αiαi+ηbb+ηyi

​ 4.转至2,直至训练集中没有误分类数据。

注:Gram矩阵:训练集中实例间的内积计算并以矩阵形式存储,该矩阵为Gram矩阵,记为G=[xixj]NN

posted @   纸忽者耶  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 深度对比:PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
点击右上角即可分享
微信分享提示