我的人工神经网络-2 基础

上传人:mg****85 文档编号:56655703 上传时间:2018-10-14 格式:PPT 页数:45 大小:500.50KB
返回 下载 相关 举报
我的人工神经网络-2 基础_第1页
第1页 / 共45页
我的人工神经网络-2 基础_第2页
第2页 / 共45页
我的人工神经网络-2 基础_第3页
第3页 / 共45页
我的人工神经网络-2 基础_第4页
第4页 / 共45页
我的人工神经网络-2 基础_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《我的人工神经网络-2 基础》由会员分享,可在线阅读,更多相关《我的人工神经网络-2 基础(45页珍藏版)》请在金锄头文库上搜索。

1、第2章 人工神经网络基础,主要内容,生物神经网 人工神经元 单级神经网络结构 示例,生物体的神经系统,图1 生物体的神经元,根据一个简化的统计,人脑由百亿条神经组成 每条神经平均连结到其它几千条神经。通过这种连结方式,神经可以收发不同数量的能量。 神经的一个非常重要的功能是它们对能量的接受并不是立即作出响应,而是将它们累加起来,当这个累加的总和达到某个临界阈值时,它们将它们自己的那部分能量发送给其它的神经。 大脑通过调节这些连结的数目和强度进行学习。尽管这是个生物行为的简化描述。但同样可以充分有力地被看作是神经网络的模型。,根据生物神经系统的工作过程,我们可以大概理解以下这个图所要表达的含义:

2、,图2 生物体的神经系统工作原理,生活中的神经网络,大家可以想象这样一种情形:寒冷的冬天,我们伸手到火炉边烤火,慢慢地,你觉得自己快要睡着了,这个时候,突然发现自己伸在火炉边的手特别烫得疼,然后马上将手缩回去。,生活中的神经网络,这就是一个神经网络的工作实例,火对手产生的温度就是图2的输入层。(Input),而缩手或不缩手就是图2的输出层(Output)。 但是缩手只有在手的温度达到一定的程度才发生的,比如说40度。,数学解释,用图2来表示上面所说的情形: X1 = 火对手产生的温度 w1 =火对手产生的温度的权值(对火对手产生的温度的放大或是缩小,我们让这个值为1) 激活函数(Active

3、Function)= 如果 x1 * w1 40 激活(缩手),否则抑制(不缩手),这是单输入的情况,如果有多个输入,则输出为 f(x1 * w1 + x2 * w2 + x3 * w3 ) 其中,f(x)为激活函数。,示例,AND运算: 常用的求和运算,如:1 AND 0 = 0 OR运算: 常用的求并运算,如:1 OR 0 = 1,2个(多)输入的神经网络结构图,AND运算,其中f(x) = If (x = 2) return 1; Else return 0; 阈值为2 。,检验,我们可以利用这个结构图来检验一下是否正确: X1 = 0, x2 = 0, x = x1*w1 + x2*w

4、2 = 0 f(x) = 0;正确 X1 = 0, x2 = 1, x = x1*w1 + x2*w2 = 1 f(x) = 0;正确 X1 = 1, x2 = 0, x = x1*w1 + x2*w2 = 1 f(x) = 0;正确 X1 = 1, x2 = 1, x = x1*w1 + x2*w2 = 2 f(x) = 1;正确,OR运算,其中f(x) = If (x = 1) return 1; Else return 0; 阈值为1 。,2个(多)输入的神经网络结构图,我们可以利用这个结构图来检验一下是否正确: X1 = 0, x2 = 0, x = x1*w1 + x2*w2 = 0

5、 f(x) = 0;正确 X1 = 0, x2 = 1, x = x1*w1 + x2*w2 = 1 f(x) = 1;正确 X1 = 1, x2 = 0, x = x1*w1 + x2*w2 = 1 f(x) = 1;正确 X1 = 1, x2 = 1, x = x1*w1 + x2*w2 = 2 f(x) = 1;正确,生物神经网/人工神经网络 的基本特性,六个基本特征: 1)神经元及其联接; 2)神经元之间的联接强度决定信号传递的强弱; 3)神经元之间的联接强度是可以随学习改变的; 4)信号可以是起刺激作用的,也可以是起抑制作用的; 5)一个神经元接受的信号的累积效果决定该神经元的状态;

6、 6) 每个神经元可以有一个“阈值”。,学习,上面2个实例,就是我们需要建立的一个神经网络模型。 但是我们如何确定w1,w2和阈值呢? 这就需要通过神经网络来学习,从而确定w1,w2和阈值。,学习,拿计算AND运算的模型来说,需要2个输入1个输出是肯定的。关键就是如何确定2个输入的权值和激活函数的阈值。 为了计算激活函数的阈值,我们可以增加一个输入层,变成这个样子 :,其中f(x) = If (x = 2) return 1; Else return 0; 阈值让w3去定 。 原先的问题就转化成了求解w1, w2 ,w3的大小的问题了。,学习律(规则),我们制定这样的学习规律: W(i) =

7、W(i) + (正确值-实际计算的值)*x(i). 通过一定次数的训练,我们就可以让 (正确值-实际计算的值)变得相当下,这样最后的结果也就稳定了,同时求出了我们需要的w1, w2 ,w3的近似值。,实际执行过程,得到训练集合(合理的输入和期望的输出(如:输入x1=1,x2=1输出1) 随机给w1, w2,w3赋值 执行一定次数的训练,人工神经网络的学习,人工神经网络最具有吸引力的特点是它的学习能力。 1962年,Rosenblatt给出了人工神经网络著名的学习定理:人工神经网络可以学会它可以表达的任何东西。 人工神经网络的表达能力大大地限制了它的学习能力。 人工神经网络的学习过程就是对它的学

8、习过程,人工神经网络的学习,关联权值的确定 确定的内容权值wi和 确定的方式学习(训练)有监督的学习:已知一组正确的输入输出结果的条件下,神经网络依据这些数据,调整并确定权值;无监督的学习:只有输入数据,没有正确的输出结果情况下,确定权值。,无监督学习,无监督学习(Unsupervised Learning)与无监督学习(Unsupervised Training)相对应 抽取样本集合中蕴含的统计特性,并以神经元之间的联接权的形式存于网络中。,无监督学习,Hebb学习律、竞争与协同(Competitive and Cooperative)学习、随机联接系统(Randomly Connected

9、 Learning)等。 Hebb算法D. O. Hebb在1961年的核心: 当两个神经元同时处于激发状态时被加强,否则被减弱。 数学表达式表示: Wij(t+1)=Wij(t)+Vi(t)Vj(t),Hebb学习规则,如果两个神经元同时兴奋(即同时被激活),则它们之间的突触连接加强 a为学习速率,Vi, Vj为神经元i和j的输出 Hebb学习规则是人工神经网络学习的基本规则,几乎所有神经网络的学习规则都可以看作Hebb学习规则的变形,有监督学习,有监督学习(Supervised Learning)与有监督学习(Supervised Training)相对应。 输入向量与其对应的输出向量构成

10、一个“学习对”。 有监督学习的学习算法的主要步骤包括:1) 从样本集合中取一个样本(Ai,Bi);2) 计算出网络的实际输出O; 3) 求D=Bi-O;4) 根据D调整权矩阵W;5) 对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。,人工神经网络的学习,学习与工作的关系先学习再工作,阈值逻辑单元(Threshold Logic Unit,TLU),理解神经网络的第一步是从对抽象生物神经开始,并把重点放在阈值逻辑单元(TLU)这一特征上。一个 TLU 是一个对象,它可以输入一组加权系数的量,对它们进行求和,如果这个和达到或者超过了某个阈值,输出一个量。,阈值逻辑单元(Thres

11、hold Logic Unit,TLU),用符号标注这些功能: 输入值: X1, X2, ., Xn 权系数: W1, W2, ., Wn 激发层 a:求和计算出的 Xi*Wi ,即: a = (X1 * W1)+(X2 * W2)+.+(Xi * Wi)+.+ (Xn * Wn),阈值逻辑单元(Threshold Logic Unit,TLU),阈值: theta 输出结果: y 当 a =theta 时 y=1,反之 y=0。 注意:输出可以是连续的,因为它也可以由一个 squash 函数 s(或 sigma)判定,该函数的自变量是 a,函数值在 0 和 1 之间,y=s(a)。,/初始化

12、训练集合 TrainSet sets = new TrainSet new TrainSet(0, 0, 0), new TrainSet(0, 1, 0), new TrainSet(1, 0, 0), new TrainSet(1, 1, 1) ; /构造单层神经网络 2 个输入节点 1个输出节点 NeuralNetwork nn = new NeuralNetwork(2, 1); slnn = new SingleLayerNeuralNetworks(nn, sets); /训练 slnn.Train(); MessageBox.Show(“AND运算训练结束“); this.but

13、ton2.Enabled = true; this.button3.Enabled = true; this.button4.Enabled = true; this.button1.Enabled = true; this.Text = “AND运算“;,AND计算的总体运行过程,阈值逻辑单元,带有 sigma 函数(顶部)和 cutoff 函数(底部),激活函数(Activation Function),激活函数执行对该神经元所获得的网络输入的变换,也可以称为激励函数、活化函数: o=f(net) 1、线性函数(Liner Function) f(net)=k*net+c,非线性斜面函数(

14、Ramp Function), if net f(net)= k*net if |net|0为一常数,被称为饱和值,为该神经元的最大输出。,非线性斜面函数(Ramp Function),阈值函数(Threshold Function)阶跃函数, if net f(net)= - if net 、均为非负实数,为阈值 二值形式:1 if net f(net)=0 if net 双极形式:1 if net f(net)=-1 if net ,3、阈值函数(Threshold Function)阶跃函数,-,o,net,0,4、S形函数,压缩函数(Squashing Function)和逻辑斯特函数

15、(Logistic Function)。 f(net)=a+b/(1+exp(-d*net) a,b,d为常数。它的饱和值为a和a+b。 最简单形式为: f(net)= 1/(1+exp(-d*net)函数的饱和值为0和1。 S形函数有较好的增益控制,4、S形函数,这三个点正处在两个区间的中间,数学方程式无法判断。为此用人工神经网络判断。输入信号为x ,y。但要求取值都在0,1之间。由于x,y均在1.12.1,所有数都减去1.1,归一化就完成了。处理的基本思路是:自15个已知样品中找出规律,将此规律用于处理三个未确认的样本。解决实际问题时要根据具体情况确定隐含层的层数和输入层、隐含层、输出层各自的结点数,以使构成的网络达到最优效果。本例中,隐含层取1,输入结点数为2,分别代表触角与翼长;中间隐含层的结点数取3个就够了。输出的结点数取2,设Af样品的输出是(1,0);Apf的输出是(0,1)时为理想输出。由15个已知样品进行训练,选出合适的权值。对于任一未知样品,输出元后,和靠近(1,0)还是靠近(0,1)对比,就可以判断其归属了。,输入信号为x-1.1 ,y-1.1,Af样品的输出是(1,0);Apf的输出是(0,1)学习,检验,预测,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号