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

文章目录


前言

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

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

生物神经元是神经系统的基本单元,主要由树突、细胞体和轴突组成。树突接收来自其他神经元的信号,细胞体对这些信号进行整合,当信号强度超过一定阈值时,轴突会将处理后的信号传递给其他神经元。

感知器借鉴了生物神经元的工作机制,它接收多个输入信号,对这些输入进行加权求和,然后通过一个激活函数进行处理,当输出超过一定阈值时,感知器输出一个信号。

二、感知器

1、简单感知器

由两层神经元组成的神经网络--"感知器"(Perceptron),感知器只能线性划分数据。

公式是线性代数方程组,因此可以用矩阵乘法来表达这两个公式

输出的结果与训练集标签进行损失函数计算,与逻辑回归基本一致。

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

2、多层感知器

(1)多层感知机结构

增加了一个中间层。即隐含层

神经网络可以做非线性分类的关键--隐藏层。

假设我们的预测目标是一个向量,那么与前面类似,只需要在"输出层"再增加节点即可。

(2)多层感知器偏置结点

在神经网络中需要默认增加偏置神经元(节点),这些节点是默认存在的。它本质上是一个只含有存储功能,且存储值永远为1的单元。在神经网络的每个层次中,除了输出层以外,都会含有这样一个偏置单元。

偏置节点没有输入(前一层中没有箭头指向它)。一般情况下,我们都不会明确画出偏置节点。

3、神经网络结构

输入层的节点数:与特征的维度匹配

输出层的节点数:与目标的维度匹配。

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

1、设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;

2、神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;

3、结构图里的关键不是圆圈(代表"神经元"),而是连接线(代表"神经元"之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

总结

1、感知器的局限性

感知器虽然是神经网络的基础,但它存在一定的局限性:

只能处理线性可分问题:感知器只能对线性可分的数据进行分类,对于线性不可分的数据(如异或问题),感知器无法收敛到一个正确的解。

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

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

(1) 多层感知器(MLP)与非线性激活函数

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

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

Sigmoid函数:

​ReLU函数:

(2) 反向传播算法

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

(3) 多分类扩展

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

2、感知器的应用

尽管存在局限性,感知器在一些简单的分类问题中仍然有应用,例如:

二分类问题:可以用于区分两个不同类别的数据,如判断邮件是否为垃圾邮件、判断图像中是否包含特定物体等。

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

相关推荐
GISer_Jing4 小时前
AI时代面试新常态——从“会用工具”到“深挖原理”的跨越
前端·人工智能·ai编程
IT_陈寒4 小时前
React的useEffect把我坑惨了,这些闭包陷阱真要命
前端·人工智能·后端
财经资讯数据_灵砚智能4 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月1日
大数据·人工智能·python·信息可视化·自然语言处理
ting94520004 小时前
动手学深度学习(PyTorch版)深度详解(8):现代循环神经网络(实战 + 避坑)
pytorch·rnn·深度学习
Flandern11114 小时前
# 学习AI Agent中了解到的几个概念
人工智能·学习
2601_958320574 小时前
【零基础新手入门 】OpenClaw 2.6.6 对接阿里云百炼配置教程(包含安装包)
人工智能·阿里云·云计算·open claw·小龙虾·open claw安装·open claw一键安装
java1234_小锋4 小时前
Spring AI 2.0 开发Java Agent智能体 - Spring AI项目调用本地Ollama模型
java·人工智能·spring·spring ai2.0
深海鱼在掘金4 小时前
深入浅出 LangChain —— 第六章:记忆与状态管理
人工智能·langchain·agent
qq_283720054 小时前
Python+LangChain 调用大模型全方案深度实战:原生调用、统一接口、流式输出、异步、自定义模型全解析
人工智能·langchain·agent·rag
葫三生4 小时前
三生原理文章被AtomGit‌开源社区收录的意义探析?
人工智能·深度学习·神经网络·算法·搜索引擎·开源·transformer