02 感知机(perceptron)

第二章、感知机(perceptron)

关键词:二分类、线性分类器、判别模型

目录

  • 2.1 感知机模型
  • 2.2 感知机策略
  • 2.3 感知机算法

2.1 感知机模型

1. 模型描述

假设输入空间(特征空间)X⊆R,输出空间为Y={+1,-1},输入x∈X表示实例的特征向量,对应于输入空间(特征空间)的点,输入y∈Y表示实例的类别,由输入到输出的如下函数:

f ( x ) = s i g n ( w x + b )

成为感知机。

  • w(weight vector):权值向量
  • b(bias):偏置
  • sign:符号函数

s i g n ( x ) = { 1 , x 0 1 , x < 0

2. 几何解释

线性方程wx+b=0定义了一个“分离超平面S”,其中w为该平面的法向量,b为平面的截距,S将特征空间划分为两个部分。

如果x是一维的,那么该超平面就是一个点。

如果x是二维的,那么该超平面就是一条线…

loading pic

2.2 感知机策略

1. 数据集的线性可分性

给定一个DataSet T={{x1,y1},{x2,y2},{x3,y3},…},其中,xi∈X=Rn,yi∈Y={+1,-1},i=1,2,3…,如果存在某个超平面S能够将数据集的正实例和负实例完全正确的划分在S两侧,即对所有yi=+1,wxi+b>0,对所有yi=-1,wxi+b<0,则称数据集T为线性可分数据集。

2. 感知机的学习策略

首先想到的是误分类点的总数,但是它不是w和b的连续可导函数,不易最优化。

紧接着就容易想到每个点到超平面S的距离。

对于任意一个点x0,它到超平面S的距离为:

1 | | w | | | w x 0 + b |

其中||w||为w的L2范数,也就是w的模(向量长度)。

对于一个误分类的点xi,都有-yi*(wx+b)>0|yi|=1,因此,它们到超平面的距离为:

1 | | w | | y i ( w x i + b )

则对于所有误分类到超平面的距离之和为,M为所有误分类的点的集合:

1 | | w | | x i M y i ( w x i + b )

因此,最终定义感知机学习的损失函数为:

L ( w , b ) = x i M y i ( w x i + b )


ps. 点(x0,y0)到直线Ax+By+X=0的距离为:

d i s = | A x 0 + B y 0 + C A 2 + B 2 |


2.3 感知机算法

1. 原始问题

  1. 最优化的问题:求解w和b,能够使

min w , b x i M y i ( w x i + b )

  1. 随机梯度下降(stochastic gradient descent):

    极小化过程中,不是一次使M中所有的误分类点都梯度下降,而是一次随机选取一个误分类点进行梯度下降。

    损失函数的梯度为:

    w L ( w , b ) = x i M y i x i

    b L ( w , b ) = x i M y i

    随机选取一个误分类点(xi,yi):

    w w + η y i x i

    b b + η y i

    其中,η(0<η<=1)为学习率

  2. 感知机学习算法的原始描述

    • 输入:训练集T={{x1,y1},{x2,y2},{x3,y3}…},其中xi∈X=Rn,yi∈Y={+1,-1},i=1,2,3…;学习率η(0<η<=1)

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

    • 算法描述

      • ① 输入初始w,b
      • ② 在训练集中选取(xi,yi)
      • ③ 如果yi(wxi+b)<=0,则

        w w + η y i x i

        b b + η y i

      • ④ 回到②,直到没有误分类点

2. 算法的收敛性

定义如下:

w ^ = ( w T , b ) T

x i ^ = ( x i T , 1 ) T

w x i + b = w ^ x i ^

定理(Novikoff):设训练集T={{x1,y1},{x2,y2},{x3,y3}…},其中xi∈X=Rn,yi∈Y={+1,-1},i=1,2,3…,则

证明:




3. 对偶问题

初始w0=0,b0=0,由

w w + η y i x i

b b + η y i

设w和b关于一个实例xi和yi的增量分别为αiyixi和αiyi,其中

α i = n i η

因此,最终

w = i = 1 N α i y i x i

b = i = 1 N α i y i

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

  • 输入:训练集T={{x1,y1},{x2,y2},{x3,y3}…},其中xi∈X=Rn,yi∈Y={+1,-1},i=1,2,3…;学习率η(0<η<=1)

  • 输出:α,b;感知机模型

f ( x ) = s i g n ( i = 0 N α i y i x i x + b )

  • 算法描述

    • ① α←0,b←0
    • ② 随机选择一个xi,yi
    • ③ 如果yif(xi)<=0,则:

      α i α i + η

      b + η y i

    • ④ 回到②,直到没有误分类点

猜你喜欢

转载自blog.csdn.net/double___you/article/details/80610609