神经网络入门①多层感知器如何解决异或问题?

这篇具有很好参考价值的文章主要介绍了神经网络入门①多层感知器如何解决异或问题?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 多层感知器


神经网络入门①多层感知器如何解决异或问题?

人工智能是最近非常热的一个话题,它的发展将对人类的生产活动产生革命性的影响。

机器学习是实现人工智能的有效手段,深度学习作为机器学习领域中最有潜力的方向,引起了广泛的关注。

感知机(perceptron)早在20世纪50年代就提出来了1,但直到近几年深度学习的崛起,神经网络才再次走入大众的视野,并且成为了当下最热门的研究方向之一。

一个单层的感知器只能解决线性问题,而要解决如“异或”等非线性问题,则需要引入多层感知器

其原理是通过叠加多个线性的单元,构成非线性的网络

首先考虑一个简单的“与”运算

Y = A & B Y=A\&B Y=A&B

其真值表如下

A B Y C
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 2

只有当 A A A B B B都为1的时候 Y Y Y才为1,表中 C C C A A A B B B的数学运算值,即

C = A + B C=A+B C=A+B

将真值表转化为图的形式,其中横坐标 A B AB AB表示 A A A B B B组成的2比特的数。例如:当 A = 1 A=1 A=1 B = 0 B=0 B=0时, A B = 10 ( 二进制 ) = 2 ( 十进制 ) AB=10(二进制)=2(十进制) AB=10(二进制)=2(十进制)
神经网络入门①多层感知器如何解决异或问题?

观察 C C C的取值与 Y Y Y的关系,可以得到,当 A A A B B B的线性加和大于1.5时,可以认为 A & B A\&B A&B为1,小于等于1.5时则为0

因此通过引入一个非线性激活函数,可以将数学运算值转化为“与”运算,该运算可以描述为:

s g n ( A + B − 1.5 ) sgn(A+B-1.5) sgn(A+B1.5)

其中 s g n sgn sgn表示符号函数

因此一个具有“与”运算功能的神经网络可以表示为

神经网络入门①多层感知器如何解决异或问题?

一个“或”运算问题如下

Y = A ∣ B Y=A|B Y=AB

通过上述方式可以得到一个具有“或”运算功能的神经网络可以表示为

神经网络入门①多层感知器如何解决异或问题?

同理可得到具有“非”运算功能的神经元

Y = A ˜ Y=\~A Y=A˜
神经网络入门①多层感知器如何解决异或问题?

考虑一个“异或”问题:

Y = A ⊕ B Y=A⊕B Y=AB

这是一个非线性对应关系,无法用一个简单的神经元表示

但是从逻辑上分析,一个“异或”问题可以转化为“与”和“或”问题的组合,即

Y = A ⊕ B = ( A ∣ B ) & ( A ˜ ∣ B ˜ ) Y=A⊕B=(A|B)\&(\~A|\~B) Y=AB=(AB)&(A˜B˜)

则其对应的神经网络可以表示为

神经网络入门①多层感知器如何解决异或问题?
检验一下真值表

A B Y C1 C2 C Y
0 0 0 -0.5 1.5 -0.5 0
0 1 1 0.5 0.5 0.5 1
1 0 1 0.5 0.5 0.5 1
1 1 0 1.5 -0.5 -0.5 0

可以看到多层感知器可以解决“异或”问题

2. BP算法


待续

参考文献


  1. Rosenblatt, F., 1958. The perceptron: a probabilistic model for information storage and organization in the brain. Psychological review, 65(6), p.386. ↩︎文章来源地址https://www.toymoban.com/news/detail-497647.html

到了这里,关于神经网络入门①多层感知器如何解决异或问题?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 深度学习”和“多层神经网络”的区别

    深度学习”和“多层神经网络”的区别

    在讨论深度学习与多层神经网络之间的差异时,我们必须首先理解它们各自是什么以及它们在计算机科学和人工智能领域的角色。 深度学习是一种机器学习的子集,它使用了人工神经网络的架构。深度学习的核心思想是模拟人脑神经元的工作方式,以建立模型并学习数据的抽

    2024年02月02日
    浏览(6)
  • 一步步搭建多层神经网络以及应用

    import numpy as np import h5py import matplotlib.pyplot as plt import testCases from dnn_utils import sigmoid,sigmoid_backward,relu,relu_backward import lr_utils np.random.seed(1) def initialize_parameters(n_x,n_h,n_y): W1=np.random.randn(n_h,n_x)*0.01 b1=np.zeros((n_h,1)) W2=np.random.randn((n_y,n_h))*0.01 b2=np.zeros((n_y,1)) def initialize_parameters_deep

    2024年02月11日
    浏览(8)
  • 神经网络--感知机

    神经网络--感知机

    单层感知机原理 单层感知机:解决二分类问题,激活函数一般使用 sign函数 , 基于误分类点到超平面的距离总和 来构造损失函数,由损失函数推导出模型中损失函数对参数 w w w 和 b b b 的梯度,利用梯度下降法从而进行参数更新。 让+1代表A类,0代表B类 。 以下是原理示意图:

    2024年02月10日
    浏览(8)
  • MATLAB——感知神经网络学习程序

    学习目标:从学习第一个最简单的神经网络案例开启学习之路 感知器神经网络   用于点的分类 clear all; close all; P=[0 0 1 1;0 1 0 1];                         %输入向量 T=[0 1 1 1];                                 %目标向量 net=newp(minmax(P),1,\\\'hardlim\\\',\\\'learnp\\\');    %建立感知器神经

    2024年02月14日
    浏览(8)
  • 2023年9月数学建模博客:深度学习与多层神经网络

    目录 1. 深度学习简介 2. 多层神经网络基本原理 2.1 激活函数

    2024年02月07日
    浏览(10)
  • 神经网络如何入门?

    神经网络如何入门?

    推荐《 Python神经网络编程 》这本入门书。豆瓣评分9.2。 如果你可以进行加、减、乘、除运算,那么你就可以制作自己的神经网络。我们使用的最困难运算是梯度演算(gradient calculus),但是,我们会对这一概念加以说明,使尽可能多的读者能够理解这个概念。 在这本书中,

    2024年02月11日
    浏览(8)
  • 【单层感知器】花语神经网络的原理解析

    【单层感知器】花语神经网络的原理解析

    神经网络感知器(Perceptron)是神经网络中最基础的单元,它的工作原理可以用一个通俗的比喻来解释。 假设有一个花园,花园里有各种各样的花,我们要通过花的特征来识别不同的花种。神经网络感知器就像是一个智能的花匠,它能够根据花的特征进行分类和识别。 感知器

    2024年01月24日
    浏览(8)
  • 【Python机器学习】实验11 神经网络-感知器

    【Python机器学习】实验11 神经网络-感知器

    1.感知机是根据输入实例的特征向量 x x x 对其进行二类分类的线性分类模型: f ( x ) = sign ⁡ ( w ⋅ x + b ) f(x)=operatorname{sign}(w cdot x+b) f ( x ) = sign ( w ⋅ x + b ) 感知机模型对应于输入空间(特征空间)中的分离超平面 w ⋅ x + b = 0 w cdot x+b=0 w ⋅ x + b = 0 。 2.感知机学习的策略

    2024年02月13日
    浏览(11)
  • 深度学习基础知识-感知机+神经网络的学习

    深度学习基础知识-感知机+神经网络的学习

    参考书籍:(找不到资源可以后台私信我) 《深度学习入门:基于Python的理论与实现 (斋藤康毅)》 《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition (Aurelien Geron [Géron, Aurélien])》 机器学习和深度学习的区别: Perceptron(感知机) 感知机就是一种接收多种输入信

    2023年04月26日
    浏览(6)
  • 【人工智能】神经网络、前向传播、反向传播、梯度下降、局部最小值、多层前馈网络、缓解过拟合的策略

    前向传播 是指将输入数据从输入层开始经过一系列的权重矩阵和激活函数的计算后,最终得到输出结果的过程。在前向传播中,神经网络会将每一层的输出作为下一层的输入,直到输出层得到最终的结果。 反向传播 是指在神经网络训练过程中,通过计算损失函数的梯度,将

    2024年02月16日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包