计算机潜意识- 单层神经网络(感知器)

1.引子  

  1958年,计算科学家Rosenblatt提出了由两层神经元组成的神经网络。他给它起了一个名字--“感知器”(Perceptron)(有的文献翻译成“感知机”,下文统一用“感知器”来指代)。

  感知器是当时首个可以学习的人工神经网络。Rosenblatt现场演示了其学习识别简单图像的过程,在当时的社会引起了轰动。

  人们认为已经发现了智能的奥秘,许多学者和科研机构纷纷投入到神经网络的研究中。美国军方大力资助了神经网络的研究,并认为神经网络比“原子弹工程”更重要。这段时间直到1969年才结束,这个时期可以看作神经网络的第一次高潮。

  2.结构

  下面来说明感知器模型。

  在原来MP模型的“输入”位置添加神经元节点,标志其为“输入单元”。其余不变,于是我们就有了下图:从本图开始,我们将权值w1, w2, w3写到“连接线”的中间。

  在“感知器”中,有两个层次。分别是输入层和输出层。输入层里的“输入单元”只负责传输数据,不做计算。输出层里的“输出单元”则需要对前面一层的输入进行计算。

  我们把需要计算的层次称之为“计算层”,并把拥有一个计算层的网络称之为“单层神经网络”。有一些文献会按照网络拥有的层数来命名,例如把“感知器”称为两层神经网络。但在本文里,我们根据计算层的数量来命名。

  假如我们要预测的目标不再是一个值,而是一个向量,例如[2,3。那么可以在输出层再增加一个“输出单元”。

  下图显示了带有两个输出单元的单层神经网络,其中输出单元z1的计算公式如下图。

图13 单层神经网络(Z1)

  可以看到,z1的计算跟原先的z并没有区别。

  我们已知一个神经元的输出可以向多个神经元传递,因此z2的计算公式如下图。

图14 单层神经网络(Z2)

  可以看到,z2的计算中除了三个新的权值:w4,w5,w6以外,其他与z1是一样的。

  整个网络的输出如下图。

图15 单层神经网络(Z1和Z2)

  目前的表达公式有一点不让人满意的就是:w4,w5,w6是后来加的,很难表现出跟原先的w1,w2,w3的关系。

  因此我们改用二维的下标,用wx,y来表达一个权值。下标中的x代表后一层神经元的序号,而y代表前一层神经元的序号(序号的顺序从上到下)。

  例如,w1,2代表后一层的第1个神经元与前一层的第2个神经元的连接的权值(这种标记方式参照了Andrew Ng的课件)。根据以上方法标记,我们有了下图。

图16 单层神经网络(扩展)

  如果我们仔细看输出的计算公式,会发现这两个公式就是线性代数方程组。因此可以用矩阵乘法来表达这两个公式。

  例如,输入的变量是[a1,a2,a3]T(代表由a1,a2,a3组成的列向量),用向量a来表示。方程的左边是[z1,z2]T,用向量z来表示。

  系数则是矩阵W(2行3列的矩阵,排列形式与公式中的一样)。

  于是,输出公式可以改写成:

g(W * a) = z;

  这个公式就是神经网络中从前一层计算后一层的矩阵运算。

  3.效果

  与神经元模型不同,感知器中的权值是通过训练得到的。因此,根据以前的知识我们知道,感知器类似一个逻辑回归模型,可以做线性分类任务。

  我们可以用决策分界来形象的表达分类的效果。决策分界就是在二维的数据平面中划出一条直线,当数据的维度是3维的时候,就是划出一个平面,当数据的维度是n维时,就是划出一个n-1维的超平面。

  下图显示了在二维平面中划出决策分界的效果,也就是感知器的分类效果。

图17 单层神经网络(决策分界)

  

  4.影响 

  感知器只能做简单的线性分类任务。但是当时的人们热情太过于高涨,并没有人清醒的认识到这点。于是,当人工智能领域的巨擘Minsky指出这点时,事态就发生了变化。

  Minsky在1969年出版了一本叫《Perceptron》的书,里面用详细的数学证明了感知器的弱点,尤其是感知器对XOR(异或)这样的简单分类任务都无法解决。

  Minsky认为,如果将计算层增加到两层,计算量则过大,而且没有有效的学习算法。所以,他认为研究更深层的网络是没有价值的。(本文成文后一个月,即2016年1月,Minsky在美国去世。谨在本文中纪念这位著名的计算机研究专家与大拿。)

  

  由于Minsky的巨大影响力以及书中呈现的悲观态度,让很多学者和实验室纷纷放弃了神经网络的研究。神经网络的研究陷入了冰河期。这个时期又被称为“AI winter”。

  接近10年以后,对于两层神经网络的研究才带来神经网络的复苏。

原文地址:https://www.cnblogs.com/klausage/p/10260946.html

时间: 2024-11-10 16:12:37

计算机潜意识- 单层神经网络(感知器)的相关文章

最简单的神经网络-感知器-python实现

import numpy as np import matplotlib.pyplot as plt X=np.array([[1,3,3], [1,4,3], [1,1,1]]) Y=np.array([1,1,-1]) W=(np.random.random(3)-0.5)*2 print(W) lr=0.11 n=0 O=0 def update(): global X,Y,W,lr,n n+=1 O=np.sign(np.dot(X,W.T)) W_C=lr*((Y-O.T).dot(X

单层感知器--matlab神经网络

单层感知器属于单层前向网络,即除输入层和输出层之外,只拥有一层神经元节点. 特点:输入数据从输入层经过隐藏层向输出层逐层传播,相邻两层的神经元之间相互连接,同一层的神经元之间没有连接. 感知器(perception)是由美国学者F.Rosenblatt提出的.与最早提出的MP模型不同,神经元突触权值可变,因此可以通过一定规则进行学习.可以快速.可靠地解决线性可分的问题. 单层感知器由一个线性组合器和一个二值阈值元件组成. 输入是一个N维向量 x=[x1,x2,...,xn],其中每一个分量对应一

基于感知器模型的线性神经网络

摘要:随着计算智的提出,人工神经网络也随之发展.目前业界考虑到把神经网络(NN)归类于人工智能(AI)可能不大合适,而归类于计算智能(CI)更能说明问题实质.进化计算.人工生命和模糊逻辑系统的某些课题,也都归类于计算智能.尽管计算智能与人工智能的界限并非十分明显,然而讨论它们的区别和关系是有益的,逻辑性的思维是指根据逻辑规则进行推理的过程:它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理:这一过程可以写成串行的指令,让计算机执行.然而,直观性的思维是将分布式存储的信息综

单层感知器

单层感知器是最基本的神经网络,采用hardlim或hardlim作为激活函数,下面是其拓扑结构: 该感知器有s个神经元,m个输入,n个输出,先给出一些定义: 为了方便表示,将样本向量的第一个分量设为1,p(n)=[1,p1(n),p2(n),...,pm(n)),与之对应地权值矩阵的第一列设为每个神经元对应的阈值W(n)=[b1(n),w11(n),w12(n),...w1m(n);b2(n),w21(n),w22(n),...w2m(n);...;bs(n),ws1(n),ws2(n),...

人工神经网络之感知器算法

感知器作为人工神经网络中最基本的单元,有多个输入和一个输出组成.虽然我们的目的是学习很多神经单元互连的网络,但是我们还是需要先对单个的神经单元进行研究. 感知器算法的主要流程: 首先得到n个输入,再将每个输入值加权,然后判断感知器输入的加权和最否达到某一阀值v,若达到,则通过sign函数输出1,否则输出-1. 为了统一表达式,我们将上面的阀值v设为-w0,新增变量x0=1,这样就可以使用w0x0+w1x1+w2x2+…+wnxn>0来代替上面的w1x1+w2x2+…+wnxn>v.于是有: 从

RBF神经网络学习算法及与多层感知器的比较

对于RBF神经网络的原理已经在我的博文<机器学习之径向基神经网络(RBF NN)>中介绍过,这里不再重复.今天要介绍的是常用的RBF神经网络学习算法及RBF神经网络与多层感知器网络的对比. 一.RBF神经网络学习算法 广义的RBF神经网络结构如下图所示: N-M-L结构对应着N维输入,M个数据中心点centers,L个输出. RBF 网络常用学习算法 RBF 网络的设计包括结构设计和参数设计.结构设计主要解决如何确定网络隐节点数的问题.参数设计一般需考虑包括3种参数:各基函数的数据中心和扩展常

神经网络入门回顾(感知器、多层感知器)

神经网络属于“连接主义”,和统计机器学习的理论基础区别还是很不一样. 以我自己的理解,统计机器学习的理论基于统计学,理论厚度足够强,让人有足够的安全感:而神经网络的理论更侧重于代数,表征能力特别强,不过可解释性欠佳. 这两个属于机器学习的两个不同的流派,偶尔也有相互等价的算法. 本文回顾神经网络最简单的构件:感知器.多层感知器. 感知器 感知器是二类分类的线性分类模型,将实例划分为正负两类的分离超平面(separating hyperplane),属于判别模型. 感知器基于线性阈值单元(Line

神经网络与人工智能No1-Rosenblatt感知器

     直入正题,首先要确定的是Rosenblatt感知器的应用范围是线性可分模型(通俗的讲就是在N维空间中存在一个超平面可以将整个模型一分为二)其作用就是分类,由一个具有可调突触权值和偏置的神经元组成. 模式:事务的标准样式. 感知器:感知器模型(神经元)+感知器算法(收敛). 建立在一个神经元上的感知器只能完成两类的模式分类,扩展多个神经元可完成多类的模式分类.

神经网络与机器学习笔记——Rosenblatt感知器

Rosenblatt感知器 感知器是用于线性可分模式(模式分别位于超平面两边)分类的最简单的神经网络模型,基本上由一个具有可调突触权值和偏置的神经元组成. Rosenblatt证明了当用来训练感知器的模式(向量)取自两个线性可分的类时,感知器算法是收敛的,并且决策面是位于两类之间的超平面.算法的收敛性称为感知器收敛定理.