感知器
1. 引言
在开始讨论感知器学习前先来考虑一个实际生活中的例子:你是怎么教小孩识别椅子的?你给他看实物,告诉他,“这是椅子,那不是椅子”,直到他学会了椅子的概念。在这一阶段,当被问及“那东西是椅子吗?”,小孩能给出正确的答案。
只要给让孩子接触足够多的正的反的例子训练,那么当他看到一个以前从未见过的新东西时就能正确的识别了。这就是感知器背后的思想。
2. 感知器
- 感知器本身由权值,加法器,激活函数以及可调阈值(偏置)组成,为了方便将偏置也作为一个输入信号
- 感知器提出了自组织自学习的思想


3. 感知器学习
-
感知器的学习就是修改权值和偏置的过程,感知器计算其输入的二值函数
-
感知器是单层神经网络,其权值和偏置能被训练,当输入一个向量,就能得到一个相应的正确的目标向量。用来训练的技术称为感知器学习规则,特别适用于简单的模式分类问题
4. 感知器学习规则
4.1 训练过程:即如何修改权值和偏置的过程
-
使用Delta学习规则:若神经元实际输出比期望输出大,则减小所有输入为正的连接的权重,增大所有输入为负的连接的权重。

该方法已经被证明:如果样本是线性可分的,则算法在有限次的循环迭代后可以收敛到正确的目标矢量。
-
训练集中的向量是一个接着一个提交到感知器的,若感知器的输出是正确的则不做改变,否则,权值和偏置按上面的学习规则进行更新。
-
当每个epoch(所有输入向量的一次完整遍历称为一个epoch)都没有误差(或训练次数达到事先时设置的最大值时),训练就结束。此时,对训练集中的每个向量,感知器都能得到正确的输出向量
4.2 测试过程
如果输入一个不在训练集中的向量P,训练好的感知器(权值和偏置已确定)将输出一个结果,该结果与训练集中最类似P的那个向量的输出结果相似,即表现出一定的泛化能力。
5. 单层感知器的应用
-
单层感知器模型:只包含输入层与输出层,由两层神经元组成,输出层是M-P神经元,亦称“阈值逻辑单元”
用于分类:两类分类:一个输出节点;多类分类:多个输出节点
感知器特别适合解决简单的模式分类问题



单层感知器无法解决异或问题
6. 单层感知器的局限
-
由于感知器的激活函数采用的是阈值函数,输出矢量只能取0或1,所以只能用它来解决简单的分类问题
-
感知器仅能够线性地将输入矢量进行分类
-
当输入矢量中有一个数比其他数都大或小得很多时,可能导致较慢地收敛速度
7. 多层感知器
- 只需包含隐层,即可成为多层网络
7.1 多层感知器结构
7.2 多层感知器实现非线性
-
单层感知器虽然无法解决异或问题,但却可以通过将多个感知器组合,实现复杂空间的分割。

-
将两层感知器(单隐层)按照一定的结构和系数进行组合,第一层感知器实现两个线性分类器,把特征空间分割,而在这两个感知器的输出之上再加一层感知器,就可以实现异或运算。也就是,由多个感知器组合:

来实现非线性分类面,其中0(·)表示阶跃函数或符号函数
7.3 多层感知器实现异或问题

7.4 多层感知器研究瓶颈
- 双隐层感知器就足以解决任何的复杂的分类问题,但问题是:隐层的权值如何训练?感知器学习准则不可行,因为隐层节点不存在期望输出,故引出BP神经网络


浙公网安备 33010602011771号