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