第2章 前馈型人工神经网络 M-P模型 感知机模型与学习算法 多层感知机网络 自适应线性单元与网络 非线性连续变换单元组成的前馈网络 BP算法 2.1 线性阈值单元组成的前馈网络 线性阈值单元: 输入 是一个 维实数矢量,权 也是一个 维实数矢量,阈值 是一个实数,而输出y是一个二值变量。综合在一起得: 2.1 线性阈值单元组成的前馈网络 M-P模型 M-P模型是由McCulloch和Pitts提出的,它是由固定的结构和权组成的,它的权分为兴奋型(1)和抑制型(-1),结构如下:
2.1 线性阈值单元组成的前馈网络 (i). “或”运算 2.1 线性阈值单元组成的前馈网络 (ii). “与”运算 2.1 线性阈值单元组成的前馈网络 (iii). “非”运算 (iv). “XOR(异或)”运算 2.1 线性阈值单元组成的前馈网络 实际上, M-P模型是无法实现XOR运算的,这从右图就可以清楚的看出。 M-P模型或网络的权、输入、 输出都是二值变量,这同用 逻辑门组成的逻辑式的实现 区别不大,又由于其权无法 调节,因而现在很少有人单 独使用。 2.1 线性阈值单元组成的前馈网络 2. 感知机组成的神经网络 感知机是M-P模型的的一种发展或推广: *非离散输入 *非离散权值 *权可以修正或学习 *建立了完整的学习算法 *多层感知机网络可以进行复杂的分类 *为BP网络发展提供了模型和理论基础 2.1 线性阈值单元组成的前馈网络 A. 单层感知机 2.1 线性阈值单元组成的前馈网络 (单个)感知机模型(权向量 ,阈值 ) 输入向量 输出值 其中
2.1 线性阈值单元组成的前馈网络 B. 感知机的功能与线性可分性 (i).对 的点进行二元分类,通过超平面
通过调整权值 和 ,可以得到不同的二元分类器。 (ii).给定一组样本及其分类结果: 能否自动求出二元分类器? 2.1 线性阈值单元组成的前馈网络 (iii). 线性可分性 若存在权向量 和阈值 使得 则称样本组 对于目标 是线性可分性。 显然,若 对 线性可分 性,它们的线性分割 面(超平面)存在无 穷多种。 2.1 线性阈值单元组成的前馈网络 C. 感知机学习算法 (1)给出初始权值 和阈值 ; (2)在时刻 ,选取样本 ; (3)计算实际输出: (4)修正权值和阈值: 其中 是 的目标输出, 为学习率,一般约为0.1。(当令 ,算法符合 学习律) 2.1 线性阈值单元组成的前馈网络 (5)返回到第(2)步,直到对所有样本 和 不再改变结束。 注:i). 和 不再改变也就意味着实际输出与理想输出是一致的,没有误差。 ii).权和阈值的初始值是随机选取的,按如下方式: 其中 是一个很小的正数。 iii).样本选取的顺序可以是随机的,也可以按某一固定的顺序,遍历所有的样本。 2.1 线性阈值单元组成的前馈网络 iv ). 感知机学习算法的统一格式:
我们在以后的分析中多采用这种统一格式。 2.1 线性阈值单元组成的前馈网络 D. 感知机学习算法的推导 感知机学习算法实际上是一种最小均方误差的梯度算法(Least Means Square---LMS)在感知机上的推广,下面我们来进行推导: 令 ,则有 对于输入: 线性单元的输出: 与目标值的误差: 2.1 线性阈值单元组成的前馈网络 采用向量符号,我们可以LMS算法如下: 因此,感知机学习算法是“线性单元”下的LMS算法在感知机学习上的应用。 而感知机本身却不能直接推导出LMS算法,为什么?然而, 感知机算法在一定条件下是收敛的。 2.1 线性阈值单元组成的前馈网络 E. 感知机学习算法的收敛性 定理2.1 若输入样本集 ,对于二元目标集 是线性可分的,感知机学习算法能够在有限步内收敛到正确的 。 证明:先将算法进行一些简化和处理: (1).若存在 使得 ,则必然存在 使得
因此我们可假定正确的权向量 满足上面的严格不等式。 2.1 线性阈值单元组成的前馈网络 2.1 线性阈值单元组成的前馈网络 (3).假设 为一个所求的权向量,并令 , 使得 ( 满足1 ) 并且权向量序列为: (4). 学习规则(实质性学习) 下面我们证明: 2.1 线性阈值单元组成的前馈网络 令: 则
另一方面,我们有 2.1 线性阈值单元组成的前馈网络 结合上面两个不等式得:
因此, 是有限的,算法必然在有限步内停止或收敛。证明完毕。 2.1 线性阈值单元组成的前馈网络 3. 多层感知机网络 A.非线性分类问题 2.1 线性阈值单元组成的前馈网络 B. 多层感知机的结构
2.1 线性阈值单元组成的前馈网络 C.非线性分类的多层感知机设计 考虑二维平面上点的非线性分类,则 。我们一般使用三层网络,即
每个隐单元是一个感知机, 也就是一个超平面,这些超平 面通过结合组成非线性分类区 域(超多面体)。 2.1 线性阈值单元组成的前馈网络 输出单元依逻辑单元表示: 2.1 线性阈值单元组成的前馈网络 D.感知机网络隐单元数的限 (i).隐单元数 的上限 假设样本集和目标为 。在输入空间上,存在 个样本,如果需要用 超平面划分输入空间并样本进行任意二元分类,则所需最大的隐单元数 满足: 2.1 线性阈值单元组成的前馈网络 下面我们验证存在这样的三层感知机网络能够实现分类目标。考虑 的矩阵 : 显然 是满秩的。矩阵中各列中1,-1表示对样本的分类, 表示分类结果不定。第 列对剩下的 个样本,找一个超平面,将一个样本与其它样本区分开,该样本处于正面,其它 2.1 线性阈值单元组成的前馈网络 处于负面。对于以前考虑过的样本则不管它们处于那面。这样只需 超平面(隐单元)就得到了 。令 ,则
故 。 (ii).隐单元数 的下限 隐单元所形成的超平面将输入空间划分成一些区域。例如,在二维空间上,三条直线将空间划分为一个封闭区域和21个开区域。但独立的区域仅有7个。 2.1 线性阈值单元组成的前馈网络 若让每个样本都落入一个独立的区域中,那么在每个样本输入时,对应的隐单元的输出是不同的,从而可以通过“与”、“或”的组合得到正确分类。这样,对 数的求解,就变成了求在 维空间中 的分割,能得到最大的区域数。在数学可得到独立区域数为: 2.1 线性阈值单元组成的前馈网络 那么,对 个样本进行分类则要求: 例如,在前面的图中, ,我们有 注意,这里的下限是从独立区域数的角度考虑的,未考虑分类结果,因此实际中某个分类问题所使用的隐单元数可能比上式得到的下限更小。 2.1 线性阈值单元组成的前馈网络 (iii). 根据隐单元数的上下限进行网络设计 *输入单元个数:输入空间的维数 *输出单元个数:根据分类的类别数。若是二元分类,只需一个输出单元;若是多个类别,先进行类别二元编码。所用的编码位数即是隐单元个数。 *隐单元数:根据样本个数,按其上限或下限公式确定。 *对XOR问题进行设计 2.1 线性阈值单元组成的前馈网络 XOR问题: 根据上限 : 根据下限 : 2.1 线性阈值单元组成的前馈网络 总结 *M-P模型可实现一些基本的逻辑运算。 *感知机可实现线性分类问题。 *感知机算法是收敛的。 *多层感知机网络可实现非线性分类问题。 *多层感知机网络的设计:隐单元数的限 2.1 线性阈值单元组成的前馈网络 作业 1. 证明XOR运算不能够由感知机来实现。 2. 采用感知机学习算法求解下面二元分类问题:
|