摘要: # 优化: # 增加父类Module,输出每层信息 # 增加ReLU类,Tanh类 # 增加Dropout类,随机失活,防止过拟合,提高泛化能力 # 增加Parameter类,保存权重和梯度 # 导入必要的库 import numpy as np import os import struct # 阅读全文
posted @ 2025-09-27 16:16 李大嘟嘟 阅读(8) 评论(0) 推荐(0)
摘要: Momentum Gradient Descent(动量梯度下降)是标准梯度下降(SGD)的一个重要改进版,旨在加速训练过程,并帮助模型更有效地找到最优解。 你可以将动量(Momentum)想象成物理学中的惯性。 动量梯度下降(Momentum GD)的核心思想 标准 SGD 的问题: 标准的 SG 阅读全文
posted @ 2025-09-27 15:36 李大嘟嘟 阅读(31) 评论(0) 推荐(0)
摘要: 抽象化编程(Abstraction in Programming)是面向对象编程(OOP)中一个非常重要的设计原则,它与我们前面讨论的封装、继承、多态紧密相关。 抽象化编程的含义 核心思想: 关注于做什么(What),而不是如何做(How)。 抽象化意味着隐藏对象的复杂实现细节,只向用户暴露必要的功 阅读全文
posted @ 2025-09-27 14:31 李大嘟嘟 阅读(11) 评论(0) 推荐(0)
摘要: 优化器(Optimizer)是深度学习和机器学习中最核心的组件之一。 简单来说,优化器的作用就是指导模型如何学习。它决定了在反向传播计算出梯度(模型应该朝哪个方向调整)之后,模型应该以多大的“步伐”和什么样的方式来实际更新它的权重和偏置。 你可以把优化器看作是一个驾驶员,而梯度(Loss 对权重的导 阅读全文
posted @ 2025-09-27 14:27 李大嘟嘟 阅读(20) 评论(0) 推荐(0)
摘要: Dropout(丢弃法)是一种在神经网络训练中广泛使用的正则化(Regularization)技术。它的主要作用是防止模型在训练集上过拟合(Overfitting),从而提高模型在未见过数据(测试集)上的泛化能力。 Dropout 类的作用和工作原理 如果你要在你的面向对象的神经网络框架中实现一个 阅读全文
posted @ 2025-09-27 14:10 李大嘟嘟 阅读(22) 评论(0) 推荐(0)
摘要: np.random.rand 是 NumPy 库中一个常用的函数,用于创建包含随机数(浮点数)的数组。 np.random.rand 详解 1. 核心功能 np.random.rand 生成的随机数服从**[0.0, 1.0) 范围内的均匀分布(Uniform Distribution)**。 均匀 阅读全文
posted @ 2025-09-27 13:39 李大嘟嘟 阅读(18) 评论(0) 推荐(0)