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

文章目录

  • 前言
  • 一、生物神经元与感知器的类比
  • 二、感知器
    • 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.mzph.cn/pingmian/79934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

避免数据丢失:在存储测试数据之前,要做好Redis持久化

Redis提供两种持久化方法: 一、RDB(Redis DataBase): 1、周期性保存内存快照到磁盘(生成 dump.rdb 文件)。 2、配置save 相关参数。 我本地的配置如下: (1)配置文件re…

Oracle EBS FORM快捷键与触发器的关系与使用

Oracle EBS FORM快捷键与触发器的引用 1、快捷键作用,可以看文档fmrweb.res 2、文件内容:标识了快捷键的作用 9 : 0 : “Tab” : 1 : “Next Field” 9 : 1 : “ShiftTab” : 2 : “Previous Field” 116 : 0 : “F5” : 3 : “Clear Field” 38 : 0 :…

Java 24:重构数字信任边界 —— 后量子时代的智能安全防御体系构建

引言 在量子计算阴影与 AI 驱动攻击交织的网络安全新纪元,Java 平台正经历着自诞生以来最深刻的安全架构革新。作为企业级应用的核心基础设施,Java 24 不仅延续了 “一次编写,处处运行” 的跨平台基因,更以后量子密码学引擎、动态…

【故障定位系列】容器CPU问题引起的故障如何快速排查

原文地址:https://mp.weixin.qq.com/s/0VlIjbeEdPZUbLD389disA 当生产环境中的容器CPU出现异常时,可能会引发上层业务出现一系列问题,比如业务请求缓慢、网页卡顿甚至崩溃等,如果没有一个有效的故障定位方法,运维人员很…

DeepSeek 智能客服应用指南:构建、策略与成效升级

目录 一、引言二、DeepSeek 与智能客服的相遇2.1 DeepSeek 的技术亮点2.2 智能客服:企业不可或缺的 “数字助手”2.3 DeepSeek 如何适配智能客服需求 三、基于 DeepSeek 搭建智能客服系统3.1 需求分析3.2 技术选型3.3 系统架构设计3.4 搭建步骤实操 四、基于 DeepSe…

JVM运行时数据区域(Run-Time Data Areas)的解析

# JVM运行时数据区域(Run-Time Data Areas)的解析 欢迎来到我的博客:TWind的博客 我的CSDN::Thanwind-CSDN博客 我的掘金:Thanwinde 的个人主页 本文参考于:深入理解Java虚拟机:JVM高级特性与最佳实践 本文的JVM均…

【特别版】Kubernetes集群安装(1master,2node)

Kubernetes集群安装 虚拟机准备 按照三台虚拟机标准,一台控制节点两台工作节点 主机名ip配置要求master-k8s192.168.242.102GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多node01-k8s192.168.242.112GB或更多RAM,2个CPU或更多CPU…

Excel点击单元格内容消失

Excel点击单元格内容消失 前言一、原因说明二、解决方案1.菜单栏中找到“审阅”,选择“撤销工作表保护”2.输入密码3.解除成功 前言 Excel想要编辑单元格内容时,无论是单击还是双击单元格内容都莫名其妙的消失了 一、原因说明 单击或者双击Excel中单元…

最优化方法Python计算:有约束优化应用——线性Lasso回归预测器

实际应用中,特征维度 n n n通常远大于样本容量 m m m( n ≪ m n\ll m n≪m),这种高维小样本场景下特征数据可能含有对标签数据 y i y_i yi​的取值不必要的成分,甚至是噪声。此时,我们希望回归模型中的优化…

如何为APP应用程序选择合适的服务器

搭建一个成功的APP应用程序,服务器选择是至关重要的决策之一。合适的服务器不仅能确保应用流畅运行,还能节省成本并保障安全性。本文将为您详细解析如何为APP选择最佳服务器方案。 一、了解您的APP需求 在选择服务器前,首先需要明确您的应用…

k8s(11) — 探针和钩子

钩子和探针的区别: 在 Kubernetes(k8s)中,钩子(Hooks)和探针(Probes)是保障应用稳定运行的重要机制,不过它们的用途和工作方式存在差异,以下为你详细介绍&…

Kafka消息队列之 【消费者分组】 详解

消费者分组(Consumer Group)是 Kafka 提供的一种强大的消息消费机制,它允许多个消费者协同工作,共同消费一个或多个主题的消息,从而实现高吞吐量、可扩展性和容错性。 基本概念 消费者分组:一组消费者实例的集合,这些消费者实例共同订阅一个或多个主题,并通过分组来协调…

什么是Blender?怎么获取下载Blender格式文件模型

glbxz.com glbxz.com 官方可以下载Blender格式文件模型 BlenderBlender 是一个免费的开源程序,用于建模和动画,最初由一家名为 Neo Geo 的动画工作室作为内部应用程序开发,后来作为自己的程序发布。这是一个称职的程序,近年来由于…

IC ATE集成电路测试学习——PLL测试(一)

PLL测试 什么是PLL? PLL Phase-Locked Loop(锁相环)它的作用就是:把低速、稳定的外部时钟,转换成芯片内部需要的高速时钟。 PLL的作用 我们知道,芯片的内部不同的模块,很可能用的不是一个频…

ReaRAG:教 AI 思考、搜索和自我纠正以获得事实准确答案(含git实现)

推理模型(LRMs)的发展取得了显著进展,展现出强大的推理能力,能在复杂任务中表现出色。然而,这些模型在多跳问答(QA)任务中仍面临挑战,主要归因于其对参数化知识的依赖,导…

第2章——springboot核心机制

一、为何以继承方式引入SpringBoot 1.提出疑问 以前我们在开发项目时&#xff0c;需要什么&#xff0c;引入对应的依赖就行&#xff0c;比如我们需要连接mysql数据&#xff0c;则引入mysql驱动的依赖&#xff0c;如下&#xff1a; <dependency><groupId>com.mys…

网络接入服务商查询

要查询网站的 网络接入服务商&#xff08;即网站服务器托管或接入的ISP公司&#xff09;&#xff0c;可以通过以下方法进行查询&#xff1a; 方法1&#xff1a;通过IP地址查询 步骤1&#xff1a;获取网站IP 使用 ping 命令&#xff1a; ping example.com 返回的IP地址即为服务…

超详细!RxSwift 中的 BehaviorRelay 使用教程(含原理 + 示例 + 实战)

目录 前言 1.什么是 BehaviorRelay 2.基本使用方式 3.BehaviorRelay的常用API 4.BehaviorRelay 和其它类型的对比 5.BehaviorRelay的使用场景 1.绑定UITableView 2.MVVM 场景下使用 BehaviorRelay 6.使用注意事项以及建议 1.注意事项 2.使用建议总结 7.推荐阅读 前…

vue-grid-layout实现拖拽修改工作台布局

效果图 vue-grid-layout 文档地址&#xff1a;vue-grid-layout 官网介绍&#xff1a; 使用 // 安装&#xff1a; npm install vue-grid-layout --save// 引用&#xff1a; import { GridLayout, GridItem } from vue-grid-layout// 注册&#xff1a; components:{ GridLay…

windows使用bat脚本激活conda环境

本文不生产技术&#xff0c;只做技术的搬运工&#xff01;&#xff01;&#xff01; 前言 最近需要在windows上使用批处理脚本执行一些python任务&#xff0c;但是被自动激活conda环境给卡住了&#xff0c;研究了一下解决方案 解决方案 call your_conda_path\Scripts\activa…