自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 day53 神经网络调参指南

摘要:本文系统探讨了深度学习中权重初始化和可视化的重要性。首先分析了权重初始化的关键作用,包括打破神经网络对称性、避免梯度消失/爆炸等问题,并介绍了PyTorch中的初始化方法。其次详细讲解了权重可视化技术,通过分布图和热图直观展示参数变化,帮助理解模型学习过程。最后提供了神经网络调参实用指南,包括参数分类、调参顺序建议和具体技巧(如学习率调整、激活函数选择等)。这些方法为深度学习实践提供了重要的理论基础和操作指导,有助于提升模型训练效果。

2025-06-12 23:39:14 551

原创 day52 ResNet18 CBAM

print(f'Epoch {epoch}/{epochs} 完成 | 耗时: {time.time() - epoch_start_time:.2f}s | 训练准确率: {train_acc:.2f}% | 测试准确率: {test_acc:.2f}%')- CBAM 模块的初始状态接近“直通”,即在训练初期,CBAM 模块对特征图的影响较小,不会破坏预训练模型的权重。- 每个阶段的训练过程都有详细的日志输出,包括每个 batch 的损失和每个 epoch 的训练准确率和测试准确率。

2025-06-10 23:11:31 374

原创 day51 python CBAM注意力

CBAM模块是一种轻量级的卷积注意力机制,由通道注意力和空间注意力两部分组成。通道注意力通过全局池化和全连接层学习通道间关系,空间注意力则通过通道维池化和卷积捕捉空间特征分布。二者顺序连接形成CBAM模块,能同时优化特征图的通道和空间维度。该模块具有即插即用、计算量小的特点,可嵌入各类CNN架构。实验表明,在CIFAR-10数据集上,加入CBAM的CNN模型测试准确率达85.98%,有效提升了特征表达能力。

2025-06-09 23:16:24 774

原创 day50 随机函数与广播机制

本文介绍了PyTorch中随机张量生成和广播机制的核心内容。第一部分详细讲解了torch.randn()等随机张量生成函数的使用方法,包括不同维度张量的创建示例。第二部分深入剖析了PyTorch的广播机制规则,通过加法、乘法等运算实例展示了不同维度张量间的自动兼容处理。文章还包含了神经网络各层维度变化的测试示例,帮助读者理解张量在模型中的流动过程。这些基础知识对深度学习实践具有重要指导意义。

2025-06-08 23:47:22 1041

原创 day49 python 注意力热图

本文介绍了基于PyTorch实现类激活图(CAM)生成注意力热图的方法,用于可视化神经网络的决策过程。通过提取特征图与分类层权重加权求和,生成直观的热图并叠加到原图上。实验结果表明,该方法能清晰展示模型关注区域,有助于理解模型决策机制。未来将继续探索注意力机制在复杂任务中的应用。

2025-06-07 23:38:46 588

原创 day48 python通道注意力

本文深入探讨了注意力机制在深度学习中的应用,特别是在CNN模型中引入通道注意力机制对性能提升的影响。通过对比实验,展示了通道注意力模块如何增强模型对关键特征的提取能力,并通过特征图和注意力热力图可视化,直观呈现了模型决策过程的变化。实验结果表明,通道注意力显著提升了模型的准确率,从84.68%提高到85.38%,为深度学习模型的优化提供了有力的实践参考。

2025-06-06 23:37:38 933

原创 day47 TensorBoard学习

本文介绍了TensorBoard的使用方法,包括其发展历程、核心原理及基本操作。通过CIFAR-10数据集的MLP和CNN实战案例,展示了如何利用TensorBoard记录训练过程中的各种信息,如标量数据、模型结构、图像数据和权重分布等,以帮助监控和优化模型训练。

2025-06-05 23:23:27 964

原创 day46 python预训练模型补充

本文介绍了使用预训练模型 ResNet18 对 CIFAR-10 数据集进行图像分类的实践。通过冻结卷积层参数并微调全连接层,再解冻所有参数进行训练,模型最终达到了 86.30% 的测试准确率。实验表明,预训练模型能够显著提升小数据集上的分类性能,同时数据增强操作有助于提高模型的泛化能力。

2025-06-04 18:09:32 872

原创 day45 python预训练模型

本文回顾了预训练模型的基础知识,包括预训练的概念、常见分类预训练模型、图像预训练模型的发展史以及预训练策略。通过代码实战,分别在 CIFAR-10 数据集上实现了 ResNet18 和 AlexNet 预训练模型,并对比了它们的性能。实验结果显示,ResNet18 在 CIFAR-10 数据集上表现略优于 AlexNet。

2025-06-03 23:54:53 653

原创 day44 python 训练CNN网络并使用Grad-CAM可视化

本文介绍了如何在Kaggle平台上使用CNN网络对猫狗图像识别数据集进行训练,并利用Grad-CAM技术进行可视化。通过模块化代码设计,包括模型构建、数据预处理、模型训练和可视化,提高了代码的可读性和可维护性。实验展示了模型对图像分类的注意力区域,帮助理解CNN模型的行为,适合新手学习和实践。

2025-06-02 23:55:05 869

原创 day43 python Grad-CAM

摘要:Grad-CAM是一种用于解释CNN决策过程的可视化工具,通过生成热力图展示模型关注的图像区域。文章首先阐述了Grad-CAM的必要性,其能帮助理解模型决策依据并发现潜在偏差。接着介绍了Grad-CAM原理:利用最后一个卷积层的特征图和梯度信息,加权生成热力图。然后详细说明了基于PyTorch的实现方法,包括模块钩子机制和完整代码示例。最后通过CIFAR-10实验验证了Grad-CAM的有效性,证明其能直观展示模型关注的关键特征区域。

2025-06-01 23:45:38 724

原创 day42 简单CNN

本文摘要:深度学习中的CNN架构剖析与实践指南 文章系统解析了CNN的核心组件:1)卷积层作为特征提取器;2)归一化层优化训练过程;3)激活函数引入非线性。针对工程实践,提供了数据增强策略矩阵和学习率调度方案,并给出典型问题(如NaN值和过拟合)的排查方法。通过可视化实例和代码片段,展示了传统方法在图像分类中的局限性,突出了CNN在自动特征提取和泛化能力上的优势。文章兼具理论深度与实践价值,为CNN学习者提供了全面的技术参考。

2025-05-31 23:50:34 1110 1

原创 day41 python图像识别任务

本文详细介绍了多层感知机(MLP)在图像识别任务中的实现过程。首先通过数据预处理将MNIST和CIFAR-10数据集转换为适合模型处理的格式。接着构建了包含全连接层、激活函数和Dropout的MLP模型,并使用Adam优化器和交叉熵损失函数进行训练。实验结果显示,MLP在MNIST上准确率达96.75%,但在CIFAR-10上仅52.40%,说明其对复杂图像数据处理存在局限。文章指出MLP作为基础神经网络结构,虽简单易用,但在处理图像空间信息方面表现不足,建议未来转向卷积神经网络(CNN)以获得更好性能。

2025-05-30 23:40:55 1077

原创 day40 python图像数据与显存

本文系统介绍了图像数据处理的深度学习全流程。首先分析了图像数据特点与预处理方法,包括归一化和标准化操作。在模型定义部分,分别阐述了黑白图像和彩色图像的多层感知机模型构建。重点剖析了显存消耗的四大组成部分:模型参数/梯度、优化器状态、批量数据占用及中间变量,并提供了显存计算示例。最后探讨了batchsize选择策略,指出需平衡显存限制与训练效率,建议从小批量逐步测试。全文通过MNIST和CIFAR-10数据集实例,结合PyTorch代码演示,完整呈现了从数据处理到模型训练的实践要点。

2025-05-29 23:58:19 1097

原创 day39 pythonCNN网络

本文介绍了从零开始构建卷积神经网络(CNN)实现MNIST手写数字识别的完整流程。首先阐述了CNN的核心原理,包括卷积操作、池化层和ReLU激活函数的作用。随后详细展示了代码实现步骤:1)数据加载与预处理;2)构建包含卷积层、池化层和全连接层的CNN模型;3)模型编译与训练;4)性能评估与可视化。文章还探讨了MNIST-C带噪声数据集的处理方法及Fine-tuning调优技术。通过实践,作者深刻理解了CNN自动提取图像特征的能力,验证了该网络在手写数字识别任务中的有效性。

2025-05-28 23:52:32 731

原创 day38 python Dataset和Dataloader

本文介绍了PyTorch中Dataset和DataLoader类在数据处理中的协同工作。Dataset类负责定义数据内容和格式,通过实现__len__和__getitem__方法来获取单个样本并进行预处理;而DataLoader类则处理批量加载策略,支持多进程高效读取。两者分别扮演"厨师"和"服务员"的角色,共同实现大规模数据的高效处理与加载,为深度学习模型训练提供支持。文章以MNIST数据集为例,详细展示了从数据预处理到可视化展示的全过程,并总结了这两个核心类的关键

2025-05-27 23:23:06 962

原创 day37 python早停策略和模型权重的保存

本文主要介绍了使用GPU加速训练鸢尾花分类模型的过程及优化策略。实验将原本基于CPU的训练迁移到GPU,显著提高了训练效率,耗时从6.15秒降至5.91秒。通过定义多层感知机(MLP)模型并进行数据预处理,实现了96.67%的测试集准确率。为进一步优化,引入了早停法(EarlyStopping)来防止过拟合,当测试损失连续50轮未改善时终止训练。实验结果表明,GPU加速和早停法的结合有效提升了模型性能,为后续深度学习优化提供了实践参考。

2025-05-26 23:42:19 1047

原创 day36 python神经网络训练

本文记录了使用PyTorch框架实现信贷风险预测神经网络模型的全过程。首先对信贷数据进行了预处理,包括缺失值填充、特征编码和归一化处理。然后构建了一个包含两个隐藏层的多层感知机模型,采用交叉熵损失函数和SGD优化器进行训练。通过200轮迭代训练后,模型在测试集上达到了可观的准确率。文章详细展示了数据预处理、模型构建、训练评估等关键步骤的代码实现,为信贷风险评估任务提供了一个实用的深度学习解决方案。

2025-05-25 23:18:45 675

原创 day35 python模型可视化与推理

本文介绍了使用PyTorch构建MLP模型对鸢尾花数据集进行分类的完整流程。实验环境搭建包括导入必要库和加载数据集,数据预处理采用归一化和训练测试集划分。构建的MLP模型包含输入层、隐藏层和输出层,使用ReLU激活函数和交叉熵损失函数,通过SGD优化器进行了20000轮训练。在测试集上达到96.67%准确率,并对模型结构和权重参数进行了可视化分析。实验总结了深度学习的实践经验,包括模型训练、评估和优化方法,为后续更复杂模型研究奠定了基础。

2025-05-24 23:45:56 1006

原创 day34 python深度学习训练优化实践:CPU vs GPU

本文通过对比CPU与GPU在训练多层感知机(MLP)模型时的性能差异,发现小型数据集(鸢尾花)在CPU上训练更快(2.93秒vsGPU的11.29秒),这主要源于GPU的数据传输和核心启动开销。实验通过减少打印频率将GPU训练时间优化至10.38秒,并探讨了记录间隔对训练时间的影响。文中还解析了PyTorch中__call__方法的作用,强调应使用model(x)而非直接调用forward()以保持完整的前向传播流程。结论指出CPU适合小型简单模型,而GPU的并行优势在大型复杂任务中更显著,为深度学习训练优

2025-05-23 23:12:20 1141

原创 day33 python深度学习入门

本文详细介绍了如何使用PyTorch框架实现鸢尾花分类任务,涵盖了从环境搭建到模型训练的全过程。首先,创建并配置了Python环境,安装了必要的库,并检查了CUDA环境以确保GPU加速的可用性。接着,加载并预处理了经典的鸢尾花数据集,将其转换为PyTorch张量。然后,定义了一个简单的全连接神经网络模型,并选择了交叉熵损失函数和随机梯度下降优化器。在模型训练部分,通过20000轮的迭代优化,损失值逐渐降低,模型性能不断提升。最后,通过绘制损失曲线,直观展示了训练过程,并总结了环境搭建、数据预处理、模型设计、

2025-05-22 23:27:51 863

原创 day32 python解释性库PDPbox

本文介绍了如何使用PDPbox库进行机器学习模型的特征影响可视化分析。首先,作者通过阅读PDPbox官方文档,了解了该库的基本功能和使用方法。接着,作者使用经典的鸢尾花数据集训练了一个随机森林分类模型,并准备进行特征影响的可视化分析。在分析过程中,作者详细介绍了如何导入TargetPlot类、实例化对象、调用plot方法绘制图形,并探索了返回值的意义。通过这一过程,作者不仅学会了如何使用PDPbox进行特征影响的可视化,还掌握了如何通过官方文档学习和使用新的Python库。最终,作者总结了对PDPbox的使

2025-05-21 23:52:48 589

原创 day31 python机器学习项目代码拆分与组织实践

本文介绍了一个信用违约预测项目,旨在通过随机森林算法构建高效、准确的预测模型,以帮助金融机构优化信贷资源分配和降低风险。项目结构模块化,包括数据处理、模型训练和可视化等部分,便于维护和扩展。数据预处理涉及处理缺失值和特征编码,模型训练采用随机森林分类器,并通过SHAP值增强模型的可解释性。特征工程包括连续特征处理和离散特征编码,以提高模型性能。项目还强调了模块化设计、配置文件分离和日志记录等开发实践,以确保代码的可维护性和可扩展性。通过本项目,作者不仅提升了机器学习技术的应用能力,还深入探索了其在金融领域的

2025-05-20 23:48:45 803

原创 day30 python 模块、包与库的高效使用指南

系统总结了Python模块、包和库的高效使用方法。文章首先对Python库进行了分类,详细介绍了基础工具、科学计算、数据分析、Web开发、机器学习、自动化脚本和网络爬虫等常用库的适用场景。接着,文章探讨了模块与包的导入方式,包括标准导入、从模块中导入特定项以及非标准导入,并分析了各自的优缺点。此外,文章还介绍了模块和包的定义及其在代码组织中的作用,并讨论了如何查看和学习库的源代码,尤其是对于高性能库(如OpenCV)。最后,文章总结了合理使用模块、包和库的重要性,

2025-05-19 23:26:51 1033

原创 day29 python深入探索类装饰器

本文深入探讨了Python中的类装饰器,通过对比类装饰器与函数装饰器的异同,揭示了类装饰器在动态修改类结构方面的强大功能。文章详细介绍了类装饰器的实现方式,包括为类添加日志功能和动态方法绑定的两种方式,并通过实例代码展示了如何手动调用装饰器对已定义的类进行“后天改造”。最后,文章总结了类装饰器的核心优势,即在不修改原类代码的情况下扩展功能,并展望了未来在项目中应用类装饰器以提升代码复用性和维护性的可能性。

2025-05-18 23:50:39 966

原创 day28 python 类与继承

类是面向对象编程中的核心概念,用于封装属性和方法,作为创建对象的模板。类通过__init__方法初始化实例属性,并通过普通方法定义行为逻辑。类的继承机制允许子类复用父类的属性和方法,同时可以通过方法重写和新增方法扩展功能。super()函数常用于子类中调用父类方法,以保留父类逻辑并在此基础上进行扩展。类和继承的使用有助于实现代码的封装、复用和扩展,提高编程效率和代码的可维护性。

2025-05-17 16:56:11 475

原创 day27 python 装饰器

Python装饰器是一种强大的工具,允许在不修改原函数代码的情况下增加额外功能。装饰器本质上是高阶函数,接收一个函数并返回一个新函数,新函数在原函数执行前后添加额外逻辑,如计时或日志记录。通过使用装饰器,代码可以更加简洁、可读性更高。装饰器支持任意参数和返回值处理,使用*args和**kwargs可以处理任意数量的位置参数和关键字参数。装饰器的应用场景广泛,如优化质数查找函数、日志记录等,能够有效提升代码的复用性和可维护性。

2025-05-17 16:54:04 362

原创 day26 Python 自定义函数

本文系统地介绍了Python中自定义函数的使用方法,涵盖了函数的基本定义、参数类型、返回值、变量作用域等核心概念。首先,函数是封装特定功能的代码块,通过函数名和参数调用。文章详细讲解了不带参数和带参数的函数定义,并通过示例展示了如何查看文档字符串。接着,介绍了带返回值的函数,展示了如何计算并返回结果。此外,文章还探讨了变量的作用域,包括局部变量和全局变量的区别。最后,深入解析了Python函数的多种参数类型,如位置参数、默认参数值、可变数量参数(*args和**kwargs)等,帮助读者全面掌握自定义函数的

2025-05-15 23:51:50 889

原创 day25 python异常处理

在AI辅助编程中,try-except异常处理模块被广泛使用以确保代码的稳定运行。Python的异常处理机制提供了强大的容错能力,允许程序在遇到错误时优雅地处理并继续执行或可控地结束。异常发生时,Python会创建异常对象,并通过try-except结构进行处理。try块包含可能引发异常的代码,except块处理特定类型的异常,else块在try块无异常时执行,finally块无论是否发生异常都会执行。常见的异常类型包括SyntaxError、NameError、TypeError等。通过合理使用异常处理结

2025-05-14 23:42:57 729

原创 day24 python元组和OS模块的深度探索

本文深入探讨了Python中元组和OS模块的特性及其应用。元组作为一种有序且不可变的数据结构,在机器学习和深度学习中被广泛用于表示模型参数和配置信息。文章详细介绍了元组的创建、索引、切片等操作,并举例说明了其在机器学习管道中的应用。此外,OS模块提供了丰富的功能,用于管理文件、目录和路径,包括获取当前工作目录、列出文件、拼接路径、访问环境变量以及遍历目录树等操作。掌握元组和OS模块的使用,能够有效提升数据处理和文件管理的效率,特别是在复杂的深度学习项目中。

2025-05-13 19:37:33 1019

原创 day23 机器学习管道 Pipeline

在机器学习中,Pipeline(管道)是一种高效管理和复用数据预处理、特征提取、模型训练和评估等步骤的工具。本文详细介绍了Pipeline的基础概念,包括其定义、转换器(Transformer)与估计器(Estimator)的区别,以及Pipeline的优势,如防止数据泄露、简化超参数调优和提高代码复用性。通过一个信贷数据集的案例,展示了如何从传统的手动处理流程过渡到使用Pipeline构建高效的机器学习工作流。文章还提供了通用的机器学习Pipeline模板代码,帮助读者在实际项目中快速应用和调整Pipel

2025-05-12 23:45:52 1153

原创 day22 kaggle的实战数据泰坦尼克号幸存者预测

泰坦尼克号是20世纪初最豪华的客运轮船,被誉为“永不沉没”,却在1912年首航时与冰山相撞沉没,导致逾1500人丧生。Kaggle平台的“Titanic: Machine Learning from Disaster”竞赛以此为案例,旨在通过机器学习预测乘客生存率。项目使用Python进行数据分析,包括数据加载、清洗、特征工程和模型构建。通过可视化分析,发现性别、年龄、票价、船舱等级等因素与生存率相关。模型构建阶段,比较了多种机器学习算法。

2025-05-12 03:22:43 1560

原创 day21 python降维算法

本文介绍了常见的降维算法及其应用,包括无监督降维和有监督降维。无监督降维算法如PCA、t-SNE、UMAP等,主要通过保留数据的方差或局部结构来实现降维,适用于数据可视化和去噪等场景。有监督降维算法如LDA,则利用类别标签信息,寻找最佳类别分离的投影方向,适用于分类任务的预处理。文章通过代码示例展示了如何使用PCA、t-SNE和LDA对数据进行降维,并结合随机森林分类器评估降维效果。结果表明,LDA在分类任务中表现较好,而t-SNE更适合数据可视化。

2025-05-10 23:16:47 1048

原创 day20 python 特征降维与奇异值分解(SVD)

文章主要介绍了如何解决VSCode中Markdown单元格无法渲染LaTeX公式的问题,并详细讲解了特征降维中的非特征筛选方法,特别是奇异值分解(SVD)的应用。首先,建议安装Markdown All in One插件来解决LaTeX渲染问题。随后,文章回顾了线性代数中的特征值分解及其在考研中的应用,通过具体例题展示了如何计算矩阵的特征值和特征向量,并进一步解释了矩阵对角化的过程。接着,文章探讨了SVD的数学原理及其在数据降维、图像压缩和推荐系统中的实际应用,强调了SVD在提取数据主要特征和去除噪声中的重要

2025-05-10 00:05:24 734

原创 day19 python特征选择 高效降低计算成本

本文通过信用违约预测案例和新闻数据案例,详细介绍了方差筛选、皮尔逊相关系数筛选、Lasso筛选、树模型重要性筛选、SHAP重要性筛选和递归特征消除等特征选择方法,并展示了它们在实际应用中的效果。研究发现,Lasso筛选对高维数据效果显著,不同方法适用于不同数据规模和特征数量,合理选择特征可提升模型性能和可解释性。

2025-05-08 22:16:12 763

原创 day18 python聚类分析对数据集模型性能影响

聚类后的分析:推断簇的类型知识点回顾:推断簇含义的2个思路:先选特征和后选特征通过可视化图形借助ai定义簇的含义科研逻辑闭环:通过精度判断特征工程价值作业:参考示例代码对心脏病数据集采取类似操作,并且评估特征工程后模型效果有无提升。

2025-05-07 23:57:18 842

原创 day17 天池新闻数据KMeans、DBSCAN 与层次聚类的对比

在数据分析中,聚类是一种常见的无监督学习方法,用于将数据划分为不同的组或簇。本文将通过news数据集(news.csv),使用 KMeans、DBSCAN 和层次聚类三种方法进行聚类分析,并对比它们的性能。

2025-05-06 19:15:14 941

原创 day16 numpy和shap深入理解

NumPy数组是Python中用于存储和操作大型多维数组和矩阵的主要工具。NumPy数组的创建非常灵活,可以接受各种“序列型”对象作为输入参数来创建数组。这意味着你可以将Python的列表(List)、元组(Tuple),甚至其他的NumPy数组等数据结构直接传递给np.array()来创建新的NumPy数组。

2025-05-05 22:40:09 975

原创 day15 python 复习日

作业:尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目,这样你也是独立完成了一个专属于自己的项目。要求:1.有数据地址的提供数据地址,没有地址的上传网盘贴出地址即可。2.尽可能与他人不同,优先选择本专业相关数据集3.探索一下开源数据的网站有哪些?对于数据的认识,很重要的一点是,很多数据并非是为了某个确定的问题收集的,这也意味着一份数据你可以完成很多不同的研究,自变量,因变量的选取取决于你自。

2025-05-04 23:50:24 558

原创 day14 python shap可视化

理解复杂机器学习模型(尤其是“黑箱”模型,如随机森林、梯度提升树、神经网络等)为什么会对特定输入做出特定预测。SHAP 提供了一种统一的方法来解释模型的输出。核心思想:合作博弈论中的 Shapley 值SHAP (SHapley Additive exPlanations) 的核心基于博弈论中的Shapley 值概念。模型的特征 (Features)就是玩家。目标是预测某个样本的输出值。不同的特征子集可以“合作”起来进行预测。某个特征子集进行预测得到的值。如何公平地。

2025-05-03 22:18:05 1305

空空如也

空空如也

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

TA关注的人

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