神经网络――感知机.ppt
- 格式:ppt
- 大小:754.00 KB
- 文档页数:6
《神经⽹络与机器学习》第3讲感知机与学习规则神经⽹络与机器学习第3章感知机与学习规则§3.1 感知机的学习规则上⼀节中,区分橘⼦和苹果,是我们⼈为地划分⼀个决策边界,即⼀个平⾯,感知器的权矩阵和偏置向量也是事先给定,这⾮常地不"智能"。
我们能否找到⼀种根据输⼊数据⾃动调整权矩阵和偏置向量的学习算法?如何设定学习规则?这样的学习规则肯定能找到⼀个决策边界吗?感知机给我们提供了⼀个数学上可解析的,⾮常易于⼈们理解的⼀类重要神经⽹络模型。
感知机和现在发展和应⽤的很多⽹络相⽐那是⾮常简单,功能有限,但是在历史发展中却不容忽视。
F. Rosenblatt , "The perceptron: A probabilistic model for information storage and organization in the brain,"Psychological Review, 65: 386-408, 1958.Rosenblatt在1958年引⼊了⼀种学习规则,⽤来训练感知机完成模式识别问题,随机地选择权系数初值,将训练样本集合输⼊到感知机,那么⽹络根据⽬标和实际输出的差值⾃动地学习,他证明只要最优权矩阵存在,那么学习规则肯定能够收敛到最优值,学习速度快速可靠。
学习规则:就是更新⽹络权系数和偏置向量的⽅法,也称为训练算法。
学习规则的分类:有监督学习(有教师学习)事先具有⼀个训练集合\{(p_1,t_1),(p_2,t_2),\cdots,(p_N,t_N)\}p_n表⽰的是⽹络输⼊,t_n是正确的⽬标(target),有时候分类⾥称为"标签"。
学习规则不断地调节⽹络权系数和偏置向量,使得⽹络输出和⽬标越来越接近。
感知机的学习是有监督学习。
(2)⽆监督学习没有可参考的⽬标,仅仅依赖⽹络输出调节⽹络权系数和偏置向量。
⽆监督学习的核⼼,往往是希望发现数据内部潜在的结构和规律,为我们进⾏下⼀步决断提供参考。
深度学习基础——感知机转载⾃:神经⽹络如下图所⽰:上图中每个圆圈都是⼀个神经元,每条线表⽰神经元之间的连接。
我们可以看到,上⾯的神经元被分成了多层,层与层之间的神经元有连接,⽽层内之间的神经元没有连接。
最左边的层叫做输⼊层,这层负责接收输⼊数据;最右边的层叫输出层,我们可以从这层获取神经⽹络输出数据。
输⼊层和输出层之间的层叫做隐藏层。
感知器——神经⽹络的组成单元⼀个感知器有如下组成部分:举例:⽤感知器实现and函数我们设计⼀个感知器,让它来实现and运算。
程序员都知道,and是⼀个⼆元函数(带有两个参数x1和x2),下⾯是它的真值表:为了计算⽅便,我们⽤0表⽰false,⽤1表⽰true。
我们令w1=0.5,w2=0.5,b=-0.8,⽽激活函数就是前⾯写出来的阶跃函数,这时,感知器就相当于and函数。
输⼊真值表第⼀⾏,即x1=x2=0,则输出为:即当x1=x2=0时,y=0,这是真值表的第⼀⾏。
举例2:⽤感知器实现or函数同样,我们也可以⽤感知器来实现or运算。
仅仅需要把偏置项的值设置为-0.3就可以了。
我们验算⼀下,下⾯是or运算的真值表:我们来验算第⼆⾏,这时的输⼊是x1=0,x2=1,带⼊公式(1):也就是当时x1=0,x2=1为1,即or真值表第⼆⾏。
感知器的其他功能事实上,感知器不仅仅能实现简单的布尔运算。
它可以拟合任何的线性函数,任何线性分类或线性回归问题都可以⽤感知器来解决。
前⾯的布尔运算可以看作是⼆分类问题,即给定⼀个输⼊,输出0(属于分类0)或1(属于分类1)。
如下⾯所⽰,and运算是⼀个线性分类问题,即可以⽤⼀条直线把分类0(false,红叉表⽰)和分类1(true,绿点表⽰)分开。
然⽽,感知器却不能实现异或运算,如下图所⽰,异或运算不是线性的,你⽆法⽤⼀条直线把分类0和分类1分开。
感知器训练感知器训练算法:将权重项和偏置项初始化为0,然后,利⽤下⾯的感知器规则迭代的修改w i和b,直到训练完成。
人工神经网络大脑是由约100亿个高度互联的神经元组成的,这些神经元构成一个协同处理的复杂网络结构,即神经网络,成为认知的物质与生理基础。
人工神经网络是模拟大脑构建的计算模型,由大量模拟神经元的处理单元——人工神经元构成,形成一个大规模的非线性自适应系统,拥有学习、记忆、计算以及智能处理能力,可以在一定程度上模拟人脑的信息储存、检索和处理能力。
6.1 感知机6.1.1 感知机模型1957年康奈尔大学的Rosenblatt提出了感知机的概念。
感知机模拟生物神经元,接收一个或者多个输入,处理后输出一个结果。
图6-1是感知机的示意图。
图6-1 感知机示意图感知机可以有一到多个输入,每个输入带有一个权重w,用来表示该输入的i和b构成了感知机的参数集合。
感知机重要程度,每个感知机有一个偏置b,wi计算输入的线性组合(或者叫作预激活)并将其交予激活函数f(a)得到输出y。
激活函数用于模拟生物神经元的激活与非激活状态,通常采用阶梯函数、sigmoid函数和分段线性函数及其变体。
图6-2给出了几种激活函数的定义和图形。
图6-2 几种激活函数6.1.2 感知机学习策略依据训练样本的数据确定wi 和b(不区分的时候统一记为θi)值的过程就是感知机的学习过程,其学习算法基于误差驱动。
首先,将未经学习的θi设置为0或者很小的随机值,然后对训练集中的每个样本进行分类预测,并根据预测结果更新参数值。
参数更新依据式(6-1)进行。
其中是样本j的实际类别;yj (t)是样本j的本次预测类别;xji是样本j的第i个特征;η是控制学习速率的超参数,叫作学习率。
显然,如果预测正确-yj(t)=0,则参数不需要更新,否则更新参数,这种更新规则类似于梯度下降算法。
学习遍历训练集中的每个样本称为一个训练周期(Epoch)。
如果在一个训练周期内对所有样本都分类正确,则模型达到收敛状态,停止训练;否则,进入下一周期,直至模型收敛,或者达到最大训练周期数。