自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三种 Transformer 架构

架构类型典型模型优势劣势用途句子理解最强,语义表示最精确不会生成内容相似度、分类、搜索、EmbeddingGPT、LLaMA生成能力最强,语言模型能力爆炸理解深度不如 Encoder文本生成、对话、推理T5、原始 Transformer、BART输入 → 输出任务最强训练成本最高翻译、摘要、信息抽取Decoder-only 擅长生成;Encoder-only 擅长理解;Encoder-Decoder 擅长输入→输出转换。没有谁取代谁,而是各自都有不可替代的应用场景。

2025-12-10 17:25:31 857

原创 解决 OpenCV imread 在 Windows 中读取包含中文路径图片失败的问题

主要遇到的问题是OpenCV 的函数无法正确读取位于含有中文字符路径下的图片文件。根本原因:OpenCV 的imread对非 ASCII 路径支持不佳,尤其是在 Windows 系统上。解决方案:改用 Pillow 库读取图片,绕过路径编码问题。额外改进:增加异常捕获和日志输出,帮助更快定位问题。

2025-11-17 14:58:19 507

原创 java 给鉴权kafka2.7(sasl)发送消息权限异常处理

问题描述:java使用的kafka3.1版本client,sink端kakfa是2.7开启了sasl,生产消息报错。通过 properties配置解决了。但是你的 Kafka 2.7。但你的 Kafka 2.7。你现在的报错完全符合。

2025-11-14 15:05:46 693

原创 深度学习_神经网络激活函数

本文系统解析了神经网络中常用的激活函数,从基础到高阶全面覆盖。基础激活函数包括Sigmoid、Softmax、ReLU和Leaky ReLU,分别介绍其数学定义、特性、优缺点及典型应用场景。高阶激活函数重点讲解GELU和Swish,分析其平滑性、计算复杂度以及在Transformer等模型中的优势。文章通过对比表格总结各激活函数的核心特征,为选择适合不同场景的激活函数提供参考。总体而言,ReLU系列在CNN中仍是主流,而GELU和Swish等平滑激活函数在Transformer类模型中表现更优。

2025-11-13 13:50:54 962

原创 深度学习_神经网络初始化参数方法

神经网络参数初始化深度指南:正确的初始化是深度学习模型训练成功的关键。介绍了Xavier、He/Kaiming等主要初始化方法,分析其适用场景(如ReLU用He,tanh用Xavier),并给出PyTorch实现模板。重点强调初始化不当会导致梯度消失/爆炸、收敛慢等问题,而好的初始化应保持前向激活与反向梯度的方差稳定。提供了初始化选择速查表和实际应用代码示例,帮助开发者快速选择适合不同网络结构的初始化策略。

2025-11-12 16:43:57 1251

原创 深度学习_神经网络中最常用的学习率优化算法

本文系统解析了四种经典优化算法:Momentum、Adagrad、RMSProp和Adam。Momentum通过惯性思想加速收敛;Adagrad为每个参数自适应调整学习率;RMSProp改进Adagrad避免学习率过快衰减;Adam融合动量和自适应学习率优势,成为当前深度学习的默认选择。文章详细推导了各算法的数学公式,分析其优缺点及典型应用场景,并提供了PyTorch实现代码示例。Adam凭借其快速收敛和自适应特性,在CNN、Transformer等模型中表现优异,推荐使用默认参数β₁=0.9、β₂=0.9

2025-11-12 15:25:37 1191

原创 深度学习_神经网络_损失函数基础

本文系统介绍了机器学习中常用的损失函数及其适用场景。在回归任务中,重点讲解了MSE(均方误差)和MAE(平均绝对误差)的原理、特点及代码实现,并对比了二者的优缺点;在分类任务中,详细解析了交叉熵损失的数学定义、特性及其在PyTorch中的实现方式。文章还简要提及了Huber Loss作为L1和L2损失的折中方案,最后总结了回归与分类任务损失函数的本质区别。全文通过直观解释、数学公式和代码示例,帮助读者理解不同损失函数的选择依据及其在模型优化中的核心作用。

2025-11-11 16:21:32 1037

原创 深度学习_三层神经网络传播案例(L0->L1->L2)

本文详细展示了三层神经网络(2-2-1结构)的完整前向传播和反向传播计算过程。前向传播阶段计算了网络输出(0.751)和均方误差损失(0.2745)。反向传播阶段逐步推导了各层误差项,并更新了权重和偏置参数。关键计算包括:输出层误差项(0.1384)、隐藏层误差项(0.01338和0.01503),以及各参数的更新结果(如W1新权重0.1499和0.2499)。整个过程采用Sigmoid激活函数和0.1的学习率,为理解神经网络训练机制提供了清晰的数值实例。

2025-11-11 16:04:57 1529

原创 数仓命名规范

本文提出了一套企业级数据仓库规范方案,包含数据分层架构、命名规范、字段标准等核心内容。方案采用ODS-DWD-DWS-ADS四层架构,每层定义清晰边界与功能。详细规范了表命名结构(层级_业务域_主题_粒度)、字段命名规则(主键_id结尾等)以及分区生命周期管理策略。同时强调数据建模方法(星型/雪花模型)、开发管理规范(SQL书写、调度流程)和指标口径统一管理。该方案旨在实现数据仓库的标准化、高可维护性和高效查询性能。

2025-11-07 16:16:18 978 1

原创 大数据/AI 数据治理

数据治理:组织数据资产的体系化管理 数据治理是一套涵盖策略、流程、技术和责任的系统性方法,旨在确保数据资产的高质量、安全性、合规性和业务价值。其核心价值在于: 提升数据质量,减少错误决策 确保合规,规避法律风险 提高数据安全,防止泄露 优化资源利用,避免重复建设 实施要点: 基础框架:建立数据政策、明确组织角色(Owner/Steward/Custodian)、构建元数据目录 关键流程:数据发现分类、质量监控、访问控制、生命周期管理 技术支撑:数据目录(如Collibra)、质量管理工具(如Great Ex

2025-11-07 16:00:03 1433

原创 使用 PyTorch来构建线性回归的实现

本文是一个完整的PyTorch线性回归案例讲解,包含以下核心内容: 整体流程:展示了PyTorch模型开发的四大关键步骤:数据准备、模型构建、定义损失/优化器、训练循环。 代码详解: 数据生成:使用make_regression创建带噪声的线性数据 模型定义:nn.Linear实现y=wx+b 训练过程:包含前向传播、损失计算、梯度清零、反向传播和参数更新 可视化: 损失曲线监控训练过程 拟合效果对比真实函数与模型预测 完整代码:提供可直接运行的实现版本,包含数据加载、模型训练和结果可视化。 案例完整展示了

2025-11-07 15:26:40 643

原创 使用房屋价格预测的场景,展示如何从多个影响因素计算权重和偏置的梯度

摘要:本文通过PyTorch实现房屋价格预测模型,展示自动微分机制。关键点包括:1) 使用requires_grad=True跟踪梯度,loss.backward()自动计算梯度;2) 分析5个特征对房价的影响(经度/纬度/楼层/面积为正相关,房龄为负相关);3) 采用线性回归模型,推导并验证梯度计算公式。实验生成100条模拟数据,通过SGD优化器训练1000轮次,可视化损失下降曲线和预测效果。特别演示了手动验证PyTorch自动微分计算的正确性,验证了梯度计算原理。

2025-11-06 16:40:52 655

原创 深度学习_原理和进阶_PyTorch入门(2)后续语法3

本文介绍了PyTorch中的多项核心功能:1. 广播机制允许不同形状张量运算;2. 张量索引操作包括行列索引、切片索引等8种方式;3. 形状操作方法reshape/view及维度操作squeeze/unsqueeze;4. 维度交换函数transpose/permute;5. 内存连续性判断与处理;6. 张量拼接方法cat/stack;7. 自动微分机制实现梯度自动计算。通过代码示例展示了各项功能的具体应用,包括广播规则验证、索引操作、形状变换、梯度计算等,为PyTorch深度学习开发提供了基础技术参考。

2025-11-06 16:32:21 530

原创 深度学习_原理和进阶_PyTorch入门(2)后续语法2

PyTorch张量基础操作指南 本文总结了PyTorch张量的核心操作,包括: 设备管理:需手动指定GPU/CPU设备,通过.to()方法转换 创建方法:提供了全1/全0张量、指定值张量等创建方式 数据类型:支持多种数值类型及转换方法,需注意精度损失问题 数学运算:涵盖元素级运算、统计计算及矩阵乘法 随机生成:包括均匀/正态分布随机数生成及随机种子控制 NumPy互转:支持与NumPy数组的双向转换及内存共享机制 文章通过示例代码演示了各功能的实际应用场景,帮助开发者快速掌握PyTorch张量操作的关键要点

2025-11-05 15:57:17 983 1

原创 深度学习_原理和进阶_PyTorch入门(1)

张量(Tensor)是 PyTorch 中的基本数据结构,可以理解为多维数组。维度名称示例0维标量(Scalar)3.141维向量(Vector)[1, 2, 3]2维矩阵(Matrix)3维及以上高阶张量(Tensor)PyTorch 是一个面向研究与生产的深度学习框架,能让你像写普通 Python 一样轻松构建和训练神经网络。喜欢的同学点个关注吧,及时推送一起学习呀~

2025-11-05 11:17:53 901

原创 四层神经网络案例(含反向传播)

步骤内容说明前向传播X → Ŷ计算预测输出计算损失L(Ŷ, Y)度量误差反向传播计算梯度参数更新用学习率更新参数。

2025-11-04 10:50:10 1064

原创 kafka 2.X+zookeeper3.X 权限控制

Zookeeper 是 Kafka 的元数据存储(存储 topic、分区信息、消费者偏移量等)。:读(Read)、写(Write)、创建(Create)、删除(Delete)、修改配置(Alter)、描述(Describe)等。企业环境中不同团队或服务可能共享 Kafka 集群,需要严格控制访问权限,保证每个团队只能操作自己的 topic。:集群管理操作权限,如创建 topic、删除 topic、查看 broker 状态。:控制谁能读写某个 topic,谁能创建或删除 topic,以及谁能操作消费组。

2025-11-03 16:44:23 1136

原创 StarRocks Data Agent

MCP(模块化能力协议)是一种开放标准,用于让AI 模型(如 LLM 或 Agent)能与外部系统进行交互和调用。它的核心理念是:“AI 不再只是对话,而是能感知、决策、执行。StarRocks Data Agent = AI + MCP + StarRocks 数据仓库它是一个具备多模态感知、智能决策与自动执行能力的“智能数据分析与治理 Agent”,既能理解人类自然语言,又能自动执行数据库操作与图表分析。

2025-10-31 16:06:31 1167

原创 深入浅出AI Agent (2)应用篇

创建一个机器人,然后我们把知识库加入机器人中,并给出关于任务经历以及性格等基本信息的prompt,使回答更加真实接下来,我们来运行一下看看我们的智能体的回答效果,我们输入几个问题:"你为啥要攻打县城"等可以看出先调用了知识库,然后结合知识库的内容一起传给大模型,大模型再给出答案(RAG检索增强)这比直接让大模型回答更精准。

2025-10-31 14:48:34 1283

原创 深入浅出AI Agent (1)理论篇

随着人工智能的快速发展,智能体逐渐成为人与大模型交互的重要方式,智能体是能够模拟人类的行为和决策,使得人与大模型交互变得更方便,高效和自然智能体是人与大模型之间的桥梁,不仅提高了效率,还拓展了大模型的应用,随着科技发展大模型会不断融入我们的生活,成为不可或缺的智能伙伴。

2025-10-31 11:58:56 983

原创 「前向算法/后向算法/EM算法」在 隐马尔可夫模型(HMM) 中求概率

前向算法是用于计算给定观测序列出现的概率逐步累积前面所有可能路径的概率和。令:在时间 tt 时处于状态 SiS_i,且前 tt 个观测为 o1,…,oto_1, \dots, o_t 的联合概率步骤公式含义初始化初始时刻递推当前步依赖前一步终止最终概率和S={s1,s2}S = \{s_1, s_2\}(两个隐藏状态)名称作用使用的变量方向主要公式前向算法评估概率正向后向算法评估概率反向EM算法学习参数双向更新 π,A,B\pi, A, B算法功能输入。

2025-07-09 11:54:50 797

原创 朴素贝叶斯分类器例题

P(x|y_1)P(y_1) = P("免费"|y_1) \cdot P("中奖"|y_1) \cdot P(y_1) = 0.1 \times 0.05 \times 0.7 = 0.0035。P(x|y_2)P(y_2) = P("免费"|y_2) \cdot P("中奖"|y_2) \cdot P(y_2) = 0.6 \times 0.8 \times 0.3 = 0.144。| 条件概率 $ P(x_i|y_j) $ | 正常 (y₁) | 垃圾 (y₂) |

2025-07-08 14:51:58 349

原创 神经梯度下降优化算法第一节

随机梯度下降是一种优化算法,用于最小化代价函数(loss function),广泛应用于机器学习和深度学习中,比如线性回归、神经网络的训练过程。它是梯度下降(Gradient Descent)的一种变体,区别在于它每次只用一个样本或小批量样本来估计梯度。特性Momentum速度快更快稳定性好更平稳更新方式直接用当前位置计算梯度预估下一步后计算梯度收敛表现有时会滑过最小值更容易精准逼近最小值代码复杂度略低略高不再需要手动选择全局学习率。

2025-07-03 14:22:07 771

原创 ROI池化是SPP的一个特例

input•的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w * h的矩形框ROI(Region of Interest)池化和空间金字塔池化(Spatial Pyramid Pooling, SPP)都是用于处理不同大小输入图像的技术,它们使得神经网络能够接受任意尺寸的输入,并输出固定大小的特征图。然而,两者在设计目的和使用场景上有一些区别,而ROI池化可以被视为SPP的一个特例。

2025-05-13 10:51:19 386

原创 深度学习模型在目标检测任务中的前向传播(forward)和反向传播(backward)过程

这是一个典型的深度学习模型在目标检测任务中的前向传播(forward)和反向传播(backward)过程,具体来说,它描述了类似于R-CNN(Region-based Convolutional Neural Network)的架构。总的来说,从输入图像到最终的目标检测结果的完整流程,包括特征提取、候选区域生成、特征映射、分类和回归等多个步骤,以及相应的损失函数和训练机制。- 这些候选区域是从原始图像中提取出来的矩形框,它们覆盖了图像的不同部分,目的是确保真正的目标对象至少有一个对应的候选区域。

2025-05-13 10:41:59 758

原创 图聚类中的亲和力传播

具体来说,它考虑了数据点 \( i \) 与数据点 \( k \) 的直接相似度 \( s(i, k) \),并减去数据点 \( i \) 对于其他候选原型的最大吸引力。- \( a(i, k') \) 和 \( s(i, k') \) 分别是数据点 \( i \) 对于其他候选原型 \( k' \) 的可用性和相似度。- **可用性矩阵 \( a(i, k) \)**:表示数据点 \( k \) 作为数据点 \( i \) 的原型的合适程度。

2025-04-23 14:13:22 491

原创 神经网络中的Adam

Adam因其良好的性能和易用性,在深度学习领域得到了广泛应用。其中,\( \eta \) 是学习率,\( \epsilon \) 是一个很小的常数(例如 \( 10^{-8} \)),用于确保数值稳定性,避免除以零的情况。其中,\( \beta_1 \) 和 \( \beta_2 \) 分别是用于控制一阶矩和二阶矩估计的指数衰减率,默认情况下分别设置为 0.9 和 0.999。这里,\( g_t \) 是损失函数 \( J \) 对参数 \( w \) 在时间步 \( t \) 的梯度。

2025-02-27 14:48:58 552

原创 神经网络中的Adadelta

**减少学习率衰减问题**:通过使用梯度平方和更新步长平方的衰减平均而非累积总和,Adadelta 能够更好地平衡早期和后期的学习率,从而缓解了 Adagrad 中出现的学习率过快下降的问题。这里,\( g_t \) 是当前时间步的梯度,\( E[g^2]_t \) 表示直到当前时间步为止梯度平方的衰减平均值,\( \rho \) 是一个衰减系数(通常设为0.9左右)。- **无需预设学习率**:不同于其他需要手动设定初始学习率的方法,Adadelta 自动适应学习率。### 实践中的应用。

2025-02-27 14:33:52 506

原创 神经网络中的Nesterov Momentum

在传统的动量方法中,更新规则不仅考虑当前的梯度,还包含了之前所有梯度的方向和大小的累积(即“动量”),以帮助克服局部极小值或鞍点,并加快沿陡坡方向的移动速度。这里的 \( w_{\text{temp}} \) 表示临时预测的权重位置,\( \gamma \) 和 \( \eta \) 分别代表动量系数和学习率。1. **预测下一步的位置**:\[ w_{\text{temp}} = w_t + \gamma v_{t-1} \]4. **更新参数**:\[ w_{t+1} = w_t - v_t \]

2025-02-27 14:11:27 940

原创 神经网络中的Adagrad

\( G_t \) 是直到时间步\( t \)为止所有先前梯度平方的累积和(按元素累加),即 \( G_t = \sum_{i=1}^{t} g_i^2 \),这里 \( g_i \) 表示第\( i \)次迭代时的梯度。2. **适合稀疏数据**:由于Adagrad对不常更新的参数保留了较大的学习率,因此它特别适用于具有稀疏特征的数据集,如自然语言处理中的词汇表或推荐系统中的用户-项目交互矩阵。- \( w_t \) 是时间步\( t \)时参数\( w \)的值。### Adagrad的核心思想。

2025-02-27 13:59:59 574

原创 XGBoost目标函数推导

XGBoost 凭借其高效的训练速度、强大的模型表达能力和易于使用的接口,在电商预估等领域展现出了卓越的性能。无论是用户行为预测、商品推荐还是销售预测,XGBoost 都可以帮助企业做出更加明智的决策,提升业务表现。

2025-01-21 14:09:55 1181

原创 softmax 模型的单样本损失函和多样本损失函数

对于单个样本\(x_i\),假设我们有\(K\)个类别,每个类别有一个对应的分数\(z_k=F(x_i)_k\),其中\(F(x_i)\)是模型输出的向量,包含每个类别的得分。对于单样本和多样本的情况,损失函数的形式有所不同,但核心思想是通过最大化正确类别的概率来最小化模型预测与真实标签之间的差异。-**多样本损失**:是对所有训练样本的单样本损失进行平均,以获得一个整体的性能度量。-**单样本损失**:衡量的是单个样本的预测结果与实际标签之间的差异。

2025-01-20 15:11:51 602

原创 梯度提升决策树树(GBDT)公式推导

通过上述推导,我们可以看到逻辑回归的损失函数如何被应用于GBDT中。在每一步迭代中,GBDT会根据当前模型的预测和实际标签之间的差异来更新新的弱学习器(通常是决策树),从而逐步减少损失函数的值。这个过程确保了模型能够逐步逼近最优解,同时通过负梯度方向进行参数更新,有效地减少了损失函数的值。-\(\hat{y}_i\)是模型预测的概率。这里的\(h_m(x)\)是学习到的决策树。-\(y_i\)是实际的标签(0或1)。###逻辑回归的损失函数。###损失函数的推导。

2025-01-20 14:46:50 830

原创 AdaBoost(Adaptive Boosting)算法

AdaBoost(Adaptive Boosting,自适应提升)是一种迭代的机器学习算法,它通过组合多个弱分类器来构建一个强分类器。AdaBoost 是最早且最著名的提升方法之一,因其简单性和有效性而在实践中得到广泛应用。

2025-01-17 15:03:17 1234

原创 高斯分布概率密度函数一维到多维公式的推导

在多维情况下,指数部分变为 \( \exp\left(-\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \boldsymbol{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu})\right) \),这描述了 \( \mathbf{x} \) 到 \( \boldsymbol{\mu} \) 的马氏距离。- 在一维情况下,我们有单个变量 \( x \)、均值 \( \mu \) 和方差 \( \sigma^2 \)。

2025-01-08 13:35:12 875

原创 图类聚类中的谱聚类

假设有一个图 \(G\),包含顶点 \(V = \{v_1, v_2, v_3, v_4\}\) 和边 \(E = \{(v_1, v_2), (v_2, v_3), (v_3, v_4), (v_4, v_1)\}\)。度矩阵 \(D\) 是一个对角矩阵,其中每个对角元素 \(D_{ii}\) 等于邻接矩阵 \(A\) 中第 \(i\) 行(或列,因为 \(A\) 是对称的)所有元素之和,即节点 \(i\) 的度数。这样做的目的是为了确保每一个点在新空间中的表示是单位长度的向量,从而消除尺度的影响。

2025-01-08 10:30:21 1046

原创 密度聚类分类

簇已经搜索完全,因为在距离内没有更多的点。选择一个新的随机 点,并重复该过程以识别下个簇。当算法遍历质心时,在达到稳定性和收敛性之前,离群值对。它没有质心,聚类簇 是通过将相邻的点连接在一起的过程形成的。然后,对核心点的邻域内的每个点进行评估,以确定它是否在epsilon距离内有。只能应用球形簇,如果数据不是球形的,它的准确性就会受到影响。簇的数量,避免了异常值,并且在 任意形状和大小的cluster。如果该点满足 minPts标准,它将成为另一个核心点,这些点不是近邻点,也不是边界点。

2025-01-02 16:11:43 359

原创 KMeans聚类

K-means 聚类算法通常使用欧氏距离作为默认的距离度量标准,但也可以采用其他度量方法,如余弦相似度(或其对应的余弦距离)。不同的距离度量会影响聚类的效果和适用场景。下面我将分别通过余弦相似度聚合和欧氏距离来解释 K-means 聚类,并提供相关案例应用场景、优势和劣势。### 1. 使用欧氏距离的 K-means 聚类#### 解释- **度量方式**:欧氏距离衡量的是两个点在几何空间中的直线距离。

2024-12-31 09:52:30 1437

原创 无约束最优化问题的求解算法

之前利用θ的解析解公式求解的另一个原因是特征维度并不多,但是细致分析一下公式里面 XT X 对称阵是 N 维乘以 N 维的,复杂度是是 O(N)的三次方,换句话说,就是如果你的特征数量翻倍,你的计算时间大致上要 2 的三次方,8 倍的慢比如,4 个特征 1 秒,8 个特征就是 8 秒,16 个特征就是 64 秒,当维度更多的时候呢?梯度下降法就是这样的,你得去试很多次,而且是不是我们在试的过程中还得想办法知道是不是在猜对的路上,说白了就是得到正确的反馈再调整然后继续猜才有意义。使用梯度下降法的目的和原因。

2024-12-27 17:04:19 1136

原创 python代码求解线性回归算法模型

前面我们讲过在多元线性回归中,W 的个数其实是和 X 特征的数量一一对应的,比如我们有 X1、X2 两个特征,我们通过多元线性回归就可以求解得到 W1、W2 两个参数,比如我们有 X0、X1 两个特征,我们通过多元线性回归就可以求解得到 W0、W1 两个参数。"""np.random.randn(100, 1)是设置 error,因为 randn 是标准正太分布,符合我们前面讲过的误差服从均值为 0 的正太分布,这就意味着这样构建的 X 和 Y的关系去使用我们前面讲 过的多元线性回归去拟合求解会很合适。

2024-12-26 17:03:26 385

空空如也

空空如也

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

TA关注的人

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