自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【已解决】If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.

在使用GPU训练YOLOV9的时候,出现报错:问题诊断:max_split_size_mb:限制 PyTorch 内存块分割最大值,推荐值:

2025-03-27 14:38:46 157

原创 【C++11】智能指针:std::weak_ptr

weak_ptr解决shared_ptr的循环依赖问题,不增加引用计数weak_ptr不能直接访问对象,必须使用lock()获取shared_ptrweak_ptr不能单独存在,必须依赖shared_ptr适用于对象间的非拥有关系,如双向引用、缓存等场景。

2025-03-26 14:55:34 918

原创 【C++11】智能指针 std::shared_ptr 使用场景示例

shared_ptr 是一种非常强大的工具,适用于多个地方需要共享相同资源的场景。常见的应用场景包括:多线程环境中的资源共享:多个线程共享资源,shared_ptr 自动管理资源的生命周期。复杂数据结构:树、图等数据结构中,多个节点需要共享父节点或子节点。动态生成的资源:如文件句柄、数据库连接等,可以通过 shared_ptr 管理。避免循环引用:通过合理使用 shared_ptr 和 weak_ptr 可以避免循环引用。共享访问:多个部分的代码需要共享同一对象时使用 shared_ptr。

2025-03-26 11:31:03 566

原创 【C++11】智能指针:std::shared_ptr

当 shared_ptr 作为函数参数传递时,默认是值传递(复制传递)。这会增加引用计数,确保指针在函数内部被正确管理。被销毁时,引用计数会减小。当引用计数为0时,内存会被自动释放。计数指针又称共享指针,是C++11引入的智能指针之一。允许多个指针共享同一块内存。内部维护着一个引用计数器,可以通过。被赋值时,引用计数就会增加。

2025-03-25 23:47:57 751

原创 【深度学习】训练集、测试集、验证集、过拟合、欠拟合详解

在机器学习和深度学习中,数据集的划分是模型训练过程中至关重要的一步。常见的数据划分方式包括:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set),本文将详细介绍他们的作用。

2025-03-24 10:07:21 1152

原创 【C++11】智能指针:深入解析std::unqiue_ptr

C++11中,通过引入智能指针的概念,使得C++程序员不需要手动释放内存注意:std::auto_ptr 在C++11被弃用。

2025-03-22 18:57:56 326

原创 【Python】调试模块logging详解及python代码示例

其构造方法为:ft = logging.Formatter.__init__(fmt=None, datefmt=None, style=’ %')他们将日志分发到不同的目的地。可以是文件、标准输出、邮件、或者socket、http等协议发送到任何地方。style 参数默认为百分符 %, 这表示 %(<dictionary key>)s 格式的字符串。datefmt 默认是 %Y-%m-%d %H:%M:%S样式的。Formatters对象用来最终设置日志信息的顺序、结构和内容。提供应用程序的调用接口。

2025-03-18 15:09:58 749

原创 【已解决】UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xaf in position 43: illegal multibyte

在Python项目中,我们通常使用logging模块记录日志。通过配置文件(如logging.conf)管理日志格式、处理器等,可以让代码更简洁。但在实际使用中,常会遇到编码或配置项错误。本文通过一个典型错误案例,讲解如何排查并解决问题。编码问题:Windows系统默认使用gbk编码读取文件,但logging.conf可能包含UTF-8字符(如注释或特殊符号),导致解码失败。Python日志配置实战:解决编码与配置项错误。运行以下代码时,抛出。

2025-03-13 11:25:07 717

原创 【机器学习】K折交叉验证(K-Fold Cross-Validation)

K折交叉验证是一种非常强大的评估技术,可以帮助我们在模型训练过程中避免过拟合和偏差,特别是在数据量较少时。通过合理选择K值和变体,您可以灵活地应对不同类型的数据和问题,提高模型的泛化能力和鲁棒性。

2025-02-19 16:56:19 1788

原创 【python】中 __repr__ 与 __str__ 方法详解

_str__是用户友好的输出,返回一个易于理解的字符串__repr__是开发者友好的输出,返回一个更详细的、能够重建对象的字符串如果__str__没有定义,Python 会回退到使用__repr__

2025-02-17 08:58:52 479

原创 【深度学习】不同领域中对于token的理解

虽然一个Token通常对应一个单词,但在一些情况下,它也可能是一个词组,甚至是单词的子部分。比如,它可以通过记住“de”和“bug”这两个Token,来扩展理解更多由相同子词构成的词汇,例如“debug”,“devalue”,甚至是“decrease”(减少)在Tokenization过程中,一个Token不仅仅可以是一个完整的单词,它还可以是一个词组,甚至是单词的部分,具体取决于上下文和算法。在自然语言处理(NLP)中,Token通常是文本处理的最小单元,可能是一个单词、词组,或者一个符号。

2025-02-07 11:02:40 613

原创 【深度学习】L1损失、L2损失、L1正则化、L2正则化

稀疏性:很多参数值为0LLWλ∑i1p∣wi∣∂L∂wi∂LW∂wiλ⋅signwiwiwi−lr∗∂L∂wj−lr∗λsignwiLLWλi1∑p​∣wi​∣∂wi​∂L​∂wi​∂LW​λ⋅signwi​wi​wi​−lr∗∂wj​∂L​−lr∗λsignwi​∂LW∂w。

2025-01-18 16:21:42 1484

原创 【深度学习】Huber Loss详解

平滑是指损失函数在参数空间内变化的平稳程度。在损失函数的图像中,如果它是光滑的,表示它的值不会出现剧烈的波动。平滑的损失函数对于优化过程有利,因为它减少了优化过程中由于损失函数剧烈波动而导致的难以收敛的情况。在优化中,平滑的损失函数能够帮助优化算法(如梯度下降)稳定地找到全局或局部最小值,而不会被局部的“尖峰”或“坑”困住。Huber损失就是一个平滑的损失函数,它在小误差时使用平方损失,避免了大误差的过大惩罚;而在大误差时切换到线性损失,使得对于异常值的影响不至于过大。

2025-01-18 14:30:55 2546

原创 【Python】Numpy中ravel函数详解

返回一个连续的展平的数组,返回一个 1 维数组,包含输入的元素。只有在必要时才会进行复制。从 NumPy 1.10 开始,返回的数组将具有与输入数组相同的类型(例如,对于掩码数组输入,将返回掩码数组)aaa: 输入数组。数组 a 中的元素将按照 order 参数指定的顺序读取,并打包成一个一维数组order′C′′F′′A′′K′optionalorder′C′′F′′A′′K′optional。

2025-01-17 16:39:25 980

原创 【CUDA】nvcc编译流程与GPU计算能力

指的是 GPU 的硬件本身支持的计算架构能力(Compute Capability),它由硬件制造商(如 NVIDIA)设计和实现。NVIDIA 的 GPU 按照架构分为不同的计算能力(如 6.1、7.5、8.0 等),这些计算能力定义了硬件支持的特性、性能以及可以运行的指令集。指的是软件(例如 CUDA 或驱动程序)在 GPU 上暴露的计算架构能力。这种能力可能与硬件实际能力不同,通常是驱动或软件框架为了兼容性或性能优化对外显示的虚拟能力。

2025-01-14 18:35:24 1020

原创 【深度学习】神经网络灾难性遗忘(Catastrophic Forgetting,CF)问题

灾难性遗忘(Catastrophic Forgetting)是指在神经网络,尤其是深度学习模型中,当模型在学习新的任务时,往往会遗忘之前学过的任务或知识。这种现象通常发生在连续学习过程中,即模型必须依次学习多个任务时。随着新任务的学习,模型会在不加保护的情况下丧失对旧任务的记忆或表现,导致旧任务的性能显著下降。

2025-01-14 16:18:44 1426 1

原创 【论文阅读】基于空间相关性与Stacking集成学习的风电功率预测方法

针对目标气象预报数据缺失导致风电预测精度不足的问题, 提出一种基于空间相关性和Stacking集成学习的风电功率预测方法首先, 分析目标风电场与相邻气象站点之间的空间相关性,根据相关系数极值点确定延迟时间,构建风速时移数据集其次, 利用Stacking集成方法融合多元算法,从多个数据观测角度预测目标风电场的风电功率,实现不同算法的优势互补,提升整体泛化能力,并采用粒子群优化算法搜索模型超参数,较好地平衡搜索时间与模型效果。

2025-01-14 15:28:23 1254 1

原创 【集成学习】Bagging、Boosting、Stacking算法详解

集成学习(Ensemble Learning)是一种通过结合多个模型的预测结果来提高整体预测性能的技术。它通过将多个学习器的结果集成起来,使得最终的模型性能更强,具有更好的泛化能力。常见的集成学习框架包括:Bagging、Boosting、Stacking。

2025-01-09 16:43:24 892

原创 【深度学习】通俗理解偏差(Bias)与方差(Variance)

在统计学习中,我们通常使用方差与偏差来衡量一个模型。

2025-01-09 16:08:04 1203

原创 【集成学习】Stacking算法详解

集成学习(Ensemble Learning)是一种通过结合多个模型的预测结果来提高整体预测性能的技术。常见的集成学习框架有:Bagging、Boosting、Stacking。每种方法都有其独特的优势和适用场景,本文主要介绍 Stacking 算法。

2025-01-09 13:35:55 942

原创 【集成学习】Boosting算法详解

集成学习(Ensemble Learning)是一种通过结合多个模型的预测结果来提高整体预测性能的技术。相比于单个模型,集成学习通过多个基学习器的“集体智慧”来增强模型的泛化能力,通常能够提高模型的稳定性和准确性。Bagging:通过并行训练多个模型并对其结果进行平均或投票来减少方差Boosting:通过按顺序训练多个模型,每个模型都试图纠正前一个模型的错误,从而减少偏差Stacking:通过训练多个不同类型的基学习器,并将它们的输出作为特征输入到一个高层模型中,从而提升预测性能。

2025-01-09 09:41:32 1763

原创 【集成学习】Bootstrap抽样

Bootstrap抽样是一种通过对原始数据集进行有放回的随机抽样,生成多个训练子集的技术。与传统的简单随机抽样不同,Bootstrap抽样允许同一个样本在抽样过程中被选中多次,也可能有样本完全未被选中。由于有放回抽样的特性,生成的子集会包含一定的重复数据。从原始数据集随机抽取样本(允许重复),形成一个新的子集,大小与原始数据集相同重复此过程多次,生成多个不同的子集每个子集用于训练一个基学习器(例如决策树)所有基学习器的预测结果通过某种方式(如平均或投票)进行组合,得出最终的预测结果。

2025-01-08 13:59:08 952

原创 【集成学习】Bagging算法详解及代码实现

Bagging全称叫做,通过训练多个相同类型的基学习器,并将他们的预测结果进行集成,从而提高模型整体性能的集成学习方法。Bagging的核心思想是通过并行训练多个基学习器,每个基学习器在训练集的不同子集上进行训练,最终通过这些基学习器的预测结果进行平均(回归任务)或投票(分类任务)得到最终预测结果。训练n个模型,每个模型在不同训练子集上独立训练所有基学习器的预测结果进行平均(回归任务)或投票(分类任务)得到最终决策。采用bootstrap。

2025-01-08 11:00:45 1717

原创 【深度学习】在深度学习训练过程中,数据量太少会导致模型过拟合还是欠拟合?

数据量太少通常会导致过拟合,而不是欠拟合。

2025-01-08 09:13:29 456

原创 【LeetCode】94.二叉树的中序遍历

二叉树的中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候我们按照同样的方式遍历,直到遍历完整棵树。

2024-12-26 22:15:14 372

原创 【Python】zip()函数详解

Python中的zip()函数是一个非常有用的内建函数,用于将多个可迭代对象(例如:列表、元组、字典等)聚合成一个元组,返回由这些元组组成的对象。

2024-12-26 15:35:26 2821 1

原创 【LeetCode】144.二叉树的前序遍历

首先我们需要了解什么是二叉树的前序遍历:按照访问根节点——左子树——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。本质与递归一样,只不过需要维护一个栈。

2024-12-24 22:06:58 343

原创 【LeetCode】LCR 175.计算二叉树的深度

题解参考:https://leetcode.cn/problems/er-cha-shu-de-shen-du-lcof/solutions/159058/mian-shi-ti-55-i-er-cha-shu-de-shen-du-xian-xu-bia/使用深度优先搜索算法进行二叉树后序遍历。使用二叉树的层序遍历算法实现。

2024-12-23 21:22:07 371

原创 【LeetCode】45.跳跃游戏II

初始位置是下标 0,从下标 0 出发,最远可到达下标 2。下标 0 可到达的位置中,下标 1 的值是 3,从下标 1 出发可以达到更远的位置,因此第一步到达下标 1。从下标 1 出发,最远可到达下标 4。下标 1 可到达的位置中,下标 4 的值是 4 ,从下标 4 出发可以达到更远的位置,因此第二步到达下标 4。通过广度优先搜索算法寻找最短距离。

2024-12-20 21:06:09 498

原创 【风力发电功率预测】单值预测评价指标

风电功率单值预测(Single-value Prediction of Wind Power)是指基于一组输入数据(如风速、风向、气温、气压等)预测未来某个时刻的风电机组或风电场的功率输出的数值。在实际应用中,风电功率单值预测通常是指对未来某个时刻(如1小时后、一天后等)风电场的发电功率进行精确预测,目标是通过模型尽可能准确地给出一个具体的功率数值,而不是预测其范围或概率分布。风电功率概率预测,顾名思义,指的是预测未来风电功率的“概率分布”,也就是给出一个功率值的预测区间或是一个功率值范围的概率。

2024-12-20 16:19:16 1470

原创 【时间序列分析】皮尔森相关系数、斯皮尔曼相关系数、肯德尔相关系数、距离相关系数、MIC最大信息系数及时间序列分析中一些基本概念

适用情况:优点:缺点:适用情况:优点:缺点:适用情况:优点:缺点:适用情况:优点:缺点:适用情况:优点:缺点:

2024-12-19 15:33:38 1656

原创 【时间序列分析】自相关、偏自相关、协整基础理论与Python实现

自相关(也叫自相关函数,ACF)是用来度量时间序列中某个时刻的值与它前一时刻值之间的相关性的统计量。它揭示了序列内在的时间依赖关系。简单来说,自相关告诉我们当前的数据点与之前的数据点之间是否有相似性或关联性。T1T2T3TnT1​T2​T3​....Tn​,其中TtT_tTt​代表在ttt时刻的温度值。自相关告诉我们,某一时刻的温度和之前某时刻的温度之间的关系。如果当前温度TtT_tTt​与前一天的温度Tt−1T_{t-1}Tt−1。

2024-12-19 14:26:14 1214

原创 【时间序列分析】理解平稳与非平稳时间序列

平稳时间序列是指其统计特性(如均值、方差、协方差等)不随时间变化。换句话说,平稳时间序列在不同的时间点上表现出类似的行为,没有明显的趋势或季节性变化。均值恒定:时间序列的均值不随时间变化,即它的平均值保持恒定方差恒定:时间序列的波动程度(方差)不会随着时间的推移而改变协方差恒定:序列之间的相关性(协方差)仅取决于时间滞后,而与时间点无关这些特性使得平稳序列能够用于许多传统的时间序列分析方法,特别是像ARMA(自回归滑动平均模型)和ARIMA(自回归积分滑动平均模型)等经典建模方法。

2024-12-18 19:45:40 1753

原创 【时间序列分析】MIC最大信息系数基本原理及Python实现

MIC (最大信息系数, Maximal Information Coefficient) 是一种衡量两个变量之间关系强度的度量方法,尤其用于捕捉非线性和线性关系。MIC 是通过一种新颖的方式来度量变量之间的依赖关系,与传统的相关系数(如皮尔逊相关系数)相比,MIC 能够捕捉到复杂的、非线性的依赖关系。注意,MIC的计算理念是针对大数据集提出来的,是针对大数据之间的计算的。只有在大数据下,MIC的计算结果才近似等于真实值,才相对可靠。对于小数据集的MIC计算没有意义,因为误差会非常大。

2024-12-18 19:17:29 1336

原创 【时间序列分析】距离相关系数(Distance Correction)理论及Python代码实现

距离相关系数:研究两个变量之间的独立性,距离相关系数为0表示两个变量是独立的。克服了皮尔逊相关系数的弱点,皮尔逊相关系数为0并不一定表示两个变量之间是独立的,也有可能是非线性相关的。利用DistanceCorrectionDistanceCorrection距离相关系数来研究两个变量uuu和vvv之间的独立性,记为dcorruvdcorr(u,v)dcorruvdcorruv0dcorru。

2024-12-17 21:32:04 992

原创 【PyTorch】实现在训练过程中自定义动态调整学习率

在使用 PyTorch 训练自定义神经网络时,我们希望能够动态地调整学习率,以便在训练过程中逐渐优化模型,避免过拟合并加速收敛。那么,如何在 PyTorch 中实现这一功能呢?

2024-12-17 15:18:54 769

原创 【时间序列分析】肯德尔(Kendall)相关系数基础理论及python代码实现

肯德尔(Kendall)相关系数,又称肯德尔秩相关系数,它是一种秩相关系数。Kendall秩相关系数可以通过比较数据对之间的排序关系来计算。假设有两个变量XXX和YYY,每个变量都有nnn个观测值。对这些观测值进行排序,Kendall秩相关系数的计算基于每一对观测值之间的“协同”或“不协同”关系。秩相关系数(Coefficient of Rank Correlation),又称等级相关系数,是将两要素的样本值按数据的大小顺序排列位次,以各要素样本值的位次代替实际数据而求得的一种统计量。

2024-12-17 09:32:36 2397

原创 【CUDA】线程在全局索引中的计算方式

具体线程索引方式如下图所示,定义grid与block尺寸。具体索引方式如下图所示,

2024-12-16 21:37:51 530

原创 【时间序列分析】斯皮尔曼(Spearman)相关系数理论基础及python代码实现

什么是秩相关系数?秩相关系数(Coefficient of Rank Correlation),又称等级相关系数,反映两个随机变量变化趋势的方向和强度之间的关系。它通过将两个随机变量的样本值按大小顺序排列位次,使用这些位次代替实际数据来计算得出。秩相关系数用于衡量变量间的等级相关程度,常用的等级相关分析方法包括Spearman相关系数和Kendall秩相关系数等。

2024-12-16 19:26:00 2184

原创 【时间序列分析】皮尔森相关系数理论基础及python代码实现

皮尔森相关系数rrrr∑Xi−XˉYi−Yˉ∑Xi−Xˉ2∑Yi−Yˉ2r∑Xi​−Xˉ2∑Yi​−Yˉ2​∑Xi​−XˉYi​−Yˉ​XiX_iXi​和YiY_iYi​是数据集中的第iii个数据点Xˉ\bar{X}Xˉ和Yˉ\bar{Y}Yˉ分别是变量XXX和YYY的样本均值分子部分是XXX和YYY之间的协方差分母部分是XXX和YYY。

2024-12-16 16:45:45 1056

空空如也

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

TA关注的人

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