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

小结

内容 描述
单层感知机 最基本的神经网络,用于线性分类
多层网络 引入隐藏层,可拟合复杂非线性函数
激活函数 提供非线性变换能力
前向传播 数据从输入到输出流动
反向传播 基于梯度优化权重
相关推荐
吞下星星的少年·-·10 分钟前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序
aichitang20241 小时前
代数拓扑学与现代前沿视角
考研·算法·数学建模·ai·拓扑学·高考
二本咕咕-机械转码1 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
-银雾鸢尾-1 小时前
两数之和-C++实现
c++·算法
j7~1 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
倍利福猎头公司官方账号2 小时前
大企业HR如何向猎头公司清晰传达AI岗位的技术需求?
人工智能·算法·机器人·求职招聘·业界资讯
揽星河..2 小时前
【C++】类和对象
c++·算法
D e re k ZH2 小时前
C++ 并发、未定义行为与工程化难点(No 3)
数据结构·c++·算法·面试
释厄6233 小时前
同性线套娃律——圆面积必然=1+2+...+n 的求和·圆心不与 π 相关
java·人工智能·算法·1024程序员节
I Am a robert girl3 小时前
推理时刻的精确性:当模型开始“证明“而不是“拟合“
神经网络·机器学习·ai论文·泛化能力·生成机制·分布外泛化·模型表示