- 博客(116)
- 收藏
- 关注
原创 蒙特卡洛方法
蒙特卡洛方法(Monte Carlo Methods)是强化学习领域中一类重要的无模型学习技术,它通过对环境进行随机采样来估计价值函数和优化策略。与基于模型的动态规划方法不同,蒙特卡洛方法直接从经验中学习,不需要预先知道环境的状态转移概率和奖励函数,这使得它在现实世界中那些难以建模的复杂环境中具有独特优势。蒙特卡洛方法的基本思想源于大数定律:通过进行足够多的随机试验,利用这些试验的平均值来逼近真实的期望值。
2026-01-02 13:17:53
816
原创 XGBoost(eXtreme Gradient Boosting)算法的核心原理与底层实现技术
CART(Classification and Regression Tree,分类与回归树)是一种基于二叉树结构的非参数统计学习方法,由 Breiman 等人于 1984 年提出。与其他决策树算法相比,CART 具有独特的二叉树结构特征,即每个非叶子节点只能有两个分支,形成结构简洁的二叉树。这种设计使得 CART 既能处理分类问题,也能处理回归问题,具有广泛的适用性。CART 树的基本假设是将特征空间划分为一系列非空、互不相交的矩形区域,每个区域都对应一个叶节点。
2026-01-02 12:58:54
1046
原创 参数优化—序列神经网络
序列数据处理是深度学习领域中的重要研究方向,广泛应用于自然语言处理、语音识别、时间序列分析等任务。在序列神经网络的设计与训练中,参数初始化和归一化技术扮演着至关重要的角色,直接影响模型的收敛速度、泛化能力以及最终性能。参数初始化决定了网络的初始状态,而归一化技术则通过调整网络的输入分布来加速训练过程并缓解梯度消失或爆炸问题。近年来,随着深度学习模型复杂度的不断提高,特别是在处理长序列数据时,传统的参数初始化和归一化方法面临着新的挑战。
2025-12-02 15:08:28
1080
原创 XGBoost 调包教程
任务定义类参数决定了模型要解决的问题类型,是调包时首先需要确定的参数。参数名作用常用取值objective指定目标函数和学习任务类型(输出概率)、(输出原始分数);(输出类别)、(输出概率矩阵);(平方误差)、reg:gamma(伽马回归)等booster指定基学习器类型gbtree(树模型,默认)、gblinear(线性模型)、dart(带 dropout 的树模型)base_score初始预测得分默认 0.5,影响所有实例的初始预测值。
2025-12-02 15:04:18
746
原创 深度学习中的正则化方法
在深度学习领域,过拟合是一个普遍存在的问题,它指的是模型在训练数据上表现良好,但在未见过的测试数据上性能显著下降的现象。正则化是解决过拟合问题的核心技术之一,它通过限制模型复杂度、引入额外约束或增加训练数据多样性等方式,提高模型的泛化能力。正则化方法的选择直接影响模型的性能、可解释性和计算效率。随着深度学习模型规模不断增大和应用场景日益复杂,正则化技术也在不断发展和创新。从早期的 L1 和 L2 正则化,到近年来流行的 Dropout、数据增强、半监督学习等方法,每种技术都有其独特的原理和适用场景。
2025-12-02 12:24:08
644
1
原创 进度条工具——tqdm
tqdm 允许通过bar_format参数完全自定义进度条的显示格式。这对于需要特定显示格式的科研场景特别有用# 1. 基础自定义print("示例 1: 基础自定义")desc="基础进度",# 2. 显示详细信息print("\n示例 2: 显示详细信息")desc="详细进度","[耗时:{elapsed}, 剩余:{remaining}, 速度:{rate_fmt}]"):# 3. 自定义动态信息print("\n示例 4: 自定义动态信息")
2025-10-26 11:16:53
634
2
原创 K-Fold 交叉验证
在机器学习和深度学习领域,模型评估是确保模型能够在未知数据上表现良好的关键步骤。传统的留出法(Hold-Out Validation)虽然简单直接,但存在结果不稳定、数据利用率低等问题。特别是在小样本或类别不平衡的数据集上,单次划分的验证结果可能会产生严重偏差,导致模型选择或超参数调优出现错误决策。K-Fold 交叉验证(K-Fold Cross Validation)作为一种强大的模型评估方法,通过将数据集划分为多个子集,轮流使用每个子集作为验证集,其余作为训练集,从而提供更稳定、更可靠的性能评估。
2025-10-23 14:50:40
911
1
原创 Git 基础操作指南
与传统集中式版本控制系统 (如 SVN) 不同,Git 采用分布式架构,每个开发者本地都有完整仓库副本,这带来了三大革命性优势:离线工作、强大的分支管理能力和极快的操作速度。文件夹,包含了所有 Git 相关的数据——在我的创建过程中,第一次输入git init只是显示了具体参数的用法,遇到这种情况大家再输入一次git init就好。(.表示添加当前目录下所有文件,若有不需要上传的文件,可创建.gitignore文件排除)这些概念构成了 Git 操作的基础,理解它们将帮助你更高效地使用 Git。
2025-10-16 17:07:43
1548
25
原创 自编码器(Autoencoder)
自编码器是一种深度学习模型,本质上是一种数据压缩算法,但它与传统的 JPEG 或 ZIP 压缩有着根本区别。自编码器学习的是数据的有意义的表示而不仅仅是存储效率,这种表示学习能力使其成为深度学习中的重要工具。自编码器主要由三个组成部分编码器(Encoder)瓶颈层(Bottleneck)和解码器(Decoder)。编码器负责将输入数据压缩为低维表示,瓶颈层存储压缩后的数据表示,解码器则将低维表示还原为原始维度。整个模型的目标是最小化原始数据和重建数据之间的重构误差,通常使用均方误差(MSE)作为损失函数。
2025-10-13 13:16:53
1223
30
原创 SMOTE 算法详解:解决不平衡数据问题的有效工具
在机器学习和数据科学领域,处理不平衡数据集是一个常见且具有挑战性的问题。不平衡数据集指的是数据集中不同类别的样本数量存在显著差异,其中某一类别的样本数量远多于其他类别。这种情况在现实世界中比比皆是,例如:当模型面对这些不平衡数据时,它往往会偏向多数类,而忽视少数类 —— 即使少数类通常是我们更关心的类别(比如欺诈交易或疾病诊断)。传统的处理方法如随机过采样(简单复制少数类样本)或随机欠采样(删除多数类样本)虽然简单直接,但存在明显缺陷:前者容易导致过拟合,后者则可能丢失重要信息。
2025-10-10 19:23:07
1304
26
原创 GB级csv文件处理
在大数据时代,处理 GB 级别的 CSV 文件是数据工作者的日常挑战。当文件大小超出内存限制时,传统的一次性加载方法会导致内存溢出,让分析工作陷入困境。本文将全面解析如何高效处理 GB 级 CSV 文件,重点介绍按行追加、按列合并和关键字段关联三种拼接方式,并详细讲解如何在本地 Python 环境中将这些庞大数据文件转换为更高效的 Parquet 格式。
2025-10-09 16:09:23
914
17
原创 DBSCAN 密度聚类算法
在当今数据驱动的时代,聚类分析作为无监督学习的核心技术,被广泛应用于各个领域。传统的聚类算法如 K-means 虽然简单高效,但其和对的特性,在面对复杂数据分布时往往力不从心。特别是在金融市场分析中,股票交易数据呈现出(高溢价样本远少于普通样本)和复杂的情绪 - 价格关联模式,这对聚类算法提出了新的挑战。DBSCAN(Density-Based Spatial Clustering of Applications with Noise)作为一种基于密度的空间聚类算法,凭借其以及。
2025-10-06 11:15:08
945
24
原创 卡尔曼滤波
卡尔曼滤波是一种用于估计动态系统状态的最优递归数据处理算法,它通过结合系统模型的预测和传感器的测量信息,在最小化均方误差的意义下提供系统状态的最优估计。从数学角度看,卡尔曼滤波是一个线性递推估计器,它基于线性随机差分方程和线性测量方程,通过递归计算实现对系统状态的最优估计。更正式地说,卡尔曼滤波处理的是一个离散时间线性随机系统,其状态方程和测量方程分别为:两个X_k一个是观测出来的,另一个是预测的。
2025-09-30 23:23:14
4811
28
原创 深度学习激活函数:从 Sigmoid 到 GELU 的演变历程
除了上述主要的激活函数外,深度学习领域还涌现了许多新型激活函数。Swish:由 Google Brain 团队在 2017 年提出,公式为:Swish 结合了 Sigmoid 的门控机制和线性部分,在多个任务上表现优异。Mish:2019 年提出的自门控激活函数,公式为:Mish 在保持非单调性的同时,具有更好的正则化效果。GLU(门控线性单元):公式为:其中 σ 是 Sigmoid 函数,⊙表示元素级乘法。
2025-09-29 10:24:27
1175
23
原创 机器学习项目结构目录的构建
该文件的作用的是:清晰记录exp_1实验的模型差异化参数,后续复现实验时,只需加载此文件即可还原当时的模型设置,无需修改代码或基础配置。调用PyYAML库读取exp_1/model.yaml,并结合基础配置base/model.yaml生成完整参数。每个实验目录包含dataset.yaml、model.yaml、training.yaml等文件。dataset.py:自定义数据集类(继承自torch.utils.data.Dataset)。
2025-09-29 10:22:57
703
1
原创 图卷积网络 (GCN)
在深度学习领域,卷积神经网络 (CNN) 因其在处理图像等欧几里得结构数据方面的卓越表现而广为人知。然而,现实世界中许多数据呈现出更加复杂的非欧几里得结构,如社交网络、分子结构和知识图谱等图结构数据。传统的 CNN 难以直接处理这类数据,因为图中的节点没有固定的顺序和位置,也没有规则的邻域结构。图卷积网络 (Graph Convolutional Network, GCN) 正是为解决这一挑战而提出的。
2025-09-28 15:33:06
1287
15
原创 数据科学-损失函数
对于单个样本,平方错误损失定义为:其中,N是样本总数,yi<referencetype="end"id=19>是第i个样本的真实值,y^i是模型的预测值。从几何角度看,MSE 可以理解为预测值与真实值之间的欧氏距离的平方,然后取平均值。它是一种 L2 范数损失函数,对预测值与真实值之间的差异进行平方惩罚。
2025-09-23 13:03:28
1032
31
原创 梯度提升框架深度解析:LightGBM、XGBoost 与 CatBoost
计算均方根误差,这是回归问题中常用的评估指标。它是均方误差的平方根,具有与目标变量相同的量纲,便于解释。用于存储交叉验证结果的类,包含以下属性:• models:存储各折训练好的模型• train_scores:存储各折的训练集得分• valid_scores:存储各折的验证集得分• importance:特征重要性(如果有)• best_iterations:各折的最佳迭代次数(适用于支持提前停止的模型)在最新的机器学习库中,已经内置了更完善的评估指标和结果存储功能。例如,-
2025-09-21 21:22:43
1037
22
原创 LSTM 深度解析:从门控机制到实际应用
在深度学习领域,循环神经网络 (RNN) 是处理序列数据的强大工具,但传统 RNN 在处理长序列时面临两个主要挑战:短时记忆和梯度消失 / 爆炸问题。当序列长度增加时,RNN 很难捕捉到序列中相隔较远的信息之间的依赖关系,这种现象被称为 "记忆健忘症"。同时,在反向传播过程中,梯度会随着时间步的推移而逐渐消失或爆炸,导致模型难以学习到长期依赖关系。LSTM(Long Short-Term Memory,长短期记忆网络)的诞生正是为了解决这些问题。它通过和。
2025-09-14 21:20:11
960
31
原创 神经网络基本概念
神经网络是一类仿生学算法,其由若干类神经处理单元组成:就是在一个感知机当中加入了激活函数的成分,而感知机则在笔者之前的博客有涉及:感知机相关文章这里的w_i表示权重,x_i为输入,而b则是偏置而多层感知机即可组成最简单的前向神经网络,如图:最前面的叫输入层,其次是隐藏层和输出层(这里省去了偏置),其中隐藏层在一般情况下都不止一层神经网络在计算机内部的表示往往只需要依靠节点和边来实现其中:节点表示创建输入张量、矩阵、向量的函数边表示节点产生和输入的变量,即张量、矩阵、向量这里举一个简单的例子:我们来表示上面
2025-09-12 20:14:18
1080
6
原创 神经网络构成框架-理论学习
Keras 是一个高级神经网络 API,由 Python 语言编写,最初由 François Chollet 开发。它的设计理念是 “为人类设计的深度学习 API”,旨在提供一种简洁、直观且高效的方式来构建和训练神经网络模型。Keras 的 API 设计简洁直观,大大降低了深度学习的入门门槛,使得用户可以快速实现想法。模型由各种可配置的模块(层)组成,用户可以像搭积木一样轻松构建复杂的神经网络。
2025-09-12 20:12:06
1234
1
原创 贝叶斯向量自回归模型 (BVAR)
在金融时间序列分析中,向量自回归 (VAR) 模型作为一种基础且广泛应用的工具,能够捕捉多个时间序列变量之间的动态关系。传统 VAR 模型在参数估计时通常采用普通最小二乘法 (OLS),但这种方法在样本量有限的情况下往往表现不佳,容易出现过拟合现象。贝叶斯向量自回归 (BVAR) 模型通过引入贝叶斯统计框架,能够有效利用先验信息对模型参数进行正则化,特别适合处理小样本数据问题。随着金融市场的复杂性增加和数据获取难度的提高,BVAR 模型在金融时间序列分析中的优势日益凸显。。
2025-09-01 17:08:24
1892
28
原创 凸集与优化
凸集的定义依赖 “凸组合(Convex Combination)” 这一概念,我们先明确它,再定义凸集。一个集合 S⊆Rn是凸集,当且仅当:对任意两个点x_1∈S,x_2∈S以及任意λ∈[0,1],它们的凸组合 λx_1+(1-λ)x_2仍属于S集合中任意两点的连线(所有凸组合)都完全包含在集合内。满足定义的基础条件,允许线段上的点与函数图像完全重合(即存在 “平的部分”)。在凸函数的基础上,进一步要求线段严格位于函数图像上方(除端点外无重合),是更强的条件。凸函数的定义基于。
2025-09-01 17:04:08
1077
原创 模式匹配自动机全面理论分析
算法时间复杂度(平均)时间复杂度(最坏)空间复杂度适用场景BFO(n+m)O(n×m)O(1)小规模文本,简单场景RKO(n+m)O(n×m)O(1)中等规模文本,哈希冲突少KMPO(n+m)O(n+m)O(m)长文本,单模式匹配BMO(n)O(n×m)O(s+m)长文本,单模式匹配AC 自动机O(n+z)O(n×m)O(k)多模式匹配,固定模式集合Wu-ManberO(n+z)O(n×m)O(k+s^B)多模式匹配,动态模式集合。
2025-08-16 18:19:12
961
6
原创 平滑方法(smoothing)
平滑(smoothing)是机器学习中处理概率估计的“保险丝”:当数据里出现 0 或接近 0 的计数时,用人为的小量把概率“撑”起来,防止模型因为没见过就彻底否定某事件的可能性。平滑 = 在经验频率上人为加一个“伪计数”(pseudo-count),使所有可能事件的概率都 > 0,且总和仍为 1。这种做法不但有效处理了稀疏数据(稀疏数据:文本、推荐系统等高维离散空间里,绝大多数组合在训练集里都是 0。
2025-08-16 18:17:48
1369
35
原创 有限状态自动机模型
有限状态自动机(Finite Automaton, FA)是计算理论里最简洁、也最具代表性的抽象计算模型之一。它把“计算”看成一台只能处于有限个内部状态、并根据输入符号在这些状态之间转移的装置。有限状态自动机常被用到词法分析当中,词法分析(Lexical Analysis)可被理解为将字符(String)序列转换为单词(Token)序列的过程,词法分析器则是以函数的形式存在。
2025-08-11 00:30:00
1041
原创 Shapley与SHAP
这是最常用的SHAP图类型,用于展示所有特征对模型预测的总体影响。每一行代表一个特征,特征按其对模型预测的平均影响大小排序。每个点的颜色表示特征值的大小(通常红色表示高值,蓝色表示低值),点的位置表示该特征对预测的贡献值。通过Summary Plot,我们可以快速识别哪些特征对模型的预测影响最大,以及这些特征的值如何影响预测结果。
2025-08-01 02:15:00
1574
29
原创 相似度计算
二维平面:两点 P(x_1, y_1) 与 Q(x_2, y_2) 的欧式距离n 维空间:向量 X=(x_1,…,x_n) 与 Y=(y_1,…,y_n)对于 n 维空间中的两点曼哈顿距离为:对于 n 维空间中的两个点其切比雪夫距离给定一个随机向量 X in Rp和其分布的协方差矩阵 S(正定),与均值向量 mu的马氏距离为:若 S 是单位矩阵(变量独立且方差相等),则退化为欧氏距离。若变量尺度不同或存在相关性, S-1会“修正”这些影响。
2025-07-20 16:08:32
953
44
卡了一个星期的创作者审核了不同意不拒绝什么情况
2025-04-09
由于flask当中配置数据库的问题
2025-02-11
pygame当中的条件语句问题
2025-02-05
关于#pygame#的问题,请各位专家解答!
2025-02-04
Django页面的连立
2025-01-28
在pycharm中编写好django框架数据库创建与连接
2025-01-23
关于#django#的问题:为什么找不到模版文件
2025-01-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅