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

神经网络—感知器、多层感知器

文章目录

  • 前言
  • 一、生物神经元与感知器的类比
  • 二、感知器
    • 1、简单感知器
    • 2、多层感知器
      • (1)多层感知机结构
    • 3、神经网络结构
  • 总结
    • 1、感知器的局限性
      • 如何突破感知器的局限性?
    • 2、感知器的应用


前言

感知器(Perceptron)是神经网络发展历程中的基础模型,由美国科学家 Frank Rosenblatt 在 1957 年提出。它模拟了生物神经元的工作方式,是构建更复杂神经网络的基石。

一、生物神经元与感知器的类比

生物神经元是神经系统的基本单元,主要由树突、细胞体和轴突组成。树突接收来自其他神经元的信号,细胞体对这些信号进行整合,当信号强度超过一定阈值时,轴突会将处理后的信号传递给其他神经元。
感知器借鉴了生物神经元的工作机制,它接收多个输入信号,对这些输入进行加权求和,然后通过一个激活函数进行处理,当输出超过一定阈值时,感知器输出一个信号。

二、感知器

1、简单感知器

由两层神经元组成的神经网络–“感知器”(Perceptron),感知器只能线性划分数据。
=320x
公式是线性代数方程组,因此可以用矩阵乘法来表达这两个公式
在这里插入图片描述
输出的结果与训练集标签进行损失函数计算,与逻辑回归基本一致。

神经网络的本质:通过参数与激活函数来拟合特征与目标之间的真实函数关系。但在一个神经网络的程序中,不需要神经元和线,本质上是矩阵的运算,实现一个神经网络最需要的是线性代数库。

2、多层感知器

(1)多层感知机结构

增加了一个中间层。即隐含层
神经网络可以做非线性分类的关键–隐藏层。
在这里插入图片描述

假设我们的预测目标是一个向量,那么与前面类似,只需要在“输出层”再增加节点即可。
=120x
(2)多层感知器偏置结点
在神经网络中需要默认增加偏置神经元(节点),这些节点是默认存在的。它本质上是一个只含有存储功能,且存储值永远为1的单元。在神经网络的每个层次中,除了输出层以外,都会含有这样一个偏置单元。

=120x120在这里插入图片描述
偏置节点没有输入(前一层中没有箭头指向它)。一般情况下,我们都不会明确画出偏置节点。

3、神经网络结构

输入层的节点数:与特征的维度匹配
输出层的节点数:与目标的维度匹配。
中间层的节点数:目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。

1、设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;
2、神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
3、结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

总结

1、感知器的局限性

感知器虽然是神经网络的基础,但它存在一定的局限性:
只能处理线性可分问题:感知器只能对线性可分的数据进行分类,对于线性不可分的数据(如异或问题),感知器无法收敛到一个正确的解。

缺乏隐藏层:简单感知器没有隐藏层,这限制了它的表达能力,无法处理复杂的非线性映射。

如何突破感知器的局限性?

(1) 多层感知器(MLP)与非线性激活函数
引入隐藏层:通过叠加多个感知器层(输入层→隐藏层→输出层),形成多层网络,能够学习非线性决策边界。例如,XOR问题可以通过一个包含隐藏层的网络解决。

激活函数升级:用Sigmoid、ReLU等非线性函数替代阶跃函数,使网络具备非线性表达能力。例如:

Sigmoid函数:
在这里插入图片描述
​ReLU函数:
在这里插入图片描述

(2) 反向传播算法
通过链式法则计算梯度,逐层调整权重,使多层网络的训练成为可能。这是感知器无法实现的。

(3) 多分类扩展
使用Softmax激活函数和交叉熵损失函数,将输出扩展到多类别概率分布。

2、感知器的应用

尽管存在局限性,感知器在一些简单的分类问题中仍然有应用,例如:
二分类问题:可以用于区分两个不同类别的数据,如判断邮件是否为垃圾邮件、判断图像中是否包含特定物体等。

早期神经网络的基础:感知器为后续更复杂神经网络的发展奠定了基础,许多神经网络的训练算法和结构都是在感知器的基础上发展而来的。

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

相关文章:

  • matlab实现模型预测控制
  • Qt/C++面试【速通笔记八】—Qt的事件处理机制
  • Solidity语言基础:区块链智能合约开发入门指南
  • 软件设计师教程——第一章 计算机系统知识(上)
  • tmux 入门与实用指南
  • 从零开始用 AI 编写一个复杂项目的实践方法论
  • R语言数据挖掘:从“挖井”到“淘金”
  • C31-形参与实参的区别
  • Google 发布 Gemini 2.5 Pro Preview (I/O Edition),具有增强的编程能力
  • 多模态文档检索开源方案-三大竞赛获奖方案技术链路
  • Flink SQL DataStream 融合开发模式与动态配置热加载机制实战
  • C++ STL 入门:map 键值对容器
  • Centos离线安装mysql、redis、nginx等工具缺乏层层依赖的解决方案
  • 全面解析 iTextSharp:在 .NET 中高效处理 PDF
  • 贵州安全员考试内容有哪些?
  • Python学习笔记--Django的安装和简单使用(一)
  • 【Linux网络】Socket 编程预备
  • 图像管理与人脸识别工具深度解析
  • 查看单元测试覆盖率
  • 辰鳗科技朱越洋:紧扣时代契机,全力投身能源转型战略赛道
  • maven 安装 本地 jar
  • 算法的时间复杂度
  • 手写 vue 源码 ===:自定义调度器、递归调用规避与深度代理
  • 基于大模型预测的产钳助产分娩全方位研究报告
  • 【工具教程】批量提取PDF指定内容并重命名,PDF文档根据指定识别文字改名,基于java的实现方案
  • (7)Nokov 室内光学跟踪系统
  • 玄机 第一章 应急响应-Linux日志分析
  • C#学习7_面向对象:类、方法、修饰符
  • MySQL 8.0 OCP(1Z0-908)英文题库(11-20)
  • 编写大模型Prompt提示词方法