自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 复现文献:肿瘤内微生物辅助的融合放射组学模型

本项目复现了文献中提出的 “肿瘤内微生物辅助的融合放射组学模型”,通过整合 MRI 影像的预 / 后治疗特征与微生物评分,实现对肿瘤治疗效果(pCR)的预测。分时点处理预治疗 / 后治疗 MRI 特征多步骤特征筛选(Mann–Whitney U 检验→Spearman 去相关→弹性网回归)构建 Pre/Post/Fusion 三个 Logistic 回归模型(L2 正则化 + 10 折交叉验证)

2025-09-03 20:01:58 629

原创 day58 经典时序模型2

昨天我们掌握了AR, MA, 和 ARMA 模型,它们是处理平稳时间序列的利器。但现实世界的数据,比如股票价格、公司销售额,往往带有明显的趋势性或季节性,它们是不平稳的。今天,我们就来学习ARIMA模型,它正是为了解决这个问题而生的。他进一步引入差分来解决不平稳问题差分是使数据平稳化的关键步骤。一阶差分: 就是序列中每个点减去它前一个点的值。这通常可以消除数据中的线性趋势。二阶差分: 对一阶差分后的结果再做一次差分。这可以消除数据中的曲线趋势(比如抛物线趋势)。

2025-08-13 13:26:23 640

原创 day57 经典时序模型1

该AR(2)模型的1阶和2阶自回归系数均显著,能有效捕捉变量y的滞后相关性;残差检验表明残差是白噪声(无自相关、无异常方差、近似正态),模型拟合效果良好。唯一可优化点是移除不显著的常数项,以简化模型。系数显著:模型准确地识别出前两阶的自回归关系是统计上显著的,并且学习到的系数值(0.66, 0.26)与真实值(0.7, 0.2)非常接近。

2025-08-12 16:24:01 809

原创 day56 时序数据的检验

在时序预测中,这种要求会更加苛刻,你设想一下,你可以制造一个随机的序列,然后让模型来学习,这注定也是不可能实现的。也就是说 数据本身要具备可预测性。一个完全随机的序列(学术上称为“白噪声”)是不可预测的。它的未来值与过去值没有任何相关性。任何模型试图从中学习规律,最终都只会是徒劳。什么叫做白噪声呢?均值为0方差恒定自相关性为0(即过去的值对未来的值没有影响)我们来生成一组随机序列# 中文显示设置。

2025-08-10 22:36:37 1063

原创 day55 序列预测任务

我们之前接触到的结构化数据,它本身不具备顺序,我们认为每个样本之间独立无关,样本之间即使调换顺序,仍然不影响模型的训练。但是日常中很多数据是存在先后关系的,而他们对应的任务是预测下一步的值,我们把这个任务称之为序列预测。举个例子,比如有过去30天的股票价格,我们希望预测第31天的价格。比如之前的单车预测,有前60天的单车需求数据,希望预测后面20天的销量。或者文本,人的语言是有顺序的,预测下一个单词是这也是序列预测任务。

2025-08-09 16:08:11 1045

原创 day54 Inception网络及其思考

"""Inception模块初始化,实现多尺度特征并行提取与融合参数:in_channels: 输入特征图的通道数"""# 1x1卷积分支:降维并提取通道间特征关系# 减少后续卷积的计算量,同时保留局部特征信息nn.Conv2d(in_channels, 64, kernel_size=1), # 降维至64通道nn.ReLU() # 引入非线性激活# 3x3卷积分支:通过1x1卷积降维后使用3x3卷积捕捉中等尺度特征# 先降维减少计算量,再进行空间特征提取。

2025-08-08 12:47:03 832

原创 day53 对抗生成网络

先说一下gan的原理,我们之前就说过,无论是多么复杂的架构设计,你最需要把握的核心点就是:1. 损失从何而来 2. 损失如何定义假设现在有1个造假币的a,和一个警察b,他们都是初始化的神经网络为了让警察能分辨真币,我需要给他看真币的样子,也就是先训练警察知道什么是真币,但是只给他一个真币他也没法训练,我中间得掺杂一些无意义的噪声图片,无意义的肯定不可能是真币,所以他大概可以训练好。此时他就是一个基础的分类模型,能分别真币和假币。

2025-08-06 14:37:18 347

原创 day52 神经网络调参指南

介绍权重的可视化及其意义。

2025-08-06 00:22:42 993

原创 day51 近期工具加强实战——以Intel Image Classific为例

忘记设置字体了,导致图上有乱码,跑的时间有点长,不调整了。

2025-08-05 09:25:58 223

原创 day50预训练模型 CBAM注意力

现在我们思考下,是否可以对于预训练模型增加模块来优化其效果,这里我们会遇到一个问题预训练模型的结构和权重是固定的,如果修改其中的模型结构,是否会大幅影响其性能。其次是训练的时候如何训练才可以更好的避免破坏原有的特征提取器的参数。所以今天的内容,我们需要回答2个问题。可以很明显的想到,如果是resnet18+cbam模块,那么大多数地方的代码都是可以复用的,模型定义部分需要重写。先继续之前的代码所以很容易的想到之前第一次使用resnet的预训练策略:先冻结预训练层,然后训练其他层。

2025-08-03 16:49:19 941

原创 day49 CBAM注意力

cbam注意力之前我们介绍了se通道注意力,我们说所有的模块本质上只是对特征进一步提取,今天进一步介绍cbam注意力CBAM 是一种能够集成到任何卷积神经网络架构中的注意力模块。它的核心目标是通过学习的方式,自动获取特征图在通道和空间维度上的重要性,进而对特征图进行自适应调整,增强重要特征,抑制不重要特征,提升模型的特征表达能力和性能。简单来说,它就像是给模型装上了 “智能眼镜”,让模型能够更精准地看到图像中关键的部分。

2025-07-26 15:34:31 447

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

需要搞懂张量的维度、以及计算后的维度,这对于未来理解复杂的网络至关重要。

2025-07-25 16:04:55 575

原创 day46&day47 通道注意力

===================== 新增:通道注意力模块(SE模块) ====================="""通道注意力模块(Squeeze-and-Excitation)""""""参数:in_channels: 输入特征图的通道数reduction_ratio: 降维比例,用于减少参数量"""# 全局平均池化 - 将空间维度压缩为1x1,保留通道信息# 全连接层 + 激活函数,用于学习通道间的依赖关系# 降维:压缩通道数,减少计算量# 升维:恢复原始通道数。

2025-07-25 00:02:23 676

原创 day45 TensorBoard使用介绍

之前的内容中,我们在神经网络训练中,为了帮助自己理解,借用了很多的组件,比如训练进度条、可视化的loss下降曲线、权重分布图,运行结束后还可以查看单张图的推理效果。如果现在有一个交互工具可以很简单的通过按钮完成这些辅助功能那就好了。所以我们现在介绍下tensorboard这个可视化工具,他可以很方便的很多可视化的功能,尤其是他可以在运行过程中实时渲染,方便我们根据图来动态调整训练策略,而不是训练完了才知道好不好。

2025-07-23 13:33:58 2347

原创 day44 预训练模型

预训练模型是利用大规模数据集预先训练好的神经网络参数,用于初始化目标任务的模型,可提升训练效率和性能。核心思想是通过迁移学习,将上游任务学到的通用特征提取能力迁移到下游任务。ImageNet是常用的预训练数据集,包含1.2亿张图像。经典预训练模型包括AlexNet、VGG、ResNet等CNN架构,以及ViT、Swin Transformer等Transformer架构,它们在层数、参数量和错误率方面各有特点。自监督预训练模型如MoCo v3和BEiT无需人工标注,适合数据稀缺场景。预训练模型选择需考虑任务

2025-07-20 16:23:07 2083

原创 day43 CNN及Grad-CAM实战——以Intel Image Classification为例

├── seg_pred/ 或 prediction/ ← 预测集(未标注图像,用于模型测试)来源:由 Intel 提供,广泛用于图像分类任务入门(原始来源:Kaggle)├── seg_train/ ← 训练集(每类一个子文件夹)├── seg_test/ ← 测试集(结构同上)buildings 各种建筑场景(如城市楼宇)street 城市街景、人行道、公路等。图像尺寸:150×150 彩色 JPG 图像。任务类型:多类别图像分类(多类场景识别)

2025-07-19 13:02:07 699

原创 day42 Grad-CAM

在深度学习中,我们经常需要查看或修改模型中间层的输出或梯度。然而,标准的前向传播和反向传播过程通常是一个黑盒,我们很难直接访问中间层的信息。PyTorch 提供了一种强大的工具——hook 函数,它允许我们在不修改模型结构的情况下,获取或修改中间层的信息。它的核心价值在于让开发者能够动态监听、捕获甚至修改模型内部任意层的输入 / 输出或梯度,而无需修改模型的原始代码结构。我们之前介绍过机器学习可解释性工具,例如 SHAP、PDPBox 等,这些工具在处理结构化数据时,能够有效揭示模型内部的决策逻辑。

2025-07-18 12:58:23 936

原创 day41 简单CNN

可以看到即使在深度神经网络情况下,准确率仍旧较差,这是因为特征没有被有效提取----真正重要的是特征的提取和加工过程。就好比你在学新知识,知识体系的基础一直在变,你就得不断重新适应,模型训练也是如此,这就导致训练变得困难,这就是内部协变量偏移问题。该策略通常不改变单次训练的样本总数,而是通过对现有图像进行多样化变换,使每次训练输入的样本呈现更丰富的形态差异,从而有效扩展模型训练的样本空间多样性。可以把全连接层前面的不理解为神经网络的一部分,单纯理解为特征提取器,他们的存在就是帮助模型进行特征提取的。

2025-07-17 00:16:48 1218

原创 day40 训练和测试的规范写法

批量维度不变性:无论进行flatten、view还是reshape操作,第一个维度batch_size通常保持不变。动态维度指定:使用-1让PyTorch自动计算该维度的大小,但需确保其他维度的指定合理,避免形状不匹配错误。下面是所有代码的整合版本。

2025-07-14 21:21:00 728

原创 day39 图像数据与显存

考虑课程内容的推进,今日的内容只提定义,不涉及训练和测试过程# 先归一化,再标准化transforms.ToTensor(), # 转换为张量并归一化到[0,1]transforms.Normalize((0.1307,), (0.3081,)) # MNIST数据集的均值和标准差,这个值很出名,所以直接使用])# 2. 加载MNIST数据集,如果没有会自动下载# 定义两层MLP神经网络self.flatten = nn.Flatten() # 将28x28的图像展平为784维向量。

2025-07-13 16:50:53 650

原创 day38 Dataset和Dataloader

维度DatasetDataLoader核心职责定义“数据是什么”和“如何获取单个样本”定义“如何批量加载数据”和“加载策略”核心方法(获取单个样本)、__len__(样本总数)无自定义方法,通过参数控制加载逻辑预处理位置在中通过transform执行预处理无预处理逻辑,依赖Dataset返回的预处理后数据并行处理无(仅单样本处理)支持多进程加载(典型参数root(数据路径)、transform(预处理)batch_sizeshuffle核心结论Dataset类:定义数据的内容和格式。

2025-07-13 01:47:40 1204

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

我今天的笔记是用cpu训练的,请自行修改为gpu训练仍然是循序渐进,先复习之前的代码.4f.2f100.2f训练集的loss在下降,但是有可能出现过拟合现象:模型过度学习了训练集的信息,导致在测试集上表现不理想。所以很自然的,我们想同步打印测试集的loss,以判断是否出现过拟合现象。

2025-07-11 16:35:51 605

原创 day36 阶段性实践——以信贷数据库为例

利用shape或columns查看特征矩阵X包含的特征数量以及y的标签类别数量。利用神经网络对信贷数据库进行建模。首先是雷打不动的预处理部分。

2025-07-10 15:52:42 416

原创 day35 模型可视化与推理

仍然是循序渐进,从基础的开始,逐渐加大深度。先回顾下之前的内容1.4f1.4f.2f模型的推理进度条功能模型保存和加载。

2025-07-09 21:26:30 1995

原创 day34 GPU训练和call方法

首先回顾下昨天的内容,我在训练开始和结束增加了time来查看运行时长1.4f.2f。

2025-07-08 13:50:26 845

原创 day33 简单的神经网络MLP

定义一个简单的全连接神经网络模型,包含一个输入层、一个隐藏层和一个输出层。定义层数+定义前向传播顺序class MLP(nn.Module): # 定义一个多层感知机(MLP)模型,继承父类nn.Moduledef __init__(self): # 初始化函数super(MLP, self).__init__() # 调用父类的初始化函数# 前三行是八股文,后面的是自定义的self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层。

2025-07-07 23:18:40 940

原创 day31 文件的规范拆分和写法

昨天我们已经介绍了如何在不同的文件中,导入其他目录的文件,核心在于了解导入方式和python解释器检索目录的方式。搞清楚了这些,那我们就可以来看看,如何把一个文件,拆分成多个具有着独立功能的文件,然后通过import的方式,来调用这些文件。

2025-07-06 22:25:19 1033

原创 day25 异常处理

相信大家在借助ai写代码的时候,经常会遇到try-except的异常处理模块,这是因为大部分大模型在后训练阶段都是经过强化学习训练的,为了确保结果的正确运行,只有采取 try-except的异常处理模块才能提高模型运行成功的概率。但是我们日常写代码的时候,大概率不会采取这些写法。所以我们要适应ai的写法。这也是今天专题的由来。

2025-07-03 14:30:31 704

原创 day32 官方文档的阅读

我们已经掌握了相当多的机器学习和python基础知识,现在面对一个全新的官方库,看看是否可以借助官方文档的写法了解其如何使用。我们以pdpbox这个机器学习解释性库来介绍如何使用官方文档。大多数 Python 库都会有官方文档,里面包含了函数的详细说明、用法示例以及版本兼容性信息。一般通过github仓库都可以找到对应的官方文档那个。-在官方文档中搜索函数名,然后查看函数的详细说明和用法示例下面以鸢尾花三分类项目来演示如何查看官方文档此时模型已经建模完毕现在我们开始对这个模型进行解释性分析。

2025-07-03 14:22:57 1294

原创 day30 模块与包的导入

模块(Module)本质:以.py结尾的单个文件,包含Python代码(函数、类、变量等)。作用:将代码拆分到不同文件中,避免代码冗余,方便复用和维护。包(Package)在python里,包就是库本质有层次的文件目录结构(即文件夹),用于组织多个模块和子包。核心特征:包的根目录下必须包含一个文件(可以为空),用于标识该目录是一个包。

2025-07-01 15:56:14 705

原创 day29 类的装饰器

所以你还是需要理解 装饰器本质就是一个语法糖,对类而言:@decorator 语法只是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。到此为止,训练营已经完成接近一半的任务,如果你扎实的跟完前28天的作业,你的能力已经是相当优秀。可以的,类也有装饰器。类也有修饰器,他的逻辑类似:接收一个类,返回一个修改后的类。

2025-06-30 20:21:32 778

原创 day28 类的定义和方法

类是对属性和方法的封装,可以理解为模板,通过对模板实例化可以实现调用这个类的属性和方法。比如创建一个随机森林类,然后就可以调用他的训练和预测方法。现在我们来学一下自己定义一个类,这会让我们对于类这个对象理解的更加深刻ps:类的操作很多,我们这里只说一些在深度学习领域最常见和通用的注意:注意:init左右各有两个下划线__,需要传入self这个特殊的参数。

2025-06-30 01:52:19 1292

原创 day27 函数专题2 装饰器

昨天我们接触到了函数大部分的功能,然后在你日常ctrl点进某个复杂的项目,发现函数上方有一个@xxx,它就是装饰器装饰器本质上是一个 Python 函数,它可以让其他函数或方法在不需要做任何代码修改的前提下增加额外功能。–本质是如果让一个函数具备太多功能,那么他看起来就会比较乱,可读性比较差,如果把其中一部分相同甚至可以复用的功能用一个新的函数来调用,然后让2个函数同时实现,就会做到所以装饰器本身就是函数中调用其他函数,实现先拆分函数,再合并函数的功能。

2025-06-27 16:58:39 1037

原创 day26 函数专题1

"""Docstring: 描述函数的功能、参数和返回值 (可选但强烈推荐)"""# 函数体: 实现功能的代码# ...return value # 可选,用于返回结果def: 关键字,表示开始定义一个函数。function_name: 函数的名称,应遵循Python的命名约定(通常是小写字母和下划线,例如 calculate_area,用英文单词含义和下划线来作为函数名)。parameter1, parameter2, …: 函数的参数(也叫形参),是函数在被调用时接收的输入值。

2025-06-26 01:17:49 377

原创 day25 异常处理

Python的异常处理机制为程序提供了强大的容错能力 (fault tolerance)。当程序在运行时遇到意外情况(即异常),它不会直接崩溃,而是可以被设计成优雅地处理这些错误,并可能继续执行后续逻辑(如果设计允许)或以可控的方式结束。当异常发生时,Python会创建一个异常对象 (exception object)(通常是 Exception 类的子类实例)。如果这段可能出错的代码位于 try 语句块中,程序流程会寻找并跳转到匹配的 except 语句块(如果存在)来处理这个异常。

2025-06-14 16:43:35 554

原创 day24 元组和OS模块

很多流行的 ML/DL 库(如 TensorFlow, PyTorch, NumPy)在其 API 中都广泛使用了元组来表示形状、配置等。可以看到,元组最重要的功能是在列表之上,增加了不可修改这个需求。

2025-06-11 21:38:55 603

原创 day22 泰坦尼克号生存模型

先欠着哈哈哈O(∩_∩)O哈哈~

2025-06-11 21:38:18 98

原创 day23 机器学习流水线

ColumTransformer的核心# --- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)# 有序分类特征 (对应你之前的标签编码)# 注意:OrdinalEncoder默认编码为0, 1, 2... 对应你之前的1, 2, 3...需要在模型解释时注意。

2025-06-10 16:47:01 1017

原创 day21 常见的降维算法

t-SNE 是一种强大的非线性降维技术,主要用于高维数据的可视化。它通过在低维空间中保持高维空间中数据点之间的局部相似性(邻域关系)来工作。与PCA关注全局方差不同,t-SNE 更关注局部细节。理解它的超参数(尤其是困惑度)和结果的正确解读方式非常重要。

2025-05-26 17:44:45 338

原创 day20 奇异值分解

对于任何矩阵(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。应用:结构化数据中,将原来的m个特征降维成k个新的特征,新特征是原始特征的线性组合,捕捉了数据的主要方差信息,降维后的数据可以直接用于机器学习模型(如分类、回归),通常能提高计算效率并减少过拟合风险。降噪:通常噪声对应较小的奇异值。

2025-05-19 23:08:20 202

Day60 复现文献:肿瘤内微生物辅助的融合放射组学模型

Day60 复现文献:肿瘤内微生物辅助的融合放射组学模型

2025-09-03

空空如也

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

TA关注的人

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