自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鷾

  • 博客(170)
  • 资源 (4)
  • 收藏
  • 关注

原创 神经网络 | ⑬ 超参数验证:找到最佳学习超参数

摘要 神经网络超参数优化是模型调优的关键环节。本文系统介绍了超参数调试的核心策略:1) 严格区分训练、验证和测试数据集,避免数据泄露;2) 采用随机采样而非网格搜索,提高探索效率;3) 使用对数尺度采样,确保不同数量级的参数获得均匀探索机会;4) 实施由粗到精的迭代搜索,先大范围快速筛选,再逐步缩小范围精细调整。实验以MNIST数据集上的学习率和权值衰减系数优化为例,展示了该方法能有效定位高性能参数区间。这套方法平衡了搜索效率和结果质量,是深度学习实践中的重要技术。

2026-07-27 20:22:31 360

原创 神经网络 | ⑫ 正则化:防止模型死记硬背

本文探讨了机器学习中的过拟合问题及其正则化解决方法。过拟合表现为模型在训练集上表现优异但测试集上泛化能力差,主要由模型复杂度高和数据量少导致。文章重点介绍了两种正则化方法:权值衰减通过在损失函数中加入权重惩罚项限制参数大小;Dropout则通过在训练时随机屏蔽神经元来增强模型鲁棒性。实验结果表明,这两种方法有效缩小了训练与测试精度差距,显著提升了模型泛化能力。文章通过直观对比和代码实现,展示了正则化技术在实际应用中的效果。

2026-07-27 16:22:11 247

原创 神经网络 | ⑪ 批量归一化:让训练更稳、更快、更省心

批量归一化(Batch Normalization, BN)通过标准化神经网络各层的输入分布,有效解决了深度网络训练中的梯度消失和分布偏移问题。BN层插入在仿射变换后、激活函数前,先对输入进行归一化(均值为0、方差为1),再通过可学习的γ和β参数恢复网络表达能力。实验表明,BN能显著加速训练、降低对初始权重的敏感性,并自带轻微正则化效果。该方法使网络不再依赖精细的权重初始化,提升了模型的鲁棒性和训练效率。

2026-07-27 11:25:24 427

原创 神经网络 | ⑩ 权重初始化:神经网络训练的起点

本文探讨了神经网络权重初始化的关键问题。通过分析全零初始化和相同值初始化导致的权重对称问题,指出随机初始化的重要性。实验表明,标准差过大或过小的高斯分布初始化分别会导致梯度消失和表现力受限。文章介绍了两种主流初始化方法:适用于S型激活函数的Xavier初始值(标准差1/√n)和适用于ReLU类激活函数的He初始值(标准差√(2/n))。这些方法能确保各层激活值分布合理,从而有效促进网络学习。

2026-07-27 11:19:30 192

原创 神经网络 | ⑨ MNIST 手写数字识别的 FCNN 训练实现

本文实现了一个基于MNIST手写数字数据集的三层全连接神经网络(FCNN)训练系统。该系统通过加载预训练权重参数,能够对28x28像素的手写数字图像进行分类识别。网络结构包含784个输入神经元、一个隐藏层(50个神经元)、10个输出神经元。实现对数据集的自动学习,得到权重参数,进行推理

2026-06-24 16:23:22 281

原创 神经网络 | ⑧ 优化器:参数更新的引擎

优化器演进:从梯度下降到Adam 本文系统梳理了神经网络优化器的演进历程。梯度下降作为基础方法,通过计算损失函数对参数的梯度来逐步逼近最优解。然而原始梯度下降存在计算成本高、可能陷入局部最优等问题。 为解决这些问题,优化器经历了多轮改进: Batch GD使用全量数据计算精确梯度但效率低下 SGD引入随机性,每次仅用单个样本提升效率 Momentum加入历史梯度信息,减少震荡 AdaGrad和RMSprop实现参数自适应学习率 Adam综合动量与自适应学习率,成为当前主流 现代优化器围绕四个核心问题持续优化

2026-06-24 16:17:06 464

原创 神经网络 | ⑦ 反向传播:让网络从错误中学习

反向传播是深度神经网络训练的核心算法,它通过链式法则高效计算损失函数对每个参数的梯度。本文首先介绍了梯度下降的基本原理,即通过负梯度方向更新参数以降低损失。随后对比了数值微分法和反向传播法的优劣:数值微分虽然直观但计算量巨大,而反向传播利用计算图将全局梯度分解为局部导数的乘积,仅需一次前向和反向遍历即可完成所有参数的高效求导。文中通过买苹果和复合函数求导的实例,展示了计算图如何实现链式法则的自动微分。反向传播的关键在于将全局损失拆解为各节点的局部导数连乘,使得即使是深度网络也能快速获得精确梯度,为后续参数优

2026-06-24 16:09:55 458

原创 神经网络 | ⑥ 损失函数:给模型的表现打分

前面提到,我们通过神经网络的前向传播,让数据从输入层传播到输出层,最终得到预测值 y 。但问题是:我们为每个神经元设置的权重和偏置一开始都是随机初始化的,预测值 y 与真实值 t 之间必然存在偏差。那么我们应该如何调整这些权重和偏置,才能让预测值尽可能逼近真实值,更好地模拟现实呢?如果网络很小、参数很少,或许可以逐个穷举尝试。但是现实中的神经网络动辄有成千上万的参数,人工参数根本不现实,这就需要神经网络自己去探索什么样的参数最合适。这个过程,就是神经网络的学习

2026-06-23 21:13:04 279

原创 神经网络 | ⑤ MNIST 手写数字识别的 FCNN 推理实现

本文实现了一个基于MNIST手写数字数据集的三层全连接神经网络(FCNN)推理系统。该系统通过加载预训练权重参数,能够对28×28像素的手写数字图像进行分类识别。网络结构包含784个输入神经元、两个隐藏层(50和100个神经元)和10个输出神经元,使用Sigmoid和Softmax作为激活函数。文章详细介绍了数据集特征、网络设计思路以及前向传播的计算流程,最终实现了93.52%的测试准确率。该实现为深度学习入门项目,展示了神经网络的基本推理过程。

2026-06-23 21:06:11 299

原创 神经网络 | ④ 前向传播:数据如何流经网络

本文介绍了神经网络的前向传播机制,通过输入层、隐藏层和输出层的计算过程,数据从输入流向输出。隐藏层包含仿射变换(线性变换加偏置)和激活函数(非线性变换)两个步骤,逐层提取特征。文章详细拆解了仿射变换层的矩阵运算实现和激活函数的逐元素特性,并提供了ReLU激活函数的代码实现。前向传播是神经网络的基础计算方式,为后续理解反向传播和训练过程奠定基础。

2026-06-23 21:02:33 257

原创 神经网络 | ③ 激活函数:从阶跃到 ReLU 的进化之路

本文摘要: 神经网络通过堆叠多层和采用平滑非线性激活函数,突破了感知器的线性限制。激活函数的发展经历了阶跃函数、Sigmoid、tanh、ReLU、LeakyReLU、GELU和SiLU/Swish等关键变革,逐步解决了梯度消失、非零中心输出等问题。其中ReLU因其简单高效成为CNN时代主流,而GELU和SiLU则主导了Transformer架构。这些创新使神经网络能够训练更深层的模型,推动了深度学习在计算机视觉和自然语言处理等领域的突破性进展。

2026-06-23 20:53:55 466

原创 神经网络 | ② 感知器:神经网络的基石

感知器是神经网络的基础模型,由Frank Rosenblatt于1957年提出。本文从单层感知器的数学原理和代码实现入手,分析了其处理线性可分问题的能力(如与门)和局限性(无法处理异或门等线性不可分问题)。通过叠加单层感知器形成多层感知器(MLP),可以突破非线性限制,实现异或门等复杂功能。

2026-06-23 20:34:44 315

原创 神经网络 | ① 从人工智能到深度学习的概念地图

本文系统梳理了人工智能、机器学习、神经网络与深度学习之间的层级关系。人工智能是终极目标,机器学习是实现路径,神经网络是机器学习的重要方法,深度学习则是多隐藏层的复杂神经网络。监督学习作为机器学习的主要分支,包含回归与分类两大任务,涵盖了线性回归、SVM、决策树等经典算法。神经网络通过模拟生物神经元实现非线性计算,浅层学习使用少量隐藏层,而深度学习通过多层结构自动提取特征。文章还按网络架构对深度学习模型进行分类,包括前馈网络、CNN、RNN等,为后续技术细节的展开奠定了概念基础。

2026-06-23 20:33:09 527

原创 Git | 配置别名操作

Git 自定义Git 配置别名操作

2025-12-28 00:14:40 402

原创 Git | 配置忽略文件操作

Git 自定义Git 配置忽略文件操作

2025-12-28 00:13:31 807

原创 Git | 标签操作

Git 标签操作

2025-12-28 00:12:20 852

原创 Git | 变基操作

Git 分支管理变基操作

2025-12-28 00:11:06 1257

原创 Git | 多人协助策略

Git 分支管理多人协助策略

2025-12-28 00:07:23 377

原创 Git | Feature分支操作

Git 分支管理Feature分支操作

2025-12-28 00:05:38 245

原创 Git | Bug分支操作

git 分支管理Bug分支操作

2025-12-27 17:50:28 990

原创 Git | 分支管理操作

git 分支管理操作

2025-12-27 17:16:48 879

原创 Git | 远程仓库操作

git 远程仓库操作

2025-12-27 17:09:20 944

原创 Git | 状态查看操作

Git 本地仓库状态查看操作

2025-12-25 23:09:20 1296

原创 Git | 文件修改操作

Git 本地仓库文件修改操作

2025-12-25 23:06:46 958

原创 Git | 版本控制操作

Git 本地仓库版本控制操作

2025-12-25 23:01:15 666

原创 Git | 文件提交操作

Git 本地仓库文件添加提交操作

2025-12-25 22:56:41 1105

原创 Git | 简介与安装

Git 系统简介与安装

2025-12-25 22:50:21 1095

原创 数据库系统概述 | 第四章课后习题答案

本文为数据库系统概论(第五版)【高等教育出版社】部分课后答案。如有错误,望指正

2025-04-06 04:19:48 541

原创 数据库系统概述 | 第三章课后习题答案

本文为数据库系统概论(第五版)【高等教育出版社】部分课后答案。如有错误,望指正

2025-04-05 17:56:41 619

原创 数据库系统概述 | 第二章课后习题答案

本文为数据库系统概论(第五版)【高等教育出版社】部分课后答案。如有错误,望指正

2025-04-04 22:05:50 612

原创 C++ | 基础语法 | 数据结构[总结]

C++ 基础语法笔记 | 数据结构[总结]

2025-02-27 00:29:09 743

原创 C++ | 基础语法 | 函数参数[总结]

C++ 基础语法笔记 | 函数参数[总结]

2025-02-27 00:28:33 290

原创 C++ | 基础语法 | 动态数组

C++ | 基础语法 | 动态数组

2025-02-26 01:43:46 489

原创 C++ | 基础语法 | 结构体

C++ 基础语法笔记 | 结构体

2025-02-26 01:42:42 303

原创 C++ | 基础语法 | 输入输出

C++ 基础语法笔记 | 输入输出

2025-02-26 01:38:17 436

原创 C++ | 基础语法 | 引用

C++ 基础语法笔记 | 引用

2025-02-26 01:36:44 623

原创 C++ | 基础语法 | 指针

C++ 基础语法笔记 | 指针

2025-02-26 01:33:43 1077

原创 C++ | 基础语法 | 字符串

C++ 基础语法笔记 | 字符串

2025-02-26 01:24:16 1429

原创 C++ | 基础语法 | 数组

C++ 基础语法笔记 | 数组

2025-02-26 01:17:52 532

原创 C++ | 基础语法 | 函数

C++ 基础语法笔记 | 函数

2025-02-26 01:17:03 645

基于opengauss的医院患者预约简易系统

基于opengauss的医院患者预约简易系统

2024-04-25

BeanUtils工具类

内容概要:BeanUtils能够快速封装,减少代码 适用人群:学习java连接mysql的初学者 使用场景:连接数据库

2022-12-28

mybatis-3.5.11

内容概要:MyBatis是基于ORM思想的持久层框架 适用人群:学习java连接mysql的初学者 使用场景:连接数据库 其他说明:在IDEA中,将jar包拷贝到项目中,右键导入到库。

2022-12-23

c3p0-0.9.5.2

内容概要:C3P0数据库连接池 适用人群:学习java连接mysql的初学者 使用场景:数据库连接池 其他说明:在IDEA中,将jar包拷贝到项目中,右键导入到库。

2022-12-23

mysql-connector-j-8.0.31

内容概要:java连接mysql数据库所需要的jar包 适用人群:学习java连接mysql的初学者 使用场景:java连接mysql 其他说明:在IDEA中,将jar包拷贝到项目中,右键导入到库。

2022-12-23

JdbcTemplate

内容概要:Spring框架下基于ORM思想的Jdbc工具类 jar包 适用人群:学习java连接mysql的初学者 使用场景:JDBC工具栏 其他说明:在IDEA中,将jar包拷贝到项目中,右键导入到库。

2022-12-23

druid-1.0.9

内容概要:Druid数据库连接池 适用人群:学习java连接mysql的初学者 使用场景:数据库连接池 其他说明:在IDEA中,将jar包拷贝到项目中,右键导入到库。

2022-12-23

ListView 长按删除列表项

内容概要:ListView 长按删除列表项 适用人群:android初学者

2022-08-27

音乐播放器 相关插件 用于同步扫描文件系统

音乐播放器 相关插件 用于同步扫描文件系统

2022-07-24

Android 简单音乐播放器 (涉及 CursorAdapter、ContentResolver、监听器、服务、广播)

内容概要: 1.将手机内的音乐展示到播放界面 2.点击播放界面的任一歌曲,能够进行播放,同时展示到底部导航栏上 3.将程序转入后台,仍然能够播放 4.在通知栏上显示当前播放音乐信息 5.能够对音乐进行暂停和继续 6.在导航栏上能够显示当前播放进度,即进度条 开发工具:Android studio 能学到什么:ContentProvider、ContentResolver、CursorAdapter、Cursor、后台服务、前台服务、绑定服务、自定义广播、播放进度条、OnClickListener监听器 适用人群:Android开发初学者

2022-07-18

微机原理与接口技术Proteus仿真软件 - 8255A+8253A+8259+8086芯片实现走马灯效果

设计内容:在Proteus8.6仿真平台上,使用Intel 8086芯片、并行接口芯片8255A、中断控制器8259A、计数器接口芯片8253、74LS373、74LS245、74LS138以及发光二极管,设计实现走马灯效果,同时可以通过按键控制走马灯的走停。包含.asm、.pdsprj文件。 设计思路:走马灯通过8个发光二极管依次闪烁实现。这个系统主要由8086最小系统,显示模块、中断模块、定时模块组成。 适合人群:微机原理与接口技术仿真实验 学习人员 涉及知识:Proteus8.6仿真平台使用、汇编程序编写、Intel 8086芯片、并行接口芯片8255A、中断控制器8259A、计数器接口芯片8253、74LS373、74LS245、74LS138

2022-07-18

微机原理与接口技术Proteus仿真软件 - 8255A+8253A+8259+8086芯片实现走马灯效果

设计内容:在Proteus8.6仿真平台上,使用Intel 8086芯片、并行接口芯片8255A、中断控制器8259A、计数器接口芯片8253、74LS373、74LS245、74LS138以及发光二极管,设计实现走马灯效果,同时可以通过按键控制走马灯的走停。包含.asm、.pdsprj文件。 设计思路:走马灯通过8个发光二极管依次闪烁实现。这个系统主要由8086最小系统,显示模块、中断模块、定时模块组成。 适合人群:微机原理与接口技术实验仿真学习人员

2022-05-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除