当前位置: 首页 > news >正文

深度学习(鱼书)day01--感知机

深度学习day01–感知机

在这里插入图片描述

一、感知机的定义

感知机是由美国学者Frank Rosenblatt在1957年提出来的。感知机是神经网络的基础,学习感知机的构造就是学习通向神经网络和深度学习的一种重要思想。

感知机接收多个输入信号,输出一个信号。感知机的信号只有“流/不流”(1/0)两种取值,0对应“不传递信号”,1对应“传递信号”。

下图是一个接收两个输入信号的感知机的例子。x1、x2是输入信号,y是输出信号,w1、w2是权重w是weight的首字母)。图中的○称为“神经元”或者“节点”。输入信号被送往神经元时,会被分别乘以固定的权重(w1x1、w2x2)。神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出1。这也称为“神经元被激活”。这里将这个界限值称为阈值,用符号θ表示。
在这里插入图片描述

把上述内容用数学式来表示,就是式:

感知机的多个输入信号都有各自固有的权重,这些权重发挥着控制各个信号的重要性的作用。也就是说,权重越大,对应该权重的信号的重要性就越高。

二、简单逻辑电路

  1. 与门:与门仅在两个输入均为1时输出1,其他时候则输出0。

在这里插入图片描述

下面考虑用感知机来表示这个与门。需要做的就是确定能满足图2-2的真值表的w1、w2、θ的值。实际上,满足图2-2的条件的参数的选择方法有无数多个。(w1,w2, θ) = (0.5, 0.5, 0.7) ,为(0.5, 0.5, 0.8),设定这样的参数后,仅当x1和x2同时为1时,信号的加权总和才会超过给定的阈值θ

  1. 与非门:与非门就是颠倒了与门的输出。用真值表表示的话,如图2-3所示,仅当x1和x2同时为1时输出0,其他时候则输出1。

在这里插入图片描述

(w1, w2, θ) = (−0.5,−0.5,−0.7)实际上,只要把实现与门的参数值的符号取反,就可以实现与非门。

  1. 或门:只要有一个输入信号是1,输出就为1

在这里插入图片描述

3个门电路只有参数的值(权重和阈值)不同。也就是说,相同构造的感知机,只需通过适当地调整参数的值,就可以变身为与门、与非门、或门。

三、感知机的实现

  1. 与门

    def AND(x1,x2):w1, w2, theta = 0.5, 0.5, 0.7tmp = w1 * x1 + w2 * x2if tmp > theta: return 1else:return 0
    

  2. 引入权重和偏置:把之前的公式中的θ换成-b:此处,b称为偏置,w1和w2称为权重。

    w1和w2是控制输入信号的重要性的参数,而偏置是调整神经元被激活的容易程度(输出信号为1的程度)的参数。

  3. 基于权重和偏置的与门的实现

    import numpy as np
    def AND(x1,x2):w = np.array([0.5, 0.5])x = np.array([x1, x2])b = -0.7tmp = np.sum(w*x) + bif tmp > 0: return 1else:return 0
    

在这里插入图片描述

  1. 与非门

    import numpy as np
    def AND(x1,x2):w = np.array([-0.5, -0.5])x = np.array([x1, x2])b = 0.7tmp = np.sum(w*x) + bif tmp > 0: return 1else:return 0
    

在这里插入图片描述

  1. 或门:

    import numpy as np
    def OR(x1,x2):w = np.array([0.5, 0.5])x = np.array([x1, x2])b = -0.2tmp = np.sum(w*x) + bif tmp > 0: return 1else:return 0
    

在这里插入图片描述

四、感知机的局限新

异或门:仅当x1或x2中的一方为1时,才会输出1(“异或”是拒绝其他的意思)

在这里插入图片描述

实际上,用前面介绍的感知机是无法实现这个异或门的。首先,我们试着将或门的动作形象化。或门的情况下,当权重参数(b, w1, w2) = (0.5, 1.0, 1.0)时:表示的感知机会生成由直线0.5 + x1 + x2 = 0分割开的两个空间。其中一个空间输出1,另一个空间输出0

在这里插入图片描述

这条直线可以将○和△分开。

异或门的图像无法用一条直线来分割输出结果:

在这里插入图片描述

感知机的局限性就在于它只能表示由一条直线分割的空间。图2-8这样弯曲的曲线无法用感知机表示。另外,由图2-8这样的曲线分割而成的空间称为非线性空间,由直线分割而成的空间称为线性空间

五、多层感知机

感知机的绝妙之处在于它可以“叠加层”。

在这里插入图片描述

这里,x1和x2表示输入信号,y表示输出信号。x1和x2是与非门和或门的输入,而与非门和或门的输出则是与门的输入。

在这里插入图片描述

异或门的实现:

import numpy as np
def XOR(x1,x2):s1 = OR(x1,x2)s2 = NAND(x1,x2)return AND(s1,s2)

在这里插入图片描述

与门、或门是单层感知机,而异或门是2层感知机。叠加了多层的感知机也称为多层感知机(multi-layered perceptron)。

在这里插入图片描述

http://www.xdnf.cn/news/1181197.html

相关文章:

  • LeetCode 23:合并 K 个升序链表
  • 【C++】使用中值滤波算法过滤数据样本中的尖刺噪声
  • rust-方法语法
  • C++STL系列之set和map系列
  • 基于python django的农业可视化系统,以奶牛牧场为例
  • 用 Function Call 让 AI 主动调用函数(超入门级示例)|保姆级大模型应用开发实战
  • SpringBoot航空订票系统的设计与实现
  • 进阶系统策略
  • 技术赋能多元探索:我的技术成长与行业洞察
  • Linux应用开发基础知识——进程学习2(exec函数、system函数、popen函数)(三)
  • 斐波那契数列策略
  • 人形机器人_双足行走动力学:Maxwell模型及在拟合肌腱特性中的应用
  • Java学习----原型模式
  • 使用Claude Code从零到一打造一个现代化的GitHub Star项目管理器
  • day46day47 通道注意力
  • 无源域自适应综合研究【2】
  • C++ 性能优化
  • 力扣 hot100 Day54
  • pytest中使用skip跳过某个函数
  • 无人机速度模块技术要点分析
  • 第三章:掌握 Redis 存储与获取数据的核心命令
  • MNIST 手写数字识别模型分析
  • 秋叶sd-webui频繁出现生成后无反应的问题
  • 【Web APIs】JavaScript 节点操作 ⑧ ( 删除节点 - removeChild 函数 | 删除节点 - 代码示例 | 删除网页评论案例 )
  • 算法竞赛阶段二-数据结构(34)数据结构链表STL vector
  • 【PyTorch】图像二分类项目-部署
  • Spring Boot 3整合Spring AI实战:9轮面试对话解析AI应用开发
  • HttpServletRequest深度解析:Java Web开发的核心组件
  • PyTorch数据选取与索引详解:从入门到高效实践
  • Vue3 面试题及详细答案120道(91-105 )