一、感知机概念
1957年由Rosenblatt提出,是神经网络与支持向量机的基础。
1、定义
感知机(perceptron)是二类分类的线性分类模型,输入为实例的特征向量,输出为实例的类别,取+1和-1;
2、判别模型
感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型;
3、要点
(1)导入基于误分类的损失函数;
(2)利用梯度下降法对损失函数进行极小化;
4、特点
感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式;
二、模型
1、定义(感知机):
假设输入空间(特征空间)是
,输出空间是 y = {+1,-1}。输入x∈X表示实例的特征向量,对应于输入空间(特征空间)的点,输出y∈Y表示实例的类别,由输入空间到输出空间的函数:
f(x)=sign(w • x + b)
称为感知机。
2、模型参数:
w 权值(weight)或权值向量(weight vector ) Rn
b 偏置(bias )
w • x,内积
3、符号函数sign:

4、感知机几何解释:
线性方程:w • x + b = 0
对应于特征空间中的超平面S,w为法向量,b截距,分离正、负类:
S又称分离超平面
三、学习策略
1、线性可分与线性不可分
存在一个超平面将数据集分为正负两侧,数据集线性可分,否则线性不可分。
感知机学习先假设数据集线性可分。
2、损失函数
基本策略:定义(经验)损失函数并将损失函数极小化。
自然选择:误分类点的数目,但损失函数不是w,b 连续可导,不宜优化。
一般选择:误分类点到超平面的总距离:
距离:

误分类点:
![]()
误分类点距离:

总距离:

损失函数:

M为误分类点的集合
四、学习算法
1、求解最优化问题(损失函数极小化)

2、随机梯度下降法,
首先任意选择一个超平面,然后不断极小化目标函数,损失函数L的梯度:

选取误分类点更新:

式中n(0 < n <= 1)是步长, 在统计学习中又称为学习率(learning rate) 。这样, 通过迭代可以期待损失函数L不断减小, 直到为0
3、感知机学习算法的原始形式:
输入:训练数据集 学习率
输出:w,b;感知机模型
步骤:
(1)选取初值
(2)训练集中选取数据
(3)数据误分类,更新超平面
(4)转到步骤2,直到训练集中没有误分类点
4、特点
误分类的次数k是有上界的,当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的。
感知机算法存在许多解,既依赖于初值,也依赖迭代过程中误分类点的选择顺序。
为得到唯一分离超平面,需要增加约束,如SVM(支持向量机)。
如果输入是线性不可分数据集,敢直接学习算法不收敛,迭代结果会发生震荡。
5、感知机算法的对偶形式:
将w和b表示为实例xi和标记yi的线性组和的形式,通过求解其系数而求得w和b,对误分类点通过:

逐步修改w, b,设修改n次, 则w, b关于误分类点的增量分别是
和
, 这里
, 最后学习到的w, b可以分别表示为

当n =1时, 表示第i个实例点由于误分而进行更新的次数。
实例点更新次数越多, 距离分离超平面越近, 也就越难正确分类。
6、对偶算法
输入:数据集,学习率
输出:α,b 感知机模型

步骤:
(1) α,b 初始化为0
(2)训练集中选取数据
(3)若数据误分类,更新模型
(4)转到第二步进行迭代,知道没有误分类数据
注: 对偶形式中训练实例仅以内积的形式出现。 可以预先将训练集中实例间的内积计算出来并以矩阵的形式存储, 即Gram矩阵(Grammatrix)
![]()

2万+

被折叠的 条评论
为什么被折叠?



