【第三章:神经网络原理详解与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)

小结

内容 描述
单层感知机 最基本的神经网络,用于线性分类
多层网络 引入隐藏层,可拟合复杂非线性函数
激活函数 提供非线性变换能力
前向传播 数据从输入到输出流动
反向传播 基于梯度优化权重
相关推荐
Qhumaing28 分钟前
C++学习:【PTA】数据结构 7-1 实验7-1(最小生成树-Prim算法)
c++·学习·算法
Z1Jxxx2 小时前
01序列01序列
开发语言·c++·算法
汽车仪器仪表相关领域3 小时前
全自动化精准检测,赋能高效年检——NHD-6108全自动远、近光检测仪项目实战分享
大数据·人工智能·功能测试·算法·安全·自动化·压力测试
Doro再努力4 小时前
【数据结构08】队列实现及练习
数据结构·算法
清铎5 小时前
leetcode_day12_滑动窗口_《绝境求生》
python·算法·leetcode·动态规划
linweidong5 小时前
嵌入式电机:如何在低速和高负载状态下保持FOC(Field-Oriented Control)算法的电流控制稳定?
stm32·单片机·算法
net3m336 小时前
单片机屏幕多级菜单系统之当前屏幕号+屏幕菜单当前深度 机制
c语言·c++·算法
mmz12076 小时前
二分查找(c++)
开发语言·c++·算法
Insight6 小时前
拒绝手动 Copy!一文吃透 PyTorch/NumPy 中的广播机制 (Broadcasting)
算法