第4章 非线性分类器及神经网络

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⑶两层感知器模型 • 第一层隐层(hidden layer) 神经元完成第一阶段的计 算,是x到y的映射,即隐 层神经元作用是将输入X 空间映射到二维(因为二 个神经元)Y空间中单位边 长的正方形顶点上(00, 10, 10, 11) 。 • 第二层的一个神经元, 称 为输出层(output layer)完 成第二阶段计算, 输出分 类用判别函数的值。
§2 异或问题(XOR) • 异或布尔函数是非线性可分问题的典型例子。 将布尔函数理解为分类任务,即根据输入 x1、 x2的不同,输出为0(B类)或1(A类)。
• 图中给出了类在空间的位置。 一条直线不能将这两类分开。
• ―与” (AND)和“或” (OR)布尔函数是线性可分 的。
• 用一个感知器可实现“或门”或“与门”。 g 1 由感知器实现的决策面方程
⑴ BP算法推导 • 计算某一层的第j个单元,i和k分别为其前层和 后层的单元,Oj代表本层输出, netj为输入。 • 从前到后对每层各单元计算(正向算法) j 的输入 net j wijOi i j 的输出 O j f (net j ) ˆ j O j 为实际输出,yj为期望值 y • 对输出层而言,
a 称为惯性系数,为学习系数。
⑵反向传播算法步骤: • 初始化:设可调参数(每个权值和阈值)为均匀 分布的较小数,如±0.3 均匀分布随机数。 • 对每个样本作如下计算,直到收敛: ①输入一个样本 x =(x1,x2,..,xd) 即Oi ;输入网络 的期望输出yj,若输出为两个单元则 j =1, 2。 ②从前向后计算各层(正向),各神经元输出Oj
g( x) 3.218x1 0.241x2 1.431
• 对于非线性分类,选择一个合适的非线性判别 函数是很困难的,如图AD, BD, CD。 • 解决方法: ⑴神经网络 (即多层感知器)具有很强的 处理非线性的能力,适合非线性分类。 神经网络中要解决的主要问题: ①学习方法-目的修改权值,如反向传播算法。 ②网络结构-层数,每层神经元数及连接方式。 ③用支持向量机(网络)可得到最优分界面。 ⑵ 用树分类器进行多级决策。在树分类器上用线 性判别函数,就构成了一个分段线性分类器。 ⑶ 对一些特殊的问题可用二次判别函数。
net j wijOi i 1 Oj net 1 e j 输入
输出
③对输出层计算j j ( y Oj )Oj (1 Oj ), ????
④从后向前计算各隐层δj (反向) j O j (1 O j ) wik k ⑤计算并保存各权值修正量 wij (t ) awij (t 1) j Oi ⑥修正权值 wij (t 1) wij wij (t )
② j不是输出节点, Oj对后层的全部节点都有影响
E E netk O j j net j k netk O j net j k w jk f ' (net j )
k
• 在实际使用时,为了加快收敛速度,要加入前 一次的修正量 • 第t 次的实际修正量 wij (t ) j Oi awij (t 1)
三个神经元决策线的方程
1 0 2 3 g 2 ( x ) x1 x 2 0 2 1 g3 ( y ) y1 y 2 0 2 y g1 ( x ) x1 x 2
2
2. 两层感知器分类能力 ⑴隐层神经元: • d 维, 隐层有p个神经元,其作用是将输入X空 间映射到p维Y空间中单位边长的超立方体顶点 yi上,即输入空间到超立方体顶点的映射是通 过创建p个(gi=0)超平面实现的。 p维空间: {[ y1 ,, y p ]T R p , yi [0,1], 1 i p}
第4章 非线性分类器与神经网络
Nonlinear Classifiers and Neural Networks
§1 引言 §2 异或问题 §3 两层感知器 §4 反向传播算法 §5 径向基函数网络 §6 支持向量机 §7 其他非线性分类法 1. 分段线性分类器 2. 树状分类器 3. 二次判别函数
∪011∪111∪101
w1 ∈110
• 输出层组织输出。
3. 三层感知器 • 第一层的隐层神经元构成超平面。即将有类别 标记的训练样本集,先用分段线性算法gi (x)确 定一组超平面的参数(权值),超平面的数目就 是神经元数,设为p个。这就构成p维空间。 • 第二隐层有j个神经元,每个神经元在p维空间 中建立一个超平面。通过选择该层的权值,决 定这些超平面的组合和连接方式,构成区域。 • 第三层输出层的 神经元确定类别。 • 这种结构称为 j个 前馈神经网络。 p 个 d个
d d
f
⑵异或问题用两层感知器分两阶段解决 • 第一阶段输入x =[x1 x2]T ,输出新向量y=[y1 y2]T y1 y1相对于g1(x) 进行“或”运算 y2相对于g2(x) 进行“与”运算 y2 由第一隐层两个神经元实现。 • 第二阶段y=[y1 y2]T为输入,输出为类别。 g(y)由一个神经元实现。 g(y)= y1-y2-1/2=0
⑶例:两层感知器结构为2:3:1(d=2, p=3, j=1),用 分段线性方法将非线性两类分开。 • 第一隐层三个神经元有相同的输入x,由于gi (x) 的不同,有不同的输出。i=1,2,3。 • 其分类空间是三维的。gi (x)=0 建立的三个超 平面H1H2H3将d维特征空间分割成正负两个半空 间。 图中的三个超平面围成7个区域,共两类 (w1 w2) ,每个区域映射到超立方体顶点。 w2 ∈100∪000∪010
• 隐层作用,也可说是产生超平 面Hp的交集,即将输入拆分为 由超平面交集构成的多面体。 每个超平面由隐层中的一个神 经元实现,神经元输出为0或1。
d
• 设d=2, p=3。根据输入x与三个平面g1,2,3(x)=0 的相对位置,由平面交集定义的每个区域对应 的三维立方体的一个顶点。如100顶点对应的 区域为g1的(+)侧, g2的(-)侧, g3的(-)侧。 • 即将输入拆分为由超平面交集构成的多面体。 每个区域中所有向量映射到立方体(y1 y2 y3)的顶 点, yi∈0或1。 w1∈[011,001, 000]; y w2∈[111,010,110,100]。
• 三层网络可以实现任何复杂类型的映射。可以 证明,由于在分类空间中超立方体的凸性,对 于无论多么复杂的分类问题,一般来说用两个 隐层已足够。 • 图a单层感知器只能一个线性判别;图b两层感 知器中每个隐层神经元都有线性判别能力,就 可建立复杂的凸区域;图c三层感知器的前二 层已得到了超体立方,在第三层再次建立超平 面划分区域。 • 多层感知器简称 MLP。 Multi-Layer-Perceptron
1. 神经网络的学习方式: ⑴有监督学习 • 向网络输入训练样本,期望输出已知。比较实 际输出与期望输出之误差,该误差或准则函数 是权值的某种标量函数,使之达到最小,以使 每个输出单元的实际输出逼近期望值。这个过 程称为学习过程。 • 准则函数可用没有错分样本或最小均方差规则, 优化算法可采用梯度下降法。 • 学习方法:如果一节点输出正确,一切不变; 如果输出本应为1而为0,则权值增加一增量ΔW; 反之减少ΔW,如同感知器算法。
§1 引言 • 第3章讨论了由线性判别函数g(x)=WTx+w0=ATY描 述的线性分类器设计。从训练集样本得到权值W 和w0或者A。 • 若两类间是线性可分的,单层感知 器方法可计算出g(x)的权值。 例:第k+1次叠代得到的直线方程
g( x) 1.42x1 0.51x2 0.5
• 对于线性不可分的,线性分类器 的最优方法是使平方误差最小。 例:线性分类器的MSE方法
2. 反向传播算法(BP法)
Back-Propogation
用BP算法的网络也称为BP网络。 • 算法原理:从后向前逐层传播误差, 间接算出隐层 误差。采用最小二乘和梯度搜索法,以使实际输 出值与期望输出值之间的误差均方值最小。 • 工作信号:输入信号向后(正向)传播直到输出端, 是输入和权的函数。 后 • 误差信号:网络实际输出 前 与期望输出之差,由输出 端向前传播(反向) ,逐层 算出隐层误差,修改前一 层的权值,以使误差最小。
2
Hale Waihona Puke y1y3⑵输出神经元 • 超平面将超立方体分为两部分,一部分顶点位于 一侧,其余为另一侧。上例 d=2, p=3 则 该平面将三维几何空间 (R3 )分为两个区域: 一侧(类A)顶点是 000∪001∪011; 另一侧(类B)顶点是 010∪100∪110∪111。 而101不与任一区域对应。 平面方程 g(y)=-y1-y2+y3+0.5=0 • 两层感知器不能解决所有的问 题,如下列类域的分离: 类A- (000∪111∪110); 类B- (001∪011∪010∪100)。 这取决于每个神经元的gp(x)所构成的平面位置。
§3 反向传播算法
• 神经网络的输出取决于输入和连接的权值。 其工作过程主要分两个阶段: ①学习期-通过不断地学习修改权值。 ②工作期-权值确定后,可计算输出。 • 单层感知器可通过感知器算法进行学习,调整权 值,完成线性分类。它的输入是训练集的样本, 输出是期望值,对外是透明的。 • 多层感知器中的中间隐层学习算法,对外是不透 明的,隐层权值调整有困难。在20世纪80年代提 出了误差反向传播算法,来计算隐层的权值。
• j 单元分两种情况(反向计算) ① j是输出节点 O j y ˆj
ˆj E y ˆ j ) f ' (net j ) j ( y j y ˆ j net j y 1 ˆ j )2 其中 E ( y j y 2 j 1 Sigmoid函数 y f ( x ) 1 ex x e 其导数 f ' ( x ) y (1 y ) x 2 (1 e )

" OR"
g ( x ) x1 x2
1 " AND" g ( x ) x1 x2 1 0 2
2
0
• 异或(XOR)问题必须用两层感知器实现。
§2 两层感知器 • 一条直线不能解决异或问题,可用“或”和“与” 二条直线解决,即使用两层感知器来解决。 g1(x)= x1+x2-1/2=0 g2(x)= x1+x2-3/2= 0 二个神经元分别实现或和与运算。 • 二条直线将空间分成三个区域 g1(x) > 0 g2(x) < 0 (A类) g1(x) < 0 (B类) g2(x) > 0 • 因此,这个问题可分两阶段处理。
k
• t =t+1,输入新的样本(或新的周期样本),直到 误差达到要求,训练结束。训练时各周期中样 本的输入顺序要重新随机排序。 • 这是对每个样本作权值修正。也可对全部样本 计算j后求和,按总误差修正权值,称为批处 理方法。
⑶ 学习曲线 • 在训练开始误差很高,随着学习进展,误差越 来越小,由此生成学习曲线。误差与训练样本 的数量、网络输入、所有神经元的权值和阈值、 以及网络的结构有关。 • 测试集:独立选取的样本,误差达到或接近训 练集样本,则说明该网络有推广能力。 • 检验集:用非训练样本测试网络的现场运行性 能。 • 训练总量用回合数表示,每输入一次全部样本, 称为一个回合。将新的样本或老样本随机排序 后再输入,进行下一个回合的训练。
四类情况x属于第3类则目标输1111当训练集很小时可以构造一个虚拟的或替代的训练模式来使用建立概率模型就好像它们是从源分布中抽样出来的正常的训练模式在没有具体特定信息时一个自然的假设就是此代替模式应该加入一个d维噪声以获得真实的训练这种有噪声的训练方法实际上可用于任一分类方法尽管对于高度局部化的分类器如最近邻分类器它通常并不改善准确率bp算法的实用技术在训练模式不足的情况下有时可以人工制造一些训练样本需要利用问题的先验知识如某种几何不变性制造出一些能传达更多信息的训练样本数据变换
1 2 ˆ ( y y ) j j 2 j E 局部梯度 j net j E E net j j Oi 权值对误差影响 wij net j wij
定义误差 E
• 权值修正应使误差减少,修正量为 wij j Oi
wij (t 1) wij (t ) wij (t )
1. 两层感知器 ⑴两层感知器的结构 与单层感知器相比增加了一个隐层。 单层感知器结构 • 第一层为隐层,可由p个神经元组成。 所有隐层神经元输入节点 wi wi 为xi的d个特征,i=1,2,· · · ,d ; wi 权wi是要通过学习调整的参数; 每个神经元的输出yi不相同。 两层感知器结构 • 第二层为输出层,图中为一个神经元,输出 运算结果。 • 若输入节点称为输入层,则也称为三层网络。
相关文档
最新文档