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

首先介绍感知机模型,然后叙述感知机的学习策略,特别是损失函数,最后介绍感知机学习算法,包括原始模式和对偶模式,并证明算法的收敛性

感知机模型

输入空间(特征空间):XRn,假设xX
输出空间:Y={+1,1},假设yY
由输入空间到输出空间的如下函数称为感知机:

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

其中ωRn叫做权值,bR叫做偏置,ωx表示内积,sign表示符号函数:

sign(x)={+1x01x<0

  • 感知机是一种线性分类模型,属于判别模型,对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面。
  • 感知机模型的假设空间时定义在特征空间中的所有线性分类函数或线性分类器,即函数集合f|f(x)=ωx+b

感知机学习策略

目标:确定模型参数ω,b
损失函数:误分类点到超平面S的总距离

1||ω|||ωxi+b|

||ω||是指ωL2范数
又因为误分类点有如下定义:

yi(ωxi+b)>0

所以误分类点到超平面的距离为:

1||ω||yi(ωxi+b)

假设误分类点集合M,那么所有误分类点到超平面的总距离为:

1||ω||xiMyi(ωxi+b)

得到损失函数:

L(ω,b)=xiMyi(ωxi+b)

感知机学习算法

感知机学习问题转化为求解损失函数式的最优化问题,最优化的方法是随机梯度下降法

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

输入:训练数据集T={(x1,y1),(x2,y2),,(xN,yN)},其中xiX=Rn,yiY={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

  1. 转至第二步,直到没有误分类点

算法的收敛性

收敛性证明:误分类的次数k是有上界的,经过有限次搜索可以找到将训练数据完全正确分开的超平面
假设ω^=(ωT,b)T,x^=(xT,1)T,ω^Rn+1,x^Rn+1,则ω^x^=ωx+b
定理:

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

yi(ω^optxi^)=yi(ωoptxi+bopt)γ

  • R=max1iN||x^i||,则感知机算法在训练数据集上的误分类次数k满足不等式:

k(Rγ)2

证明:

  • 由于训练数据集是线性可分的,所以存在超平面可将训练数据集完全正确分开,取此超平面为ω^optx^=ωoptx+bopt=0,使||ω^opt||=1,由于对有限的i=1,2,,N,均有

yi(ω^optxi^)=yi(ωoptxi+bopt)>0

所以存在

γ=mini{yi(ωoptxi+bopt)}

使

yi(ω^optxi^)=yi(ωoptxi+bopt)γ

  • 感知机算法从ω^0=0开始,如果实例被误分类,则更新权重,令ω^k1是第k个误分类实例之前的扩充权重向量,即:

ω^k1=(ωk1T,bk1)T

则第k个误分类实例的条件是:

yi(ω^k1x^i)=yi(ωk1xi+bk1)0

(xi,yi)是被ω^k1=(ωk1T,bk1)T误分类的数据,则ωb的更新是:

ωkωk1+ηyixibkbk1+ηyi

即:

ω^k=ω^k1+ηyix^i

递推1:

ω^kω^opt=ω^k1ω^opt+ηyiω^optx^iω^k1ω^opt+ηγω^k2ω^opt+2ηγkηγ

递推2:

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

结合两个递推式:

kηγω^kω^opt||ω^k|| ||ω^opt||kηRk2γ2kR2k(Rγ)2

感知机算法的对偶形式

不失一般性,假设ω0,b0均为0,已知下式

ωω+ηyixibb+ηyi

逐步修改ω,b,设修改n次,则ω,b关于(xi,yi)的增量分别是αiyixi,αiyi,这里αi=niη,可以得到:

ω=i=1Nαiyixib=i=1Nαiyi

输入:训练数据集T={(x1,y1),(x2,y2),,(xN,yN)},其中xiX=Rn,yiY={1,+1},i=1,2,,N;学习率η(0<η1)
输出:α,b
感知机模型:

f(x)=sign(j=1Nαjyjxjx+b),α=(α1,α2,,αN)T

  • α0,b0;
  • 在训练集中选取数据(xi,yi)
  • 如果yi(j=1Nαjyjxjxi+b)0,则:

αiαi+ηbb+ηyi

  • 转至第二步直到没有误分类数据

注:在计算的过程中训练实例以内积的形式出现,可以预先计算储存下来,这个矩阵叫做Gram矩阵,G=[xixj]N×N

posted @   eryo  阅读(78)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示