《统计学习方法》算法学习笔记(一)之感知机

本文详细介绍了感知机模型,包括其线性分类的角色、模型参数(权重和偏置)以及线性分类器的概念。接着,文章讨论了感知机的学习策略,即在数据线性可分的情况下,通过最小化误分类点到超平面的距离来优化模型。最后,文章深入探讨了感知机学习算法,包括原始形式的随机梯度下降法和算法的收敛性,并简要提到了对偶形式的学习算法。
摘要由CSDN通过智能技术生成

感知机

总述

感知机是二类分类线性分类模型,其输入为实例的特征向量输出实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性化分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数极小化,求得感知机模型。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学到的感知机模型对新的输入实例进行分类。

1.1 感知机模型

定义:假设输入空间(特征空间) x x x R n \R^n Rn,输出空间是 y y y={-1, +1},输入 x x x表示实例的特征向量,对应于输入空间(特征空间)中的点,输出 y y y表示实例的类别。由输入空间到输出空间的如下函数
f ( x ) = s i g n ( w ∗ x + b ) f(x)=sign(w*x+b) f(x)=sign(wx+b)
称为感知机。其中, w w w b b b称为感知机模型参数, w ∈ R n w∈R^n wRn叫权值或权值向量, b ∈ R b∈R bR叫作偏置, w ∗ x w*x wx表示 w w w b b b的内积, s i g n sign sign是符号函数,即
f ( n ) = { + 1 if  x ≥ 0 − 1 , if  x < 0 f(n)= \begin{cases} +1 & \text {if $x≥0$} \\ -1, & \text{if $x<0$} \end{cases} f(n)={+11,if x0if x<0
感知机模型假设空间是定义在特征空间中的所有线性分类模型或线性分类器,即函数集合{ f ∣ f ( x ) = w ∗ x + b ) f | f(x)=w*x+b) ff(x)=wx+b)}。

Alt
线性方程 w ∗ x + b = 0 w*x+b=0 wx+b=0(感知机模型)对应特征空间 R n R^n Rn中的一个超平面。感知机学习由训练数据集实例的特征向量及类别:T={ ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . . . . , ( x n , y n ) (x_1, y_1), (x_2, y_2), ......,(x_n, y_n) (x1,y1),(x2,y2),......,(xn,yn)},其中, x i ∈ R n x_i∈R^n xiRn y i ∈ y y_i∈y yiy={-1, +1}, i = 1 , 2 , . . . , N i=1, 2, ..., N i=1,2,...,N,求得感知机模型参数 w 和 b w和b wb

1.2 感知机学习策略

前提数据集线性可分(存在某个超平面 S S S能够将数据集的正实例点和负实例点完全正确的划分到超平面的两侧)。

学习策略:定义一个(经验)损失函数并将损失函数极小化,损失函数必须连续且可导。感知机所使用的损失函数是误分类点到超平面的距离

对于误分类点 ( x i , y i ) (x_i, y_i) (xi,yi)来说,有
− y i ( w ∗ x i + b ) > 0 -y_i(w*x_i+b)>0 yi(wxi+b)>0
成立。因此,误分类点到超平面 S S S的距离是
Alt
感知机 s i g n ( w ∗ x + b ) sign(w*x+b) sign(wx+b) 学习的损失函数定义为
Alt
该损失函数满足连续且可导。损失函数 L ( w , b ) L(w, b) L(w,b)是非负的,如果没有误分类点,损失函数值为0;误分类点越少,误分类点离超平面越近,损失函数值越小

综上所述:感知机的学习策略是在假设空间中选取使损失函数 L ( w , b ) L(w, b) L(w,b)最小的模型参数 w w w b b b,即感知机模型。

1.3 感知机学习算法

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

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

Alt
感知机学习算法是误分类驱动的,具体采用随机梯度下降算法。首先,任意选取一个超平面 w 0 和 b 0 w_0和b_0 w0b0,然后用随机梯度下降法不断极小化上述目标函数。极小化过程不是一次使用 M M M中的所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降

损失函数梯度如下:
Alt
随机选择一个误分类点 ( x i , y i ) (x_i, y_i) (xi,yi) w 和 b w和b wb进行更新:
Alt
式中 η ( 0 < η ≤ 1 ) \eta(0<\eta≤1) η(0<η1)是步长,又称为学习率。

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

输入:训练数据集 T = T= T={ ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) (x_1,y_1), (x_2,y_2), ..., (x_N,y_N) (x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ x = R n x_i∈x=R^n xix=Rn y i ∈ y y_i∈y yiy={ − 1 , + 1 -1,+1 1,+1}, i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N,学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta≤1) η(0<η1)
输出 w , b w,b w,b;感知机模型 f ( x ) = s i g n ( w ∗ x + b ) f(x)=sign(w*x+b) f(x)=sign(wx+b)

  1. 选取初值 w 0 , b 0 w_0,b_0 w0,b0;
  2. 在训练集中选取数据 ( x i , y i ) (x_i, y_i) (xi,yi);
  3. 如果 y i ( w ∗ x i + b ) ≤ 0 y_i(w*x_i+b)≤0 yi(wxi+b)0
    Alt
  4. 转至(2),直到训练集中没有误分类点。

直观解释:当一个实例点被误分类,即位于分离超平面错误的一侧时,则调整 w 和 b w和b wb的值,使分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离,直至超平面越过该误分类点使其分类正确。

1.3.2 算法的收敛性

由Novikoff定理可证明感知机算法的收敛性:
k ≤ ( R / γ ) 2 k≤(R/\gamma)_2 k(R/γ)2
式中, k k k是算法迭代次数; R R R 指代 x i x_i xi二范数的最大值; γ > 0 \gamma>0 γ>0 k k k存在上界,经过有限次迭代,算法收敛。

感知机算法存在许多解,这些解既依赖于初值的选择,也依赖于迭代过程在误分类点的选择顺序。为了得到唯一的超平面,需要对分离超平面增加约束条件。当训练集线性不可分,感知机学习算法不收敛,迭代结果会发生震荡。

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

对偶形式的基本思想是,将 w 和 b w和b wb表示为实例 x i x_i xi和标记 y i y_i yi的线性组合的形式,通过求解其系数而求得 w 和 b w和b wb

原始形似中,对误分类点 ( x i , y i ) (x_i,y_i) (xi,yi)通过
Alt
逐步修改 w 和 b w和b wb,设修改 n n n次,则 w 和 b w和b wb关于 ( x i , y i ) (x_i,y_i) (xi,yi)的增量分别是 α i y i x i \alpha_iy_ix_i αiyixi α i y i \alpha_iy_i αiyi,这里 α i = n i η \alpha_i=n_i\eta αi=niη,这一过程中最终学习到的 w 和 b w和b wb可以分别表示为:
Alt
这里 α i ≥ 0 \alpha_i≥0 αi0 i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N。当 η = 1 \eta=1 η=1时,表示第 i i i个实例点由于误分类而进行更新的次数(说实话,这句我没看懂 [笑哭])。实例点更新次数越多,意味着它距离分离超平面越近,也就越难正确分类。这样的实例点对学习结果影响最大

感知机学习算法的对偶形式如下:
输入:训练数据集 T = T= T={ ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) (x_1,y_1), (x_2,y_2), ..., (x_N,y_N) (x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ x = R n x_i∈x=R^n xix=Rn y i ∈ y y_i∈y yiy={ − 1 , + 1 -1,+1 1,+1}, i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N,学习率 η ( 0 < η ≤ 1 ) \eta(0<\eta≤1) η(0<η1)
输出 α , b \alpha,b α,b;感知机模型
Alt
其中, α = ( α 1 , α 2 , . . . , α N ) T \alpha = (\alpha_1,\alpha_2,...,\alpha_N)^T α=(α1,α2,...,αN)T α i = n i η \alpha_i=n_i\eta αi=niη

  1. 0→ α \alpha α,0→ b b b
  2. 在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)
  3. 如果
    Alt
    则有
    Alt
  4. 转至(2)直到没有误分类数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值