感知机(Perception)是由两层神经元组成。输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称之为“阈值逻辑单元”,如下图所示。
图 两个输入神经元的感知机网络结构示意图
感知机能很容易的实现逻辑与、或、非运算(只考虑0和1的取值)。注意到,假设f是跃阶函数,有
- “与”(
):令
,则
,仅在
时,y=1。
- “或”(
):令
,则
,仅在
或
时,y=1。
- "非"(
),令
,则
,仅在
时,y=0;当
时,y=1。
定义感知机:
假设输入空间(特征空间)是,输出空间是y={+1,-1}
输入表示实例的特征向量,对应于输入空间(特征空间)的点,输出y表示实例的类别,由输入空间到输出空间的函数:
称为感知机。模型参数为:w和b.
符号函数:
感知机几何解释:
线性方程:
对应于超平面S,w为法向量,b截距,分离正负类。
分离超平面:
感知机学习策略
如何定义损失函数?
自然选择:误分类点的数目,但损失函数不是w,b连续可导,不宜优化。
另一选择:误分类点到超平面的总距离。
距离:
误分类点:
误分类点距离:
总距离: M为误分类点的数目
希望找到w和b,使得总距离最小,得到损失函数
感知机学习算法(有监督学习)
求解最优化问题:
最基本的算法为随机梯度下降法:
首先任意选择一个超平面,w,b,然后不断极小化目标函数,损失函数L的梯度【各个偏导数构成的向量。】:
选取误分类点更新:
称为学习率。
所以感知机学习算法为:
===================================================================
输入: 训练数据集,其中,
,学习率
输出:w,b感知机模型
(1)选取初值
(2)在训练集中选取数据
(3)如果
则
(4)转至(2),直至训练集中没有误分类点。
===================================================================
感知机算法收敛性分析
算法的收敛性:证明经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。
将b并入权重向量w,记作:
则,
定理:设训练数据是线性可分的,其中:
,则,存在满足条件
的超平面
且存在
,对所有i=1,2,...,N,
令,算法在训练集上的误分类次数k满足不等式
证明略。
定理表明:误分类的次数k是有上界的:当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的。感知机算法是不稳定的:存在许多解,既依赖于初值,也依赖于迭代过程中误分类点的选择顺序。为得到唯一分离超平面,需要增加约束,就发展成了后来的支持向量机。
如果训练数据集线性不可分,会出现迭代震荡。
感知机学习对偶形式
基本思想:将w和b表示为实例xi和标记yi的线性组合的形式,通过求解其系数而求得w和b,对误分类点:
-------------------->
输入: 训练数据集,其中,
,学习率
输出:a,b;感知机模型为,其中
(1)
(2)在训练集中选取数据
(3)如果
(4)转至(2)中,直到没有误分类数据。
Gram矩阵G=
讲解至此,我们知道感知机是解决训练数据集线性可分的问题,那对于非线性可分的问题怎么解决?下节将继续介绍。