【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(2)神经网络整体结构

第三章: 神经网络原理详解与Pytorch入门

第一部分:神经网络算法理论详解与实践

第二节:神经网络整体结构

内容:从单层感知机的原理推广到神经网络


一、单层感知机(Perceptron)

【漫话机器学习系列】124.感知机(Perceptron)_感知机模型存在的问题-CSDN博客

【漫话机器学习系列】123.感知机学习(Perceptron Learning)-CSDN博客

感知机模型简介

感知机是最早的神经网络形式,用于进行线性可分的二分类任务。数学表达如下:

其中:

  • :输入特征

  • :权重参数

  • b:偏置

  • f:激活函数(如 Sign、Step)

感知机结构图
复制代码
输入层 → 权重加权求和 → 激活函数 → 输出结果

感知机的目标是调整 w, b 使其能把输入样本正确分类。


二、多层感知机(MLP)与前馈神经网络

【深度学习】常见模型-多层感知机(MLP,Multilayer Perceptron)_多层感知器mlp-CSDN博客

【漫话机器学习系列】060.前馈神经网络(Feed Forward Neural Networks, FFNN)_ffn前馈神经网络-CSDN博客

由于单层感知机只能处理线性可分问题,引入多层结构即可建模非线性关系。

结构层级:
  1. 输入层(Input Layer):接收原始数据向量。

  2. 隐藏层(Hidden Layer):可多层,核心是线性变换 + 非线性激活。

  3. 输出层(Output Layer):输出最终预测值。

数学表示(以一隐藏层为例):




  • σ:激活函数,如 ReLU、Sigmoid、Tanh

  • f:输出激活,如 Softmax(用于分类)


三、激活函数的非线性作用

【漫话机器学习系列】106.线性激活函数(Linear Activation Function)_鈥榣inear activation function-CSDN博客

【漫话机器学习系列】152.ReLU激活函数(ReLU Activation Function)_relu函数-CSDN博客

【漫话机器学习系列】142.Sigmoid 激活函数(Sigmoid Activation Function)_sigmoid函数-CSDN博客

【漫话机器学习系列】224.双曲正切激活函数(Hyperbolic Tangent Activation Function)_hyperbolic tangent激活函数-CSDN博客

【漫话机器学习系列】146.Softmax 激活函数(Softmax Activation Function)_softmax函数-CSDN博客

激活函数的引入打破了神经网络的线性限制,使其能表示复杂函数。

函数名 公式 特点
ReLU f(x)=max⁡(0,x) 快速收敛,常用
Sigmoid 输出范围[0,1],梯度消失问题
Tanh f(x)=tanh⁡(x) 输出[-1,1],对称性好

四、前向传播与反向传播流程

前向传播(Forward Pass)
  1. 输入数据传入网络

  2. 每层执行线性变换(加权求和)

  3. 应用激活函数

  4. 输出预测结果

反向传播(Backward Pass)

【漫话机器学习系列】008.反向传播算法(Backpropagation Algorithm)-CSDN博客

  1. 根据损失函数 计算误差

  2. 利用链式法则逐层反向传播梯度

  3. 更新权重(通过梯度下降优化)


五、网络结构示意图

python 复制代码
输入层:    x1  x2  x3 ...
              ↓
隐藏层1:  z1  z2  z3 → ReLU
              ↓
隐藏层2:  z4  z5  z6 → ReLU
              ↓
输出层:    y1  y2 (如分类概率)

可以扩展到任意深度(深度学习),形成多层结构。


六、PyTorch 中的神经网络构建示例(简单 MLP)

【人工智能】Python常用库-PyTorch常用方法教程-CSDN博客

python 复制代码
import torch.nn as nn

class MLP(nn.Module):
    def __init__(self):
        super().__init__()
        self.model = nn.Sequential(
            nn.Linear(10, 64),
            nn.ReLU(),
            nn.Linear(64, 3),  # 3类分类任务
            nn.Softmax(dim=1)
        )

    def forward(self, x):
        return self.model(x)

小结

内容 描述
单层感知机 最基本的神经网络,用于线性分类
多层网络 引入隐藏层,可拟合复杂非线性函数
激活函数 提供非线性变换能力
前向传播 数据从输入到输出流动
反向传播 基于梯度优化权重
相关推荐
lxmyzzs1 小时前
【图像算法 - 23】工业应用:基于深度学习YOLO12与OpenCV的仪器仪表智能识别系统
人工智能·深度学习·opencv·算法·计算机视觉·图像算法·仪器仪表识别
Learn Beyond Limits1 小时前
Multi-output Classification and Multi-label Classification|多输出分类和多标签分类
人工智能·深度学习·神经网络·算法·机器学习·分类·吴恩达
张较瘦_1 小时前
[论文阅读] 软件工程 | GPS算法:用“路径摘要”当向导,软件模型检测从此告别“瞎找bug”
论文阅读·算法·bug
张子夜 iiii1 小时前
深度学习-----《PyTorch神经网络高效训练与测试:优化器对比、激活函数优化及实战技巧》
人工智能·pytorch·深度学习
2401_858286112 小时前
OS26.【Linux】进程程序替换(下)
linux·运维·服务器·开发语言·算法·exec·进程
张同学的IT技术日记2 小时前
【奇妙的数据结构世界】用图像和代码对队列的使用进行透彻学习 | C++
算法
盼小辉丶2 小时前
PyTorch实战(1)——深度学习概述
人工智能·pytorch·深度学习
极客BIM工作室2 小时前
强化学习算法分类与介绍(含权重更新公式)
算法·分类·数据挖掘
KarrySmile2 小时前
Day8--HOT100--160. 相交链表,206. 反转链表,234. 回文链表,876. 链表的中间结点
数据结构·算法·链表·双指针·快慢指针·hot100·灵艾山茶府
luckycoding3 小时前
1424. 对角线遍历 II
算法·leetcode·职场和发展