2.1 感知机模型
定义2.1 (感知机) 假设输入空间(特征空间)是χ⊂R2χ⊂R2,输出空间是Y={+1,−1}Y={+1,−1}.输入x∈χx∈χ表示实例的特征向量,对应于输入空间(特征空间)的点;输出y∈Yy∈Y表示实例的类别。由输入空间到输出空间的如下函数
称为感知机。其中,ww 和 为感知机模型参数,w∈Rnw∈Rn叫做权值(weight)或权值向量,b∈Rb∈R叫作偏置(bias),w⋅xw⋅x表示内积。sign是符号函数,即
感知机是一种线性分类模型,属于判别模型。
几何解释:线性方程
对应于特征空间RnRn中的一个超平面SS,其中是超平面的法向量,bb是超平面的截距。
2.2 学习策略
定义2.2 (数据集的线性可分性) 给定一个数据集
其中,xi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,如果存在某个超平面SS
能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对所有yi=+1yi=+1的实例ii,有,对所有yi=−1yi=−1的实例ii,有,则成数据集TT为线性可分数据集(linearly separable data set);否则,称数据集线性不可分。
损失函数
假设训练数据集是线性可分的,感知机学习的目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。即确定感知机模型参数w,bw,b,使损失函数极小化。
感知机所采用的损失函数为:误分类点到超平面SS的总距离。
给定训练数据集
其中,xi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,感知机sign(w⋅x+b)sign(w⋅x+b)学习的损失函数定义为
其中MM为误分类点的集合,这个损失函数就是感知机学习的经验风险函数。
显然,损失函数是非负的。如果没有误分类点,则损失函数的值为0,而且误分类点越少,误分类点距离超平面就越近,损失函数值就越小。同时,损失函数L(w,b)L(w,b)是连续可导函数。
感知机学习的策略是在假设空间中选取使损失函数L(w,b)L(w,b)最小的模型参数w,bw,b,即感知机模型。
2.3 学习算法
感知机学习问题转化为求解损失函数式(2.4)的最优化问题。采用随机梯度下降法。
2.3.1 感知机学习算法的原始形式
给定一个训练数据集
其中,xi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,求参数w,bw,b,使其为损失函数极小化问题的解
其中MM为误分类点的集合。
采用随机梯度下降法。
首先,任意选取一个超平面,然后用梯度下降法极小化目标函数(2.5),一次随机选取一个误分类点使其梯度下降。
假设误分类点集合MM固定的,那么损失函数的梯度由
随机选取一个误分点(xi,yi)(xi,yi),对w,bw,b进行更新:
式中η(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,yi∈Y={+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(w⋅x+b)f(x)=sign(w⋅x+b)
(1)选取初值w0,b0w0,b0
(2)在训练集中选取数据(xi,yi)(xi,yi)
(3)如果yi(w⋅xi+b)≤0yi(w⋅xi+b)≤0
(4)转至(2),直至训练集中没有误分类点。
2.3.2 算法的收敛性
对于线性可分的数据集感知机学习算法原始形式收敛,即经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。
记:w^=(wT,b)Tw^=(wT,b)T,x^=(xT,1)Tx^=(xT,1)T,x^∈Rn+1x^∈Rn+1 ,w^∈Rn+1w^∈Rn+1,w^⋅x^=w⋅x+bw^⋅x^=w⋅x+b.
定理 2.1(Novikoff) 设训练数据集
xi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,Nxi∈χ=Rn,yi∈Y={+1,−1},i=1,2,...,N,则
(1)存在满足条件∥w^opt∥=1‖w^opt‖=1的超平面w^opt⋅x^=wopt⋅x+bopt=0w^opt⋅x^=wopt⋅x+bopt=0将训练数据集完全正确分开;且存在γ>0γ>0,对所有i=1,2,...,Ni=1,2,...,N
(2)令R=max1≤i≤∥x^i∥R=max1≤i≤‖x^i‖,则感知机算法2.1在训练数据集上的误分类次数kk满足不等式
2.3.3 感知机学习算法的对偶形式
基本思想
将ww,表示为实例xixi和标记yiyi的线性组合的形式,通过求解其系数而求解其系数而求得ww和,不失一般性,假设初始值w0w0,b0b0均为0,对误分点类(xi,yi)(xi,yi)通过
算法 2.2 (感知机学习算法的对偶形式)
输入: 线性可分的数据集T={(x1,y1),(x2,y2),...,(xN,yN)},T={(x1,y1),(x2,y2),...,(xN,yN)},其中,
xi∈χ=Rn,yi∈Y={+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αjyjxj⋅x+b)f(x)=sign(∑j=1Nαjyjxj⋅x+b).
其中α=(α1,α2,...,αN)Tα=(α1,α2,...,αN)T
(1)α←0α←0,b←0b←0
(2)在训练集中选取数据(xi,yi)(xi,yi)
(3)如果yi(∑j=1Nαjyjxj⋅xi+b)≤0yi(∑j=1Nαjyjxj⋅xi+b)≤0
(4)转至(2),直至训练集中没有误分类点。
对偶形式中训练实例仅以内积的形式出现,为了方便,可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储,该矩阵即为Gram矩阵
来源:李航著 《统计学习方法》