神经网络分类器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 1 E ( y j y j ) N 1 j
i
E 定义局部梯度: j netj
net j 计算权值对误差的影响: E E j Oi wij net j wij
利用梯度下降原理
为使误差尽快减小,令修正量为: Δwij=-ησjOi wij(t+1)=wij(t)+ Δwij(t)
感知器算法步骤
置步数k=1,令增量C为常数,且C>0,分别赋予初始增广
权矢量w(1)的各分量较小的任意值。
输入训练模式 k,计算判别函数值wT(k)xk 调整增广权矢量,规则是:
x
如果wT(k)xk≤0, 则w(k+1)=w(k)+ Cxk 如果wT(k)xk>0, 则w(k+1)=w(k)
w(k ) 如果wT (k ) xk T w(k 1) w(k ) xk 如果wT (k ) xk T
取C=1(不失一般性,可分入样本中) xk中k为N个训练样本在多次反复迭代中的累积编号。
6、感知器算法在多类问题中的应用
多类问题分类途径 只考虑第三种情况: 如果di(x) >dj(x) 任意 j≠ i ,则判x∈ωi 算法步骤: (1)赋初值,分别给c个权矢量wi(1)(i=1,2,…c)赋任意的 初值,选择正常数ρ ,置步数k=1. (2)输入符号未规范化的增广训练模式xk, xk∈{x1, x2… xN} ,计算c个判别函数:di(xk) =wi’(k) xk(i=1,2,…c) (3)调整增广权矢量,规则是:
5.2.1 前馈神经网络及其主要方法
前馈神经网络:各神经元接受前级输入,并输出到下一级, 无反馈,可用一有向无环图表示。 前馈网络通常分为不同的层,第i层的输入只与第i-1层的输 出联接。 可见层:输入层和输出层 隐层:中间层
例:感知器
双层神经网络:一层为输入层,另 一层有计算单元;
双曲正切函数: f ( x) th( x)
2 1 2 x 1 e
无限次可微
权值很小时接 近线性函数 权值很大时 接近阈值函 数
非线性,单调性
3、感知器模型
f 为阈值函数:
y f ( wi xi )
i 1
n
y sgn( wi xi )
i 1
n
设阈值:θ=-ω0 W=(ω1,ω2, … ,ωn,ω0)T X=(x1, x2, … , xn, 1)T
如果k<N,令k=k+1,返至第二步。如果k=N,则检验判别
函数wTx对x1, x2,…, xN,是否都能正确分类。若是,结束; 若不是,令k=1,返至第二步
例1:试用感知器算法求出下列两类的判别函数。 ω1:{(0,0)T,(0,1)T}, ω2:{(1,0)T,(1,1)T},
上机作业三: ω1=(x1,x2)={(1,0,1),(0,1,1)} ω2=(x3,x4)={(1,1,0),(0,1,0)} 使用感知器算法给出区分两类模式的判别函数。
1 e
神经元的学习算法 Hebb学习规则: 如果神经元ui接收来自另一神经元uj的输出,则当这两个神 经元同时兴奋时,从uj到ui的权值wij就得到加强,可写成:
wi j y xi
式中Δwij为到uj的第i个权值的修正量,η为控制修正速度的系 数。“修正”为“增强”或“减弱”的概念,不局限于代数 的“加”或“减”。
修正权值w: wi j (k 1) wij (k ) ( yi (k ) yi (k )) xi (k ) 式中k为迭代次数。i=1,2,…,n j=1,2,…,m 反复依次输入训练集中的特征向量x,计算实际输出值,并修正 权向量 与线性判别函数等价,只解决线性可分问题,收敛速度快
(4)如果k<N,令k=k+1,返至(2)。如果k=N,则检验判别 函数wi’x对x1, x2… xN,是否都能正确分类。若是,结束; 若不是,令k=1,返至(2)
例2:已知训练样本(0,0)’属于ω1类,(1,1)’属于ω2类,( -1, 1)’属于ω3类,试求解向量w1*, w2* , w3*
实验四:实验所用样本数据如表给出,编制程序实现ω1、ω2、 ω3、ω4类的分类。
7、感知器算法推广
由感知器算法:
w(k ) wT (k ) xk 0 w(k 1) w(k ) c xk wT (k ) xk 0
进一步:将cxk变为对分类错误敏感的准则函数J(w, x) 定义: w(k 1) w(k ) c J
若单元j为输出单元: O j y j
j
E
t为迭代次数
y j net j
yj
( y j y j ) f ' (net j )
若单元j不是输出单元,则Oj会影响后层所有单元,有:
三层前馈神经网络
用三层前馈神经网络实现逻辑门 例:与非门(NAND)
x1, x2∈{-1,1}
f ( w x) sgn(w x)
T T
1 wT x 0 1 wT x 0
y∈{-1,1}
用前馈神经网络实现“与非门”,可组成任何逻辑函数
三层神经网络实现非线性分类 例:异或(XOR) 任何一个逻辑电路都可以只用XOR门来实现, XOR是通用门
自学习 自适应 并行处理 分布表达与计算
神经网络的应用 神经网络本质上可以理解为函数逼近,可以应用到众多领域:
优化计算 信号处理 智能控制 模式识别 机器视觉等
常用输出函数: 线性输出函数:a=f (x)=x 1 Sigmoid 函数:a f ( x) x
1、反向传播算法
三层前馈网络的使用范围大大超过二层前馈网络,但学习
方法较为复杂,主要困难是中间的隐层不直接与外界连接, 无法直接计算其误差。
反向传播算法:从后向前反向逐层“传播”输出层的误差,
以间接算出隐层误差。分两个阶段:
正向过程:从输入层经隐层逐层正向计算各单元的输出 反向过程:由输出层误差逐层反向计算隐层各单元的误 差,并用此误差修正前层的权值 用已知类别的特征向量为训练集,当输入属于第j类的特 征向量时,应使输出yj=1,其他输出为-1;设期望的输出 T,实际输出为: 为:Y=[y1,y2,…,yn] Y [ y1 , y2 ,... yn ]T
二、人工神经元
1、生物神经元 典型的神经元,即神经细胞结构:胞体、树突、轴突、突触
胞体:神经细胞的本体,完成普通细胞的生存功能。 树突:有大量的分枝,接受来自其他神经元的信号。
轴突:用以输出信号。
突触:神经元相联系的部位,对树突的突触为兴奋性的,使 下一个神经元兴奋;对胞体的突触为抑制性的,阻止下一个 神经元兴奋。
某一层第j个计算单元:
i:前一层的第i个计算单元 k:后一层的第k个计算单元 Oj:本层的第j个计算单元的输出 wij:前一层第i个单元到本层第j个单元的权值
正向过程: 输入某样本时,从前到后对每个神经元计算: netj wi j Oi 对输出层, y j O j 是实际输出值,yj是期望输出值,误差为:
如果xk∈ωi和di(xk)> dj(xk) (任意j ≠ i),则: wi(k+1)=wi(k) (i=1,2,…c)
如果xk∈ωi和dl(xk)
≥ di(xk) (l≠ i)则: wi(k+1)=wi(k)+ρxk wl(k+1)=wl(k)-ρxk wj(k+1)=wi(k)(任意j ≠ l, i)
实线:+ 虚线:数字:权值
单个阈值神经元可实现任意多输入的与、或、与非、或非门 任何逻辑函数可用一个三层前馈网络实现
有4个模式,要分为2类:
பைடு நூலகம்
适当选取神经元的输出函数,两层前馈神经网络可以逼 近任意的多元非线性函数 若有足够多的隐单元,任何从输入到输出的连续函数都 可以用一个这样的三层网络任意精度近似
4、感知器训练算法
算法描述 用样本训练时,若x∈ωi,g(x)>0,则w不变。
若g(x)<0,则修改w,直到所有样本都满足条 件为止。
通过上面的定义,感知器问题变成wi/wj两类问题。因此,感 知器的自组织、自学习思想可以用于确定性分类器的训练— —感知器训练方法。
初始化:
给定一个训练模式集{x1, x2,…xN},其中每个类别已知, 它们分属于ω1,ω2。 xi=(xi1, xi2,…xin)T为n维向量,增广为(n+1)维向量:xi= (xi1, xi2,…xin,1) ω2类样本乘以-1。 权向量w为(n+1)维向量。
2、人工神经元 人工神经元模型: xi:输入,神经元的输入值 ωi:权值,突触的连接强度 f :输出函数,非线性函数 y :输出 神经元动作: wi xi net
i 1 n
y f (net )
常用输出函数: 阈值函数: f ( x) sgn( x)
阶跃函数: f ( x) step( x)
w(k ) c{ J ( w, x) }w w( k ) w
梯度下降准则
5.2 神经网络分类器 感知机Perceptron (Rosenblatt 1958) Adaline(Widrow and Hoff) 《Perceptron》 (Minsky & Papert, 1969) Hopfield模型 (Hopfield,1982) 多层感知机MLP与反向传播算法BP (Rumelhart, 1986) 神经网络的特点
1 W T x 0 i TX) 即: y =f (WTX) x 则:y=sgn (W T 1 W x 0 j
这种神经元没有内部状态的转变,而且函数为阈值型。因此, 它实质上是一种线性阈值计算单元。 感知器是一个具有单层计算单元的人工神经网络。感知器训 练算法就是由这种神经网络演变来的。 感知器算法能够通过对训练模式样本集的“学习”得出判别 函数的系数解。
50年代,研究类似于神经网络的分布系统。
50年代末提出感知模型,把神经网络的实现付诸工程实践。 1982年,提出神经网络的数学模型,引入了能力的概念,研 究了网络的动力学特性;设计出用电子线路实现网络的方案, 大大促进了神经网络的研究。 1986年,提出多层感知器的反向传播算法。 现在神经网络的应用已渗透到智能控制、信号处理、优化计 算、生物医学工程等领域。
神经元的基本工作机制:
神经元的两种工作状态:兴奋和抑制。 动态极化原则:在每一个神经元中,信息以预知的确定方
向流动,即从神经元的接收信息部分传到轴突的电脉冲起 始部分,再传到轴突终端的突触,以与其它神经元通信。
连接的专一性原则:神经元之间无细胞质的连续,神经元
不构成随机网络,每一个神经元与另一些神经元构成精确 的联接。 信号的传递过程: 接受兴奋电位; 信号的汇集和传导; 信号的输出。
5、感知器算法收敛性分析 收敛定理:如果训练模式是线性可分的,感知器训练算法在 有限次迭代后便可以收敛到正确的解矢量w* 设: w*为权向量的解,则它具有下式的性质:
w*T xi 0 w*T xi T i 1,2,...N i 1,2,...N
若将式中阈值0改为一非负值T,则变为更一般的形式: 感知器算法可写成:
三层或三层以上的前馈网络通常被叫做多层感知器(MLP)
MLP的适用范围大大超过单层网络
多层前馈网络
双层网络→一个线性边
界
三层或三层以上→任意
决策边界 存在问题:
未给出隐单元数目 未给出权值 仅根据训练样本,很难
知道应该有什么形式的 界面函数
实际设计过程中还有很
多问题
第五章 神经网络分类器
5.1 感知器算法 5.2 神经网络分类器
5.1 感知器算法 一、引言 模式识别与人工智能是研究如何利用计算机实现人脑的一些 功能。
人工神经网络研究的发展: 1943年,提出形式神经元的数学模型,人工神经网络研究的 开端。
1949年,提出神经元的学习准则,为神经网络的学习算法奠 定了基础。
i
E 定义局部梯度: j netj
net j 计算权值对误差的影响: E E j Oi wij net j wij
利用梯度下降原理
为使误差尽快减小,令修正量为: Δwij=-ησjOi wij(t+1)=wij(t)+ Δwij(t)
感知器算法步骤
置步数k=1,令增量C为常数,且C>0,分别赋予初始增广
权矢量w(1)的各分量较小的任意值。
输入训练模式 k,计算判别函数值wT(k)xk 调整增广权矢量,规则是:
x
如果wT(k)xk≤0, 则w(k+1)=w(k)+ Cxk 如果wT(k)xk>0, 则w(k+1)=w(k)
w(k ) 如果wT (k ) xk T w(k 1) w(k ) xk 如果wT (k ) xk T
取C=1(不失一般性,可分入样本中) xk中k为N个训练样本在多次反复迭代中的累积编号。
6、感知器算法在多类问题中的应用
多类问题分类途径 只考虑第三种情况: 如果di(x) >dj(x) 任意 j≠ i ,则判x∈ωi 算法步骤: (1)赋初值,分别给c个权矢量wi(1)(i=1,2,…c)赋任意的 初值,选择正常数ρ ,置步数k=1. (2)输入符号未规范化的增广训练模式xk, xk∈{x1, x2… xN} ,计算c个判别函数:di(xk) =wi’(k) xk(i=1,2,…c) (3)调整增广权矢量,规则是:
5.2.1 前馈神经网络及其主要方法
前馈神经网络:各神经元接受前级输入,并输出到下一级, 无反馈,可用一有向无环图表示。 前馈网络通常分为不同的层,第i层的输入只与第i-1层的输 出联接。 可见层:输入层和输出层 隐层:中间层
例:感知器
双层神经网络:一层为输入层,另 一层有计算单元;
双曲正切函数: f ( x) th( x)
2 1 2 x 1 e
无限次可微
权值很小时接 近线性函数 权值很大时 接近阈值函 数
非线性,单调性
3、感知器模型
f 为阈值函数:
y f ( wi xi )
i 1
n
y sgn( wi xi )
i 1
n
设阈值:θ=-ω0 W=(ω1,ω2, … ,ωn,ω0)T X=(x1, x2, … , xn, 1)T
如果k<N,令k=k+1,返至第二步。如果k=N,则检验判别
函数wTx对x1, x2,…, xN,是否都能正确分类。若是,结束; 若不是,令k=1,返至第二步
例1:试用感知器算法求出下列两类的判别函数。 ω1:{(0,0)T,(0,1)T}, ω2:{(1,0)T,(1,1)T},
上机作业三: ω1=(x1,x2)={(1,0,1),(0,1,1)} ω2=(x3,x4)={(1,1,0),(0,1,0)} 使用感知器算法给出区分两类模式的判别函数。
1 e
神经元的学习算法 Hebb学习规则: 如果神经元ui接收来自另一神经元uj的输出,则当这两个神 经元同时兴奋时,从uj到ui的权值wij就得到加强,可写成:
wi j y xi
式中Δwij为到uj的第i个权值的修正量,η为控制修正速度的系 数。“修正”为“增强”或“减弱”的概念,不局限于代数 的“加”或“减”。
修正权值w: wi j (k 1) wij (k ) ( yi (k ) yi (k )) xi (k ) 式中k为迭代次数。i=1,2,…,n j=1,2,…,m 反复依次输入训练集中的特征向量x,计算实际输出值,并修正 权向量 与线性判别函数等价,只解决线性可分问题,收敛速度快
(4)如果k<N,令k=k+1,返至(2)。如果k=N,则检验判别 函数wi’x对x1, x2… xN,是否都能正确分类。若是,结束; 若不是,令k=1,返至(2)
例2:已知训练样本(0,0)’属于ω1类,(1,1)’属于ω2类,( -1, 1)’属于ω3类,试求解向量w1*, w2* , w3*
实验四:实验所用样本数据如表给出,编制程序实现ω1、ω2、 ω3、ω4类的分类。
7、感知器算法推广
由感知器算法:
w(k ) wT (k ) xk 0 w(k 1) w(k ) c xk wT (k ) xk 0
进一步:将cxk变为对分类错误敏感的准则函数J(w, x) 定义: w(k 1) w(k ) c J
若单元j为输出单元: O j y j
j
E
t为迭代次数
y j net j
yj
( y j y j ) f ' (net j )
若单元j不是输出单元,则Oj会影响后层所有单元,有:
三层前馈神经网络
用三层前馈神经网络实现逻辑门 例:与非门(NAND)
x1, x2∈{-1,1}
f ( w x) sgn(w x)
T T
1 wT x 0 1 wT x 0
y∈{-1,1}
用前馈神经网络实现“与非门”,可组成任何逻辑函数
三层神经网络实现非线性分类 例:异或(XOR) 任何一个逻辑电路都可以只用XOR门来实现, XOR是通用门
自学习 自适应 并行处理 分布表达与计算
神经网络的应用 神经网络本质上可以理解为函数逼近,可以应用到众多领域:
优化计算 信号处理 智能控制 模式识别 机器视觉等
常用输出函数: 线性输出函数:a=f (x)=x 1 Sigmoid 函数:a f ( x) x
1、反向传播算法
三层前馈网络的使用范围大大超过二层前馈网络,但学习
方法较为复杂,主要困难是中间的隐层不直接与外界连接, 无法直接计算其误差。
反向传播算法:从后向前反向逐层“传播”输出层的误差,
以间接算出隐层误差。分两个阶段:
正向过程:从输入层经隐层逐层正向计算各单元的输出 反向过程:由输出层误差逐层反向计算隐层各单元的误 差,并用此误差修正前层的权值 用已知类别的特征向量为训练集,当输入属于第j类的特 征向量时,应使输出yj=1,其他输出为-1;设期望的输出 T,实际输出为: 为:Y=[y1,y2,…,yn] Y [ y1 , y2 ,... yn ]T
二、人工神经元
1、生物神经元 典型的神经元,即神经细胞结构:胞体、树突、轴突、突触
胞体:神经细胞的本体,完成普通细胞的生存功能。 树突:有大量的分枝,接受来自其他神经元的信号。
轴突:用以输出信号。
突触:神经元相联系的部位,对树突的突触为兴奋性的,使 下一个神经元兴奋;对胞体的突触为抑制性的,阻止下一个 神经元兴奋。
某一层第j个计算单元:
i:前一层的第i个计算单元 k:后一层的第k个计算单元 Oj:本层的第j个计算单元的输出 wij:前一层第i个单元到本层第j个单元的权值
正向过程: 输入某样本时,从前到后对每个神经元计算: netj wi j Oi 对输出层, y j O j 是实际输出值,yj是期望输出值,误差为:
如果xk∈ωi和di(xk)> dj(xk) (任意j ≠ i),则: wi(k+1)=wi(k) (i=1,2,…c)
如果xk∈ωi和dl(xk)
≥ di(xk) (l≠ i)则: wi(k+1)=wi(k)+ρxk wl(k+1)=wl(k)-ρxk wj(k+1)=wi(k)(任意j ≠ l, i)
实线:+ 虚线:数字:权值
单个阈值神经元可实现任意多输入的与、或、与非、或非门 任何逻辑函数可用一个三层前馈网络实现
有4个模式,要分为2类:
பைடு நூலகம்
适当选取神经元的输出函数,两层前馈神经网络可以逼 近任意的多元非线性函数 若有足够多的隐单元,任何从输入到输出的连续函数都 可以用一个这样的三层网络任意精度近似
4、感知器训练算法
算法描述 用样本训练时,若x∈ωi,g(x)>0,则w不变。
若g(x)<0,则修改w,直到所有样本都满足条 件为止。
通过上面的定义,感知器问题变成wi/wj两类问题。因此,感 知器的自组织、自学习思想可以用于确定性分类器的训练— —感知器训练方法。
初始化:
给定一个训练模式集{x1, x2,…xN},其中每个类别已知, 它们分属于ω1,ω2。 xi=(xi1, xi2,…xin)T为n维向量,增广为(n+1)维向量:xi= (xi1, xi2,…xin,1) ω2类样本乘以-1。 权向量w为(n+1)维向量。
2、人工神经元 人工神经元模型: xi:输入,神经元的输入值 ωi:权值,突触的连接强度 f :输出函数,非线性函数 y :输出 神经元动作: wi xi net
i 1 n
y f (net )
常用输出函数: 阈值函数: f ( x) sgn( x)
阶跃函数: f ( x) step( x)
w(k ) c{ J ( w, x) }w w( k ) w
梯度下降准则
5.2 神经网络分类器 感知机Perceptron (Rosenblatt 1958) Adaline(Widrow and Hoff) 《Perceptron》 (Minsky & Papert, 1969) Hopfield模型 (Hopfield,1982) 多层感知机MLP与反向传播算法BP (Rumelhart, 1986) 神经网络的特点
1 W T x 0 i TX) 即: y =f (WTX) x 则:y=sgn (W T 1 W x 0 j
这种神经元没有内部状态的转变,而且函数为阈值型。因此, 它实质上是一种线性阈值计算单元。 感知器是一个具有单层计算单元的人工神经网络。感知器训 练算法就是由这种神经网络演变来的。 感知器算法能够通过对训练模式样本集的“学习”得出判别 函数的系数解。
50年代,研究类似于神经网络的分布系统。
50年代末提出感知模型,把神经网络的实现付诸工程实践。 1982年,提出神经网络的数学模型,引入了能力的概念,研 究了网络的动力学特性;设计出用电子线路实现网络的方案, 大大促进了神经网络的研究。 1986年,提出多层感知器的反向传播算法。 现在神经网络的应用已渗透到智能控制、信号处理、优化计 算、生物医学工程等领域。
神经元的基本工作机制:
神经元的两种工作状态:兴奋和抑制。 动态极化原则:在每一个神经元中,信息以预知的确定方
向流动,即从神经元的接收信息部分传到轴突的电脉冲起 始部分,再传到轴突终端的突触,以与其它神经元通信。
连接的专一性原则:神经元之间无细胞质的连续,神经元
不构成随机网络,每一个神经元与另一些神经元构成精确 的联接。 信号的传递过程: 接受兴奋电位; 信号的汇集和传导; 信号的输出。
5、感知器算法收敛性分析 收敛定理:如果训练模式是线性可分的,感知器训练算法在 有限次迭代后便可以收敛到正确的解矢量w* 设: w*为权向量的解,则它具有下式的性质:
w*T xi 0 w*T xi T i 1,2,...N i 1,2,...N
若将式中阈值0改为一非负值T,则变为更一般的形式: 感知器算法可写成:
三层或三层以上的前馈网络通常被叫做多层感知器(MLP)
MLP的适用范围大大超过单层网络
多层前馈网络
双层网络→一个线性边
界
三层或三层以上→任意
决策边界 存在问题:
未给出隐单元数目 未给出权值 仅根据训练样本,很难
知道应该有什么形式的 界面函数
实际设计过程中还有很
多问题
第五章 神经网络分类器
5.1 感知器算法 5.2 神经网络分类器
5.1 感知器算法 一、引言 模式识别与人工智能是研究如何利用计算机实现人脑的一些 功能。
人工神经网络研究的发展: 1943年,提出形式神经元的数学模型,人工神经网络研究的 开端。
1949年,提出神经元的学习准则,为神经网络的学习算法奠 定了基础。