(二分类)线性模型:
输入空间 :; 输入:
输出空间:; 输出:
感知机:
其中,称为权值(weight),称为偏置(Bias),
表示内积
假设空间:
学习策略
数据集的线性可分性
给定数据集:
若存在某个超平面S :
能够将数据集的正负实例点完全正确的划分到超平面两侧,即
则
那么,称T为线性可分数据集;否则,称T为线性不可分。
到 的距离:
- 若是正确分类点,则
- 若是错误分类点,则
- 误分类点到的距离:
- 所有误分类点到的距离: 其中,M代表所有误分类点的集合。
- 损失函数:
梯度下降法:
梯度指:某一函数在该点处最大的方向导数,沿着该方向可取得最大的变化率。
若是凸函数,可通过梯度下降法进行优化:
梯度下降法的算法:
输入:目标函数, 步长, 计算精度 ;
输出:的极小点。
- 选取初始值, 置。
- 计算。
- 计算梯度。
- 置,计算。当或者时,停止迭代,令。
- 否则,置,转到第3步。
原理:可用泰勒展开
- 的单位向量用v表示,为标量。
- 重新表达,
- 更新使函数值变小,
- 互为反向,
- 更新:
- 化简:
原始形式
损失函数:
梯度: ;
参数更新:
- 批量梯度下降法(Batch Gradient Descent):每次迭代时使用所有误分类点来进行参数更新。
; 其中,代表步长。
- 随机梯度下降法(Stochastic Gradient Descent):每次随机选取一个误分类点。迭代速度会比批量梯度下降法快。
;
算法:
输入:训练集:
其中,, ; 步长
输出 :, ; 感知机模型
- 选取初始值, ;
- 于训练集中随机选取数据;
- 若, ;
- 转到第2步,直到训练集中没有误分类点。
不同的顺序可以得到不同分离超平面
对偶形式
- 在原始形式中,若为误分类点,可如下更新参数:;
- 假设初始值,对误分类点通过上述公式更新参数,修改次之后,的增量分别为和,其中。
- 最后学习到的参数为 ;
算法:
输入:训练集:
其中,, ; 步长
输出 :, ; 感知机模型, 其中
- 选取初始值;
- 于训练集中随机选取数据;
- 若, ;
- 转到第2步,直到训练集中没有误分类点。
我们将迭代条件展开来:
为了计算方便,可以令Gram矩阵:
收敛性:
定理
记为扩充之后,则分离超平面可以写为
若训练集 线性可分,
其中,,,则
- 存在满足条件(最优的扩充权重向量)的超平面可将完全正确分开;且,对所有,
证明: 因为线性可分
所以超平面将完全正确分开。(不妨令)
那么,对有限的均有
记,则有
- 令,则感知机算法在上的误分类次数 满足不等式
证明:假设,若实例被误分类,则更新权重。令为第k个误分类实例之前的扩充权重向量,即
若
则为第k个误分类实例,更新参数,
为了证明迭代次数是有限的,下面推导两个不等式
证明:
1.:
2.:
结合所得两个不等式,
所以 于是,有
算法具有收敛性:对于线性可分的,经过有限次搜索,可得将完全正确分开的分离超平面。
算法也具有依赖性:不同的初值选择,或者迭代过程中不同的误分类点选择顺序,可能会得到不同的分离超平面。
对于线性不可分的,算法不收敛,迭代结果会发生震荡。
为得到唯一分离超平面,需增加约束条件。