1、原理
感知器是一种前馈人工神经网络,是人工神经网络中的一种典型结构。感知器具有分层结构,信息从输入层进入网络,逐层向前传递至输出层。根据感知器神经元变换函数、隐层数以及权值调整规则的不同,可以形成具有各种功能特点的人工神经网络。本节将介绍单层感知器和多层感知器的工作原理。
2、单层感知器
1958年,美国心理学家Frank Rosenblatt提出一种具有单层计算单元的神经网络,称为Perceptron,即感知器。感知器是模拟人的视觉接受环境信息,并由神经冲动进行信息传递的层次型神经网络。感知器研究中首次提出了自组织、自学习的思想,而且对所能解决的问题存在着收敛算法,并能从数学上严格证明,因而对神经网络研究起了重要推动作用。单层感知器的结构与功能都非常简单,以至于在解决实际问题时很少采用,但由于它在神经网络研究中具有重要意义,是研究其它网络的基础,而且较易学习和理解,适合于作为学习神经网络的起点。
3、感知器模型
单层感知器是指只有一层处理单元的感知器,如果包括输入层在内,应为两层,如下图所示。图中输入层也称为感知层,有n个神经元节点,这些节点只负责引入外部信息,自身无信息处理能力,每个节点接收一个输入信号,n个输入信号构成输入列向量X。输出层也称为处理层,有m个神经元节点,每个节点均具有信息处理能力,m个节点向外部输出处理信息,构成输出列向量0。两层之间的连接权值用权值列向量Wj表示,m个权向量构成单层感知器的权值矩阵W。3个列向量分别表示为:
感知器是二类分类的线性分类模型,将实例划分为正负两类的分离超平面(separating hyperplane),属于判别模型。
感知器基于线性阈值单元(Linear Threshold Unit, LTU)构件的。以下是 LTU:
LTU 相当于对输入做一个线性组合,再加一个阶跃函数。
常用的阶跃函数是 Heaviside 和 Sign。
哪怕只有一个 LTU 也可以作为简单的线性二分类器,类似于逻辑回归或者线性 SVM。
感知器就是由一层 LTU 组成。以下是一个多输出分类器。
为了求得感知器的权重参数,需要确定一个学习策略,即定义损失函数并将损失函数极小化。有这样几种选择:
误分类点的总数:损失函数不是 w, b 的连续可导函数,不易优化。
误分类点到超平面的总距离:感知器所采用的损失函数。
感知器的损失函数是:
感知器学习问题转化为上式损失函数的最优化问题,最优化的方法是随机梯度下降法(stochastic gradient decent)。
感知器收敛性:当训练数据集线性可分时,感知器学习算法原始形式是收敛的。
感知器的具体算法分为两种形式:
原始形式
对偶形式
多层感知机: