多层感知机不等于神经网络?

2024-06-24 11:18

本文主要是介绍多层感知机不等于神经网络?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    在前一章节(https://blog.csdn.net/u012132349/article/details/86166324),我们介绍了感知机可以实现与门、或门、非门。只需给定合适的参数(w1, w2, b)并利用Python就可以简单实现对输入的任意(x1,x2),输出0或1。

    今天我们将介绍感知机的局限性(严格说是单层感知机的局限性)。这里我们想用感知机实现异或门,所谓异或门,指的是只有x1或x2中的一方为1时,才会输出1,真值表如下图所示:

                                                   

    读者可尝试用前面介绍的感知机去实现这个异或门,您可以设置任意的(w1, w2, b)值,看看对输入的任意(x1,x2),输出是否一定满足上图的条件。实际上,用前面介绍的单层感知机是无法实现这个异或门的。下面我们通过画图的方式来分析这个问题。首先,我们试着将前面介绍的与非门的动作形象化,当权重(w1,w2,b)=(-0.5,-0.5,0.7)时感知机可用下式表示:

                                                 

    与非门表明只要有一个输入信号为0,则输出就为1,上式满足此条件。该公式表示的感知机生成了由直线0.7-0.5x1-0.5x2=0分割开的两个空间,如下图所示,一个空间输出0,一个空间输出1。

                                              

    不难验证,与非门在(x1,x2)等于(0,0)、(1,0)、(0,1)时输出为1,在(x1,x2)等于(1,1)时输出为0。实际上图中的那条线就将这四个点正确地分开了。同样地,我们将异或门的真值表在图中标记出来。如下图所示。

                                      

    图中,(x1,x2)等于(0,0)、(1,1)时输出为0,在(x1,x2)等于(0,1)和(1,0)时输出为1。显然已经不能用一条直线将图中的0和□分割开来。事实上一条直线是无法将它们分割开来的,只能用下图所示的曲线将它们分割开来。

                                         

    可见,单层感知机的局限性就在于它只能表示由一条直线分割的空间(称为线性空间)。像上图这样的弯曲的曲线是无法用单层感知机表示。说明一下,曲线分割的空间称为非线性空间

    由上面的分析可知单层感知机无法表示异或门,即单层感知机无法分离非线性空间。因此需要组合感知机(叠加层)来实现异或门,这里先不考虑叠加层具体是指什么。在电路专业中,可以通过组合与门、非门、或门实现异或门。如下图所示。

                                                     

    从图中可知,x1和x2是与非门和或门的输入,而与非门和或门的输出则是与门的输入。图中的s1是与非门的输出,s2是或门的输出。s1和s2作为与门的输入,y作为与门的输出。现在给出异或门的真值表如下所示:

                              

   观察真值表x1、x2、y,可以发现确实符合异或门的输出。使用Python可轻松实现异或门,如下所示:

import numpy as npdef yufei(x1,x2):"""与非门的实现"""x=np.array([x1,x2])w=np.array([-0.5,-0.5])b=0.7value=np.sum(w*x)+bif value<=0:return 0else:return 1def huo(x1,x2):"""或门的实现,只有参数不一样"""x=np.array([x1,x2])w=np.array([0.5,0.5])b=-0.2value=np.sum(w*x)+bif value<=0:return 0else:return 1def yu(x1,x2):"""与门的实现,只有参数不一样"""x=np.array([x1,x2])w=np.array([0.5,0.5])b=-0.7value=np.sum(w*x)+bif value<=0:return 0else:return 1  def yihuo(x1,x2):"""异或门的实现"""s1=yufei(x1,x2)s2=huo(x1,x2)y=yu(s1,s2)return yyihuo(0,0)  #输出0
yihuo(1,0)  #输出1
yihuo(0,1)  #输出1
yihuo(1,1)  #输出0

    下面用感知机的表示方法来表示这个异或门,如下图所示。异或门是一种多层结构的神经网络(简单来说,就是多层感知机)。这里将最左边的一列称为第0层,中间的一列称为第1层,最右边的一列称为第二层。前面介绍的与门、或门等都是单层感知机,异或门是2层感知机(第0层没有权重,所以这里不算)。叠加了多层的感知机也称为多层感知机。可见通过叠加层(加深层)能够进行非线性的表示。

                                              

    上图中的2层感知机,先在第0层和第1层的神经元之间进行信号的传递和接收,然后在第1层和第2层之间进行信号的传送和接收。通过异或门的实现,我们不难理解,可以通过增加层来实现更复杂的电路,像加法运算的加法器也可以用感知机实现。实际上,只需要通过与非门的组合,就能再现计算机进行的处理,这说明使用感知机也可以表示计算机(当然这不是我们所关心的)。

    本章主要讲解了单层感知机的局限性,并引出2层感知机来表示异或门。这里提到了多层感知机组成了神经网络,当然神经网络没这么简单,但是它和多层感知机是有很多共同点,如果你掌握了文章中介绍的2层感知机,相信对你学习神经网络是非常有帮助的。后面我们将正式进入神经网络的学习! 欢迎关注我的博客,有欢迎欢迎关注我的微信公众号“Python生态智联”

 

这篇关于多层感知机不等于神经网络?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089994

相关文章

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

【2.1 深度学习中的感知机是什么】

2.1 深度学习中的感知机是什么 深度学习是机器学习的一个分支,它模拟人脑的工作方式来处理数据,尤其是通过神经网络的结构来自动提取数据的特征并进行分类、回归或其他复杂的任务。在深度学习的早期发展中,许多基础概念和模型为后续的复杂网络奠定了基础。其中,**感知机(Perceptron)**是一个非常重要的基础模型,它实际上是神经网络和深度学习的前身之一。 感知机的基本概念 感知机是一种二分

机器学习之监督学习(三)神经网络

机器学习之监督学习(三)神经网络基础 0. 文章传送1. 深度学习 Deep Learning深度学习的关键特点深度学习VS传统机器学习 2. 生物神经网络 Biological Neural Network3. 神经网络模型基本结构模块一:TensorFlow搭建神经网络 4. 反向传播梯度下降 Back Propagation Gradient Descent模块二:激活函数 activ

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

基于深度学习 卷积神经网络resnext50的中医舌苔分类系统

项目概述 本项目旨在通过深度学习技术,特别是利用卷积神经网络(Convolutional Neural Networks, CNNs)中的ResNeXt50架构,实现对中医舌象图像的自动分类。该系统不仅能够识别不同的舌苔类型,还能够在PyQt5框架下提供一个直观的图形用户界面(GUI),使得医生或患者能够方便地上传舌象照片并获取分析结果。 技术栈 深度学习框架:采用PyTorch或其他

图神经网络(2)预备知识

1. 图的基本概念         对于接触过数据结构和算法的读者来说,图并不是一个陌生的概念。一个图由一些顶点也称为节点和连接这些顶点的边组成。给定一个图G=(V,E),  其 中V={V1,V2,…,Vn}  是一个具有 n 个顶点的集合。 1.1邻接矩阵         我们用邻接矩阵A∈Rn×n表示顶点之间的连接关系。 如果顶点 vi和vj之间有连接,就表示(vi,vj)  组成了

自然语言处理系列六十三》神经网络算法》LSTM长短期记忆神经网络算法

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十三神经网络算法》LSTM长短期记忆神经网络算法Seq2Seq端到端神经网络算法 总结 自然语言处理系列六十三 神经网络算法》LSTM长短期记忆神经网络算法 长短期记忆网络(LSTM,Long S

神经网络训练不起来怎么办(零)| General Guidance

摘要:模型性能不理想时,如何判断 Model Bias, Optimization, Overfitting 等问题,并以此着手优化模型。在这个分析过程中,我们可以对Function Set,模型弹性有直观的理解。关键词:模型性能,Model Bias, Optimization, Overfitting。 零,领域背景 如果我们的模型表现较差,那么我们往往需要根据 Training l

Tensorflow实现与门感知机

感知机是最简单的神经网络,通过输入,进行加权处理,经过刺激函数,得到输出。通过输出计算误差,调整权重,最终,得到合适的加权函数。 今天,我通过tensorflow实现简单的感知机。 首先,初始化变量:     num_nodes = 2     output_units = 1     w = tf.Variable(tf.truncated_normal([num_nodes,output

如何将卷积神经网络(CNN)应用于医学图像分析:从分类到分割和检测的实用指南

引言 在现代医疗领域,医学图像已经成为疾病诊断和治疗规划的重要工具。医学图像的类型繁多,包括但不限于X射线、CT(计算机断层扫描)、MRI(磁共振成像)和超声图像。这些图像提供了对身体内部结构的详细视图,有助于医生在进行准确诊断和制定个性化治疗方案时获取关键的信息。 1. 医学图像分析的挑战 医学图像分析面临诸多挑战,其中包括: 图像数据的复杂性:医学图像通常具有高维度和复杂的结构