当前位置: 首页 > news >正文

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

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

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

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

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


一、单层感知机(Perceptron)

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

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

感知机模型简介

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

y = f\left(\sum_{i=1}^n w_i x_i + b\right)

其中:

  • x_i:输入特征

  • w_i:权重参数

  • 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):输出最终预测值。

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

z^{(1)} = W^{(1)}x + b^{(1)}
a^{(1)} = \sigma(z^{(1)})
z^{(2)} = W^{(2)}a^{(1)} + b^{(2)}
\hat{y} = f(z^{(2)})

  • σ:激活函数,如 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博客

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

函数名公式特点
ReLUf(x)=max⁡(0,x)快速收敛,常用
Sigmoidf(x) = \frac{1}{1+e^{-x}}输出范围[0,1],梯度消失问题
Tanhf(x)=tanh⁡(x)输出[-1,1],对称性好

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

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

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

  3. 应用激活函数

  4. 输出预测结果 \hat{y}

反向传播(Backward Pass)

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

  1. 根据损失函数 L(y, \hat{y}) 计算误差

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

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


五、网络结构示意图

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

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


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

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

import torch.nn as nnclass 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)

小结

内容描述
单层感知机最基本的神经网络,用于线性分类
多层网络引入隐藏层,可拟合复杂非线性函数
激活函数提供非线性变换能力
前向传播数据从输入到输出流动
反向传播基于梯度优化权重

http://www.dtcms.com/a/265361.html

相关文章:

  • Codeforces Round 1034 (Div. 3)
  • 互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用
  • SerialAssist 串口调试助手 - 功能介绍
  • 解决 Spring Boot 对 Elasticsearch 字段没有小驼峰映射的问题
  • io-进程/线程--理论+实操
  • 旋量理论与运动旋量计算:Sympy中的数学实现与物理内涵
  • 实验室超算替代方案:AMD EPYC 双路高性能工作站,预装全套科研软件 配置科研环境3天拿到全套已优化工作站
  • leetcode 3304. 找出第 K 个字符 I 简单
  • 【Java工程师面试全攻略】Day10:系统性能优化全链路实践
  • AI时代SEO关键词策略
  • 异步Websocket构建聊天室
  • mac init tailwind css 配置文件报错
  • STM32-PWM驱动无源蜂鸣器
  • uniapp中使用组件分包
  • 在Linux服务器上使用kvm创建虚拟机
  • Springboot3.3.4使用spring-data-elasticsearch整合Elasticsearch7.12.1
  • 【Linux仓库】进程优先级及进程调度【进程·肆】
  • vue-38(使用 Cypress 进行端到端测试)
  • 基于微信小程序的学校招生系统
  • 破解风电运维“百模大战”困局,机械版ChatGPT诞生?
  • 第8章网络协议-NAT
  • 机器学习在智能能源管理中的应用:需求响应与可再生能源整合
  • Google Maps 安装使用教程
  • 六、软件操作手册
  • 按月设置索引名的完整指南:Elasticsearch日期索引实践
  • 第五章 局域网基础
  • Spark流水线数据探查组件
  • 部署KVM虚拟化平台
  • odoo17 警示: selection attribute will be ignored as the field is related
  • centos7下源码编译ffmpeg时报错ERROR opus not found using pkg-config问题修复