多层感知器-1|学习笔记

简介: 快速学习多层感知器-1

开发者学堂课程【神经网络概览及算法详解多层感知器-1】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/40/detail/926


多层感知器-1

 

内容介绍:

一、多层感知器

二、多层感知器实现异或XOR

 

一、多层感知器

在上一章的单层感知器,了解到了单层感知器的一些特点单层感知器不能去处理线性不可分的问题比如异或异或问题如何解决?可以把异或的逻辑表达式通过非、或这种简单的逻辑表达形式表示一个式子,然后通过设计把表达式通过逻辑电路计算机模拟神经网络模式实现,就可以解决异或的问题结果实际上已经不再是单而是在单层感知器的基础上增加了一些层。增加了一些之后,就变成了多层感知器

1. 概念

层感知器(Multi Layer Perceptron,即MLP)是一种前馈人工神经网络模型,包含至少一个隐藏层,对于层感知器共分为两层一个是输入层,一个是输出层多层感知器就在输入层和输出层之间增加了一个或多个隐藏层,然后输入的数据集映射到单一的输出的数据集上

2.区别

如下所示与单层感知器相比,多层感应器多隐藏层,图中了一个隐藏层。

image.png

(1)单和多是指具有计算功能的节点的输入层只是接受一个输入信号,它不对输入信号进行任何处理所以他不具备任何的计算功能

(2)输出层肯定是具备计算功能的,会把输入的值与权重相乘再相加,从而得到一个净输出如果有激活函数的话,还要用激活函数用到输出值上得到最终的结果,所以是有计算功能的

(3)隐藏也具有计算功能,对于单层感知器来说,只有一有计算功能的层的感知器模型就叫做单层感知器。有多层的超过一层的,叫多层感知器

(4)层只能学习线性函数多层可以学习非线性适用于模式识别,图像处理,函数逼近等领域。比如给出一系列特征X=(x1,x2,…)和目标Y,一个多层感知器可以以分类或者回归为目的,学习到特征和目标之间的关系。简单的理解就是,分类,输出为离散值回归,输出为连续值

 

二、多层感知器实现异或XOR

1. 多层感知器实现异或的例子

(1)如下图所示,首先看样本,输入为X1 X2有两个向量,这个向量有两个分量,其结果要么是0,要么是1,就对X1,X2求异或得到一个结果X1和X2相等的时候,都为0结果就是0或者都为1结果也为0。如果X1和X2不相等,像中间这两条一个是01,一个是10的时候,它的结果都是1。

image.png

X1 X2两个分量画在一个二维的坐标系,(0,0)(1,1)用红颜色来表示,0110是一类,用蓝颜色来表示

image.png

(2)然后给它建立一个多层感知器MLP(如下图),这个感知器的结构也比较简单,一个输入层一个隐藏一个输出,或者也叫单隐层层感知器。其中输入变量X1,X2,另外还有bias偏置,隐藏是两个节点,但是也加了个bias,最后输出值是O1输出值只有一个分因为输出是个向量,它只有一个分量,只不过分量的取值可以为0,也可以为1,而不是输出两个分量

image.png

(3)然后用四个样本这个模型进行训练,得到一组参数。如图,W01权重值给出,bias就是图中的b都已给出。接下来就用这个模型来验证一下我们要写公式。

image.pngimage.png

(4)举个例子式子中f1(x)就是图中自上而下第一个标红节点,这个节点的输入有三个,以从bias节点过来的输入为例,b为-1bias节点到要的节点的权重就是w01代入式子中可得结果为-0.5。同理,X1,X2分别代入式子中,可得表达式f1(x)=sign(-x1+x2-0.5)。W11就是此节点的输出值,同理可以算出第二个标红的节点的输出值。

image.png

(5) 输出节点o1,这个节点它的输出的表达式是什么?就是俩个标红节点的输出加上bias的输出,因为w01等于0,所以这一项就没有了,对这个结果呢,再去使用函数sign,就可以得到最终的输出我们按照这个公式分别来算,第一条为例,X1=0,X2=0,中间这一项就是-0.5,那它的值就是0,对于f2X1=0 X2=0加上-0.5,结果是小于0的,所以它的也是0,整个的输出就是这0。同理我们可以对余下三条进行验证,结果如下图。

image.png

(6) 所有的结果都与预期结果一致,如果在二维空间里去分类,每一个感知器都是一条直线,可以用一条直线可以去划分,X1+X2-5=0和X1-X2-0.5=0,这是一个标准的直线的方程,我们在二维空间里把它画出来,通过这两条线就可以把数据分开。正常求出来的参数模型有很多种,只要是划两条直线可以分开即可。

如下图:

 image.png

相关文章
|
机器学习/深度学习 数据可视化 算法
前馈神经网络--Rosenblatt感知器模型结构和实现代码
本文基于深度学习中的感知器,了解一下Rosenblatt感知器的原理和可视化展示。
196 0
|
机器学习/深度学习 编解码 算法
【Pytorch神经网络理论篇】 32 PNASNet模型:深层可分离卷积+组卷积+空洞卷积
PNASNet模型是Google公司的AutoML架构自动搜索所产生的模型,它使用渐进式网络架构搜索技术,并通过迭代自学习的方式,来寻找最优网络结构。即用机器来设计机器学习算法,使得它能够更好地服务于用户提供的数据。该模型在ImageNet数据集上Top-1准确率达到82.9%,Top-5准确率达到96。2%,是目前最好的图片分类模型之一。
182 0
|
机器学习/深度学习 传感器 算法
【BP分类】基于反向传播的多层感知器神经网络附matlab代码
【BP分类】基于反向传播的多层感知器神经网络附matlab代码
|
机器学习/深度学习 算法 开发者
单层感知器-3|学习笔记
快速学习单层感知器-3
85 0
单层感知器-3|学习笔记
|
机器学习/深度学习 算法 Serverless
单层感知器-2|学习笔记
快速学习单层感知器-2
95 0
单层感知器-2|学习笔记
|
机器学习/深度学习 存储 算法
单层感知器-1|学习笔记
快速学习单层感知器-1
177 0
单层感知器-1|学习笔记
|
机器学习/深度学习 算法 计算机视觉
多层感知器-1| 学习笔记
快速学习多层感知器-1。
164 0
多层感知器-1| 学习笔记
|
机器学习/深度学习 算法 数据可视化
多层感知器-2 | 学习笔记
快速学习多层感知器-2
72 0
多层感知器-2 | 学习笔记
|
机器学习/深度学习 算法 数据可视化
多层感知-2|学习笔记
快速学习多层感知-2
87 0
多层感知-2|学习笔记
|
机器学习/深度学习 开发框架 .NET
多层感知器(神经网络)的代码实现 | 学习笔记
快速学习多层感知器(神经网络)的代码实现
123 0
多层感知器(神经网络)的代码实现 | 学习笔记