- 博客(93)
- 收藏
- 关注
原创 GPT 模型详解:从原理到应用
GPT 的成功在于:高效利用 Transformer 解码器结构;大规模预训练数据;强大的自回归语言建模能力。它不仅推动了 NLP 的发展,也在代码、图像生成等领域展现出跨模态的潜力。随着 GPT 系列不断演进,通用人工智能(AGI)的脚步正在逐渐逼近。
2025-08-24 17:15:19
687
原创 BERT(Bidirectional Encoder Representations from Transformers)模型详解
BERT 基于 Transformer Encoder 架构,采用双向上下文建模。通过MLM + NSP的预训练任务,使模型学到深层语义表示。在多个 NLP 下游任务上达到 SOTA(state-of-the-art)表现。BERT 的提出是 NLP 领域的里程碑,为后续的等改进模型奠定了基础。%20b_2M。
2025-08-24 17:10:28
598
原创 Transformer 模型详解:从自注意力到编码器-解码器结构
在自然语言处理(NLP)领域,传统的 RNN(循环神经网络)和 LSTM(长短期记忆网络)在处理长序列时存在梯度消失和计算效率低的问题。2017 年,Vaswani 等人提出的架构彻底改变了 NLP 的发展方向。它完全基于注意力机制(Attention),摒弃了循环结构,大幅提升了训练效率与模型表现。Transformer 不仅成为 NLP 的基础模型,也为后续的 BERT、GPT、ViT(视觉 Transformer)等模型奠定了核心框架。Transformer 通过注意力机制、多头机制、位置编码。
2025-08-24 17:01:54
635
原创 门控循环单元(GRU, Gated Recurrent Unit)
门控循环单元(GRU, Gated Recurrent Unit)是循环神经网络(RNN)的一种改进结构,由 Cho 等人在 2014 年提出。它和 LSTM 一样,旨在解决RNN 的梯度消失和梯度爆炸问题,同时能够建模长距离依赖信息。与 LSTM 相比,GRU 结构更简洁,参数更少,计算效率更高。GRU 是 LSTM 的简化版,在很多任务上能取得相似甚至更好的效果。优点:计算效率高、参数量少、适合大规模训练。缺点:缺少独立记忆单元,在极长序列任务中可能稍逊于 LSTM。在实际应用中,
2025-08-20 14:01:41
1550
原创 长短期记忆网络(LSTM)
循环神经网络(RNN)在处理序列数据(如文本、时间序列、语音)时具有天然优势,但传统 RNN 存在梯度消失和梯度爆炸的问题,难以捕捉长距离依赖关系。长短期记忆网络(Long Short-Term Memory,LSTM)是一种特殊的 RNN 变体,由 Hochreiter 和 Schmidhuber 在 1997 年提出。它通过门控机制(Gates)控制信息的保留与遗忘,解决了 RNN 在长序列训练中的问题。RNN善于处理短期依赖,但难以记忆长期信息。LSTM。
2025-08-20 13:57:39
998
3
原创 循环神经网络(RNN, Recurrent Neural Network)
RNN 是处理序列数据的经典模型,能够记忆上下文信息。数学本质:通过递归公式进行时序建模。存在梯度消失问题,通常使用 LSTM 和 GRU 改进。应用广泛,尤其在 NLP、语音识别、时间序列预测领域%24t%24%24t-1%24%24h_t%24%24x_t%24%24T%24。
2025-08-20 13:52:24
345
原创 卷积神经网络(CNN)详解
卷积神经网络(Convolutional Neural Network, CNN)是一种专为处理具有网格结构数据(如图像)而设计的神经网络。最早用于手写数字识别(LeNet-5)在图像分类、目标检测、语音识别等领域广泛应用核心思想:用卷积核(滤波器)提取局部特征共享权重减少参数量层叠结构逐步提取从低级到高级的特征✅ 优点:参数共享,减少计算量局部感受野,捕捉空间特征适合高维数据(图像、视频、语音)❌ 缺点:对旋转、缩放不一定鲁棒训练需要大量数据和计算资源。
2025-08-15 14:41:50
290
原创 全连接神经网络(MLP / DNN)详解
全连接神经网络(Multi-Layer Perceptron, MLP)是一种典型的前馈神经网络,属于深度学习的基础结构。MLP指至少有一层隐藏层的感知机网络DNN(Deep Neural Network)是 MLP 的扩展版本,层数更多核心特点:神经元之间层与层全连接通过非线性激活函数提升表达能力使用反向传播(Backpropagation)训练✅ 优点:表达能力强,能拟合复杂非线性关系通用性强,适用于分类和回归结合深度学习框架可快速实现❌ 缺点:计算量大,对硬件要求高。
2025-08-15 14:36:12
666
原创 高斯朴素贝叶斯(Gaussian Naive Bayes, GNB)完整解析
高斯朴素贝叶斯(Gaussian Naive Bayes, GNB)是朴素贝叶斯算法的一种变体,专门用于连续型特征。核心特点:假设特征在各类别条件下服从高斯分布(正态分布),通过计算后验概率完成分类。理论简单,计算效率高对连续特征处理自然(假设高斯分布)需要的参数较少,适合小数据集GaussianNB 是朴素贝叶斯的连续特征版本,假设特征服从高斯分布简单高效,适合小数据集或维度不高的连续特征分类任务当特征分布偏离正态分布或特征强相关时,效果可能下降C_kx_iC_kC_kx_iC_kx_i。
2025-08-04 13:35:20
275
原创 朴素贝叶斯(Naive Bayes)完整解析:概率论经典算法
朴素贝叶斯(Naive Bayes,NB)是一类基于贝叶斯定理(Bayes Theorem)与条件独立假设的分类算法。通过计算样本属于不同类别的后验概率,选择概率最大的类别作为预测结果。NB 适合文本分类、垃圾邮件识别等场景,是经典的概率生成模型。理论简单、计算高效对小数据集效果好可处理多分类问题对缺失数据不敏感Naive Bayes 是基于概率的生成模型,核心是贝叶斯公式 + 条件独立假设对特征维度高(如文本)的任务非常高效缺点是条件独立假设过强,但实践中效果依旧稳定C_k。
2025-08-04 13:25:15
421
原创 K 近邻算法(KNN)完整解析:原理 + 数学公式 + 实战
KNN(K-Nearest Neighbors,K 近邻算法)是一种经典的监督学习算法,可用于分类和回归。对一个未知样本,找到训练集中距离它最近的 K 个邻居,通过“多数投票”或“加权平均”来预测类别或数值。KNN 属于基于实例的学习(Instance-based Learning),也称为“懒惰学习”(Lazy Learning):没有显式训练过程预测时直接用整个训练集计算最近邻理论简单,易于理解适用于多分类问题无需显式训练,天然支持增量数据KNN 是懒惰学习,核心是。
2025-08-04 13:16:47
552
原创 CatBoost 完整解析:类别特征友好的梯度提升框架
CatBoost(Categorial Boosting)是由 Yandex(俄罗斯搜索引擎公司)开源的梯度提升框架,专为类别特征处理优化。无需手动 one-hot / LabelEncoding,原生支持类别特征,并解决梯度偏差问题CatBoost 的定位:与 LightGBM、XGBoost 同属 GBDT 家族专注于类别特征和小样本高维稀疏场景原生支持类别特征,不需要手动编码防止信息泄漏,泛化性能好自动特征组合,提升模型表达能力支持 GPU 加速、分布式训练CatBoost 最大亮点是。
2025-08-02 15:13:06
643
原创 LightGBM 完整解析:高效梯度提升框架 + 工业级优化
LightGBM(Light Gradient Boosting Machine)是微软开源的一个高效梯度提升框架,属于 GBDT 系列算法。基于直方图的高效计算 + 叶子优先生长策略 + 大规模数据支持能在大数据、高维稀疏数据集上高效训练,并支持分布式、GPU 加速。训练速度快,内存占用低支持大规模数据集和分布式训练支持类别特征原生处理精度较高,收敛速度快支持 GPU 加速LightGBM 是 GBDT 家族中最高效的算法之一直方图算法 + 叶子优先生长 + 类别特征原生支持。
2025-08-02 15:08:01
941
原创 XGBoost 完整解析:原理 + 数学推导 + 优化 + 实战
XGBoost(Extreme Gradient Boosting)是**梯度提升树(GBDT)**的高效工程实现,由陈天奇博士开发,因其强大的性能和速度,广泛应用于工业界和 Kaggle 竞赛。在 GBDT 的基础上,引入二阶导数、正则化、特征采样、并行优化和高效内存管理,使训练速度更快、精度更高、泛化更好。比传统 GBDT 更快、更精准支持正则化,泛化性能更好能自动处理缺失值、稀疏特征支持分布式计算和 GPU 加速提供特征重要性评估。
2025-07-31 14:28:06
738
原创 梯度提升树(GBDT)完整解析:原理 + 数学推导 + 实战
梯度提升树(Gradient Boosting Decision Tree,GBDT)是一种基于Boosting 思想的集成学习算法,基学习器为决策树(CART回归树)。通过多棵树的串行叠加,每棵树拟合上一步模型的残差(或损失函数的负梯度),最终得到一个强分类器/回归器。支持多种损失函数,泛化性强拟合能力强,效果通常优于单棵决策树对特征预处理要求低GBDT = Boosting + CART回归树每一轮拟合负梯度,逐步逼近最优解。
2025-07-31 14:20:52
1130
原创 随机森林(Random Forest)完整解析:原理 + 数学推导 + 实战
随机森林(Random Forest,RF)是一种集成学习(Ensemble Learning)算法,基于 Bagging 思想,将多个决策树组合在一起,通过投票或平均提升模型的泛化能力。对分类任务:多数投票(Majority Voting)对回归任务:平均预测值核心思想:多棵树投票胜过单棵树。集成多棵树,泛化能力强,效果稳定不易过拟合,参数调节相对简单能处理高维数据并可评估特征重要性可自然处理缺失值和不平衡数据随机森林 = Bagging + 决策树 + 特征随机化。
2025-07-31 14:07:39
819
原创 决策树(Decision Tree)完整解析:原理 + 数学推导 + 剪枝 + 实战
决策树(Decision Tree)是一种常见的监督学习方法,可用于分类和回归。通过特征条件的逐层划分,将数据集分割成越来越“纯净”的子集,直到子集中的样本几乎属于同一类别。最终输出是一个树形结构,每个叶节点对应一个类别或预测值。可解释性强,输出清晰的规则不需要大量特征工程(无需归一化)能同时处理数值型和离散型特征ID3 用信息增益,C4.5 用信息增益率,CART 用基尼指数剪枝是防止过拟合的关键步骤决策树是集成学习方法的核心基学习器p_kkDAD_vA%3DvA。
2025-07-27 14:16:00
658
原创 支持向量机(SVM)完整解析:原理 + 推导 + 核方法 + 实战
支持向量机(Support Vector Machine,SVM)是一种经典的监督学习算法,广泛应用于二分类任务,也可扩展至多分类和回归(SVR)。找到一个最优的超平面,最大化两类样本间隔,从而提升分类的鲁棒性。两类支持向量到超平面的距离为:能处理高维特征空间支持核函数,适用于非线性问题模型由支持向量决定,鲁棒性强SVM通过最大化间隔提升模型泛化能力软间隔 + 核方法使SVM适应非线性与噪声数据可根据数据规模与特征选择合适的核函数%5Cxi_iCCC%5Calpha_i%20b%29%29。
2025-07-27 14:07:31
747
原创 逻辑回归(Logistic Regression)详解:从原理到实战一站式掌握
逻辑回归(Logistic Regression)是一种用于二分类的监督学习算法,尽管名字中含有“回归”,它本质上是一个分类模型,预测输出值为属于某个类别的概率,最终通过阈值判断类别。输出为概率,易于解释实现简单,训练高效对线性可分数据效果好可以自然处理多分类(Softmax)逻辑回归是分类任务的基础算法。对于非线性边界,可引入特征变换或核方法。学会从最大似然推导损失函数是关键基础。
2025-07-25 14:39:06
285
原创 线性回归(Linear Regression)全面解析:原理 + 推导 + 实战 + 拓展
线性回归是一种用于预测连续数值型变量的基础监督学习方法。它假设因变量(目标变量)与一个或多个自变量(特征变量)之间存在线性关系。线性回归是机器学习的入门基石,必须掌握。不要忽视模型假设,尤其是线性关系和多重共线性。正则化方法能有效提升鲁棒性。在真实业务中,可结合特征工程提升性能。
2025-07-25 14:28:56
637
原创 Hinge Loss(铰链损失函数)详解:SVM 中的关键损失函数
Hinge Loss(铰链损失),是支持向量机(SVM, Support Vector Machine)中常用的一种损失函数,用于最大间隔分类。当预测结果已经正确并且与真实标签的乘积超过1时,损失为0;否则损失线性增长。这意味着模型不仅要预测对,还要“足够自信”才能不受惩罚。Hinge Loss 是支持向量机的核心损失函数,强调最大间隔分类。不同于逻辑回归的 log-loss,hinge loss 不是概率损失,但在分类效果上尤其对 margin 要求更高。适用于需要模型输出“置信度强烈倾斜”
2025-07-18 15:19:26
521
原创 KL散度(Kullback-Leibler Divergence)详解 + Python实现
KL 散度衡量的是两个概率分布和之间的差异程度。它本质上告诉我们:如果使用分布来近似真实分布,会造成多大的信息损失。✅ KL 散度不是对称的,通常写作:表示以为近似分布时相对真实分布的信息损失。KL 散度是一种衡量两个概率分布差异的非对称性指标;实现简单,适用于许多概率建模场景;使用时要注意对数计算安全性(避免 log(0));实际中也可以使用JS 散度、交叉熵等替代方式。
2025-07-18 15:08:40
1183
原创 Huber Loss(胡贝损失)详解:稳健回归的秘密武器 + Python实现
Huber Loss 结合了 MAE 与 MSE 的优势;提供平滑梯度,收敛更稳定;可以通过调整 delta 控制敏感度;是现代回归模型中非常推荐的损失函数。
2025-07-18 14:53:41
636
原创 深度学习 | 多类交叉熵(Categorical Cross Entropy)详解 + Python实现
多类交叉熵损失函数衡量的是预测的概率分布与真实类别分布之间的距离。通常用于Softmax 输出层 + 多分类问题。Categorical Cross Entropy 是多分类任务的首选损失函数;与 Softmax 输出层配合使用;一定要做数值稳定性处理(加 epsilon);真实标签应为 One-Hot 向量;预测越准,损失越小。yy_i%3D1。
2025-07-17 14:13:27
348
原创 深度学习基础 | Softmax 函数原理详解 + Python实现 + 数学公式
Softmax 函数是一种归一化函数,能够将一个实数向量映射为一个概率分布。它的输出是一个向量,所有元素非负,且总和为 1。设=[,…,]是长度为的向量,Softmax 函数的输出定义为:特点:所有输出∈(0,1),可解释为概率分布Softmax是处理多分类问题的核心函数;它将模型输出转换为概率,便于分类决策;推荐搭配交叉熵损失函数使用,优化分类准确率;实际实现中应考虑数值稳定性。
2025-07-17 14:06:58
407
原创 深度学习损失函数详解 | Binary Cross Entropy(二元交叉熵)原理 + 数学推导 + Python实现
(简称 BCE)是用于二分类模型的损失函数,通常用于输出为概率(0~1)的问题,比如逻辑回归、神经网络的输出层等。它本质上是信息论中的交叉熵(Cross Entropy)在二分类场景下的特例。Binary Cross Entropy 是一个经典且强大的损失函数,适用于任何概率型的二分类输出模型。掌握其原理不仅有助于理解模型的优化过程,也能在实际建模中灵活应用与调试。
2025-07-17 13:55:41
713
原创 激活函数详解 | Sigmoid 函数原理 + 数学推导 + Python 实现
Sigmoid 函数是一种S 形曲线函数,常用于二分类模型的输出层,也曾广泛应用于早期的神经网络模型中。它的主要特点是:输出范围:(0,1)(0, 1)(0,1)连续可导,单调递增常用于将输出值归一化为概率值属性值公式输出范围(0, 1)应用二分类、概率建模缺点梯度消失、非 0 中心输出。
2025-07-11 13:51:16
545
原创 平均绝对百分比误差(MAPE)详解及 Python 手动实现
MAPE 是衡量回归模型性能的一种常用评估指标,表示预测值与真实值之间的相对误差的平均值,以百分比形式表示。它特别适用于衡量真实值变化范围较大的问题。指标适用情况优点缺点MAPE回归任务中真实值较大、无零值数据易于理解和解释无法处理真实值为 0 的情况;对小值敏感%24y_i%24%24y_i%24%24y_i%24。
2025-07-11 13:40:56
772
原创 R² 决定系数详解:原理 + Python手写实现 + 数学公式 + 与 MSE/MAE 比较
R²,又叫决定系数(coefficient of determination),是衡量模型拟合优度的一个指标。通俗来讲,R² 表示模型解释了多少比例的目标变量方差:R² 越接近1,说明模型越好;R² 等于0,说明模型还不如直接用均值来预测;R² 小于0,表示模型效果很差,比“瞎猜”还糟糕。R² 是一个相对指标,并非误差的绝对值,而是比较预测值与均值的差距;在多个模型之间进行对比时,R² 是一个很直观的参考;若配合 MAE / RMSE 使用,可以获得更全面的模型评估视角。%24y_i%24。
2025-07-11 13:36:17
649
原创 均方根误差(RMSE)详解与Python实现
RMSE 是回归模型中最常用的误差衡量之一;它能更直观地反映预测误差大小(与原单位一致);但需注意其对异常值较为敏感,在实际中结合 MAE 使用效果更佳。
2025-07-10 14:16:25
653
原创 均方误差(Mean Squared Error, MSE)详解与手动实现
MSE 是衡量预测准确度的重要工具,但在对异常值不敏感的场景中,可以考虑 MAE(平均绝对误差)或 Huber Loss 等更稳健的评估指标。MSE 是衡量回归模型预测值与真实值之间误差的常用指标。,因为误差被平方后,较大的差值对整体误差的影响会被放大。越小的 MSE 表示预测越精确,但对离群点较为敏感。在模型训练过程中,MSE 常被用作优化目标函数;,能够有效反映模型在整体上的拟合程度。与 MAE 不同的是,MSE 更加。回归问题中用于衡量预测误差;
2025-07-10 14:07:26
378
原创 MAE(Mean Absolute Error)平均绝对误差详解 | 原理 + 公式 + Python实现
MAE(平均绝对误差)衡量的是预测值与真实值之间的绝对差的平均值,表示平均每个样本预测偏离了多少。MAE 是衡量模型预测精度最基础但极其重要的指标;它易于理解且鲁棒性强;在模型评估报告中,经常与等指标同时出现,综合对比性能。
2025-07-10 14:03:01
842
原创 堆排序(Heap Sort)详解 | Python实现 + 图解 + 复杂度分析
堆是一种完全二叉树大顶堆(Max Heap):任意父节点的值 ≥ 子节点;小顶堆(Min Heap):任意父节点的值 ≤ 子节点;在堆排序中,我们通常使用大顶堆。堆排序虽然不是最常用的排序方法,但其时间复杂度稳定、空间使用低,是理解优先队列、TOP-K问题等高级算法的基础之一。📌 还想了解希尔排序 / 计数排序 / 桶排序 / 基数排序?评论区告诉我~
2025-07-08 13:52:31
429
原创 归并排序详解(含Python实现 + 图解 + 复杂度分析)
归并排序作为一种高效、稳定的排序算法,适用于对稳定性有要求或处理大规模数据的场景。虽然其空间复杂度较高,但在链表或磁盘排序中表现优异。
2025-07-08 13:49:09
487
原创 插入排序(Insertion Sort)详解 + Python实现
插入排序虽然在大数据量下效率不高,但其思想简洁,适合教学与面试中快速实现。实际应用中,如果能检测出部分有序或预排序数据,插入排序可以发挥优势。
2025-07-08 13:46:08
398
原创 选择排序算法详解(含Python实现)
选择排序的思路是“先选最小,再放前面”,虽然效率不高,但非常适合初学者理解排序机制。掌握此算法是理解更复杂排序(如堆排序)的基础。
2025-07-07 14:02:11
306
原创 冒泡排序算法详解(含Python代码实现)
相邻两个元素比较,将较大的元素不断“冒泡”至右侧,最终实现排序。其基本过程是重复比较相邻的元素,如果顺序错误就交换,重复这一过程,直到没有任何需要交换的为止。冒泡排序是一种简单但不高效的排序算法,作为入门学习非常合适。在实际项目中,建议使用快速排序、归并排序或 Python 内置的sort(),但理解冒泡排序对于掌握更复杂的排序算法非常重要。
2025-07-07 13:58:54
367
原创 快速排序算法详解(含Python代码实现)
快速排序是一种原地排序算法,其核心思想是:从数组中选择一个元素作为基准值(pivot)。将数组中小于等于该基准值的元素放在其左边,大于的放在右边。然后对左边和右边的子数组递归执行上述步骤,直到子数组长度为 1 或 0。快速排序是高效、优雅的排序算法之一,在实际应用中被广泛使用,尤其适合中到大规模数据的排序。虽然在最坏情况下性能退化为 O(n²),但通过优化(如随机选择 pivot、三数取中等)可以大幅提升性能。如果你对排序算法感兴趣,欢迎继续关注我后续的冒泡排序、归并排序、堆排序等系列内容!
2025-07-07 13:55:22
427
原创 LeetCode 287. 寻找重复数(不修改数组 + O(1) 空间)
不能修改原数组 ➜ 排除排序、计数等解法要求 O(1) 空间 ➜ 排除哈希表使用链表快慢指针 ➜ 经典技巧,空间压缩到极致!
2025-07-06 18:06:26
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人