php外贸网站源码重庆信息网站推广
2026/4/15 23:46:48 网站建设 项目流程
php外贸网站源码,重庆信息网站推广,wordpress主题和插件区别,html代码怎么下载3层神经网络#xff1a;从原理到代码实现的完整指南 深度学习的核心组件——神经网络#xff0c;今天我们就来手把手实现一个3层神经网络。无论你是刚入门的小白#xff0c;还是想巩固基础的开发者#xff0c;这篇指南都会让你有所收获#xff01; 神经网络结构解析 首先来…3层神经网络从原理到代码实现的完整指南深度学习的核心组件——神经网络今天我们就来手把手实现一个3层神经网络。无论你是刚入门的小白还是想巩固基础的开发者这篇指南都会让你有所收获神经网络结构解析首先来看我们的网络架构输入层2个神经元→ 隐藏层13个神经元→ 隐藏层22个神经元→ 输出层2个神经元这就是典型的全连接前馈神经网络。每一层的神经元都与下一层的所有神经元相连。符号系统详解神经网络有一套标准的符号表示法w12(1)w_{12}^{(1)}w12(1)​表示从第1层第2个神经元到第2层第1个神经元的权重a1(1)a_1^{(1)}a1(1)​表示第1层第1个神经元的加权输入含偏置右上角数字表示层数右下角两个数字表示“目标层神经元索引, 来源层神经元索引”信号传递的数学原理第一层计算从输入到隐藏层对于第1层的第一个神经元其计算过程为a1(1)w11(1)x1w12(1)x2b1(1)a^{(1)}_{1} w^{(1)}_{11}x_{1} w^{(1)}_{12}x_{2} b^{(1)}_{1}a1(1)​w11(1)​x1​w12(1)​x2​b1(1)​但这样逐个计算太繁琐了聪明的做法是用矩阵运算打包处理A(1)XW(1)B(1)\boldsymbol{A}^{(1)} \boldsymbol{X}\boldsymbol{W}^{(1)} \boldsymbol{B}^{(1)}A(1)XW(1)B(1)其中X(x1x2)\boldsymbol{X} \begin{pmatrix} x_1 x_2 \end{pmatrix}X(x1​​x2​​)输入W(1)(w11(1)w21(1)w31(1)w12(1)w22(1)w32(1))\boldsymbol{W}^{(1)} \begin{pmatrix} w_{11}^{(1)} w_{21}^{(1)} w_{31}^{(1)} \\ w_{12}^{(1)} w_{22}^{(1)} w_{32}^{(1)} \end{pmatrix}W(1)(w11(1)​w12(1)​​w21(1)​w22(1)​​w31(1)​w32(1)​​)权重矩阵B(1)(b1(1)b2(1)b3(1))\boldsymbol{B}^{(1)} \begin{pmatrix} b_1^{(1)} b_2^{(1)} b_3^{(1)} \end{pmatrix}B(1)(b1(1)​​b2(1)​​b3(1)​​)偏置Python实现一步步构建神经网络第一步初始化网络参数importnumpyasnpdefsigmoid(x):Sigmoid激活函数return1/(1np.exp(-x))definit_network():初始化神经网络权重和偏置network{}network[W1]np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]])network[b1]np.array([0.1,0.2,0.3])network[W2]np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])network[b2]np.array([0.1,0.2])network[W3]np.array([[0.1,0.3],[0.2,0.4]])network[b3]np.array([0.1,0.2])returnnetwork第二步前向传播实现defidentity_function(x):恒等函数输出层激活函数returnxdefforward(network,x):前向传播W1,W2,W3network[W1],network[W2],network[W3]b1,b2,b3network[b1],network[b2],network[b3]# 第1层计算a1np.dot(x,W1)b1# 加权和z1sigmoid(a1)# 激活函数# 第2层计算a2np.dot(z1,W2)b2 z2sigmoid(a2)# 输出层计算a3np.dot(z2,W3)b3 yidentity_function(a3)# 恒等激活returny第三步运行神经网络# 初始化网络networkinit_network()# 准备输入数据xnp.array([1.0,0.5])# 前向传播得到输出yforward(network,x)print(f神经网络输出:{y})# [0.31682708 0.69627909]关键知识点总结1. 矩阵运算的高效性用np.dot()一次性完成整层的加权和计算避免低效的循环操作NumPy的向量化运算大幅提升性能2. 激活函数的选择隐藏层常用sigmoid、ReLU等非线性函数输出层根据任务类型选择回归问题 → 恒等函数二分类 → sigmoid函数多分类 → softmax函数3. 网络参数的组织权重W连接两层神经元的参数矩阵偏置b每个神经元的偏移量层与层之间完全连接为什么这样设计模块化设计init_network()负责参数初始化forward()负责信号前向传播结构清晰易于扩展可扩展性增加网络层数只需简单扩展更换激活函数不影响整体结构方便后续添加反向传播算法实际应用场景这样的3层神经网络可用于回归预测房价预测、股票趋势分析二分类问题垃圾邮件识别、疾病诊断模式识别简单图像分类、特征提取扩展思考如果我想增加网络深度怎么办只需在init_network中添加更多W和b在forward中添加对应的计算层如果想使用不同的激活函数只需修改z1 sigmoid(a1)为其他函数如ReLUz1 np.maximum(0, a1)如何训练这个网络需要添加损失函数计算误差实现反向传播算法更新权重使用优化器如SGD、Adam调整学习过程结语通过这个简单的3层神经网络实现我们看到了深度学习的基本构建模块。虽然这个网络还无法解决复杂问题但它包含了所有核心概念✅ 前向传播 ✅ 激活函数 ✅ 矩阵运算 ✅ 参数组织掌握了这些基础你就为学习更复杂的网络架构如CNN、RNN打下了坚实的基础实践建议尝试修改网络结构如增加神经元数量观察输出变化或者用真实数据集替换我们的示例数据看看网络的表现如何。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询