自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 神经网络中的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 409

原创 神经网络中的Adadelta

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

2025-02-27 14:33:52 378

原创 神经网络中的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 590

原创 神经网络中的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 439

原创 XGBoost目标函数推导

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

2025-01-21 14:09:55 920

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

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

2025-01-20 15:11:51 437

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

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

2025-01-20 14:46:50 679

原创 AdaBoost(Adaptive Boosting)算法

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

2025-01-17 15:03:17 830

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

在多维情况下,指数部分变为 \( \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 392

原创 图类聚类中的谱聚类

假设有一个图 \(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 824

原创 密度聚类分类

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

2025-01-02 16:11:43 158

原创 KMeans聚类

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

2024-12-31 09:52:30 865

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

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

2024-12-27 17:04:19 910

原创 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 260

原创 算法开发环境的搭建

熟悉 Java 或 Scala 的 IDEA 开发工具的同学,肯定知道 jetbrains 这家公司,他。这里不推荐安装原生的 python 环境,如果电脑中已有 python 环境也没关系,只是后期需。家针对 Python 的 PyCharm 和 IDEA 开发工具的开发风格是非常类似的,快捷。言也随着近些年 AI 的发展流行度在不断的攀升。我们从语言流行度排行榜上面就可以看出。键很多都是一致的,偷偷告诉大家,他家还有一个 Clion 也非常好用,如果你有。要利用 pip install 比较多的模块。

2024-12-26 16:08:38 113

原创 解析解方法求解线性回归

我们现在有了损失函数形式,也明确了目标就是要最小化损失函数,那么接下来问题就是 theta 什么时候可以使得损失函数最小了。其中,\(h_\theta(x^{(i)}) = \theta^T x^{(i)}\)。这里就等价于一个长度为 \( m \) 向量乘以它自己,说白了就是对应位置相乘相加。### 推导出 \(\theta\) 的解析解形式。这就是 \(\theta\) 的解析解形式。最小二乘形式变化个写法。

2024-12-26 15:28:56 353

原创 深入线性回归算法的推导

根据中心极限定理,如果有一个由大量相互独立且具有相同分布的随机变量组成的序列\[X_1, X_2, \ldots, X_n\],并且这些随机变量都拥有有限的数学期望\(\mu\)和方差\(\sigma^2\),那么当样本数量\(n\)足够大时,这\(n\)个随机变量的平均值\(\bar{X}\)将趋近于一个正态分布。实际上,子代的身高往往向群体的平均值靠近。这里,\(n\) 是样本数量,\(\hat{y}_i\) 表示第 \(i\) 个样本的预测值,而 \(y_i\) 则是该样本的真实值。

2024-12-25 17:32:38 807

原创 mysql到paimon并基于starrocks做异步分区物化视图全流程

activity_reduce_amount` decimal(16,2) DEFAULT NULL COMMENT '促销金额',`original_total_amount` decimal(16,2) DEFAULT NULL COMMENT '原价金额',`coupon_reduce_amount` decimal(16,2) DEFAULT NULL COMMENT '优惠券',`coupon_reduce_amount` decimal(16,2) NULL COMMENT '优惠券',

2024-12-24 14:51:22 976

原创 中心极限定理

中心极限定理(Central Limit Theorem, CLT)是概率论和统计学中的一个基本概念,它指出:在一定条件下,大量独立同分布的随机变量之和(或平均值),当样本数量足够大时,其分布将趋近于正态分布。假设有一个总体,其均值为μ,方差为σ^2。2. **小样本均值分布**:接下来,多次从上述总体中随机抽样(比如每次抽取5个样本),计算每个样本的平均值,并记录下来。3. 从较大样本(例如每个样本包含30个观测值)中抽取的多个样本均值的分布,并叠加了一个正态分布曲线来显示与理论正态分布的匹配程度。

2024-12-23 17:59:01 424

原创 不容小觑的线性回归算法

回归问题主要关注确定一个唯一的因变量(dependent variable)(需要预测的值)和一个或多。预测变量:影响目标变量的因素,predictors,X1...Xn,可以是连续值也可以是离散值。个数值型的自变量(independent variables)(预测变量)之间的关系。需要预测的值:即目标变量,target,y,连续值。线性回归是机器学习中有监督机器学习下的一种算法。之间的关系:即模型,model,是我们要求解的。

2024-12-23 14:14:06 223

原创 数值优化算法面临的问题

对应多元函数来说,我们称之为鞍点,严格定义是,在这一点它的 hessian 矩阵是不定的,一点的导数或梯度等于 0 就是驻点,它只是函数取得极值的必要条件,不是充分条件,也。这个问题好歹是个局部极值,只不过不是全局极值,理论上我们要求全局最优解的话,我们。要把所有极小值找出来,你可能要不断的去设置不同的初始迭代点,反复的求解让它收敛到。函数,在坐标为 0 处它是驻点,但是它连局部最小值点都不是,既不正定也不负定,这样它就即不是极小值的点也不是极大值的点。所有我们前面介绍的数值优化算法,都会面临两个问题。

2024-12-20 17:08:52 197

原创 数值算法之梯度下降法和牛顿法

\( \nabla_\theta J(\theta) \) 是损失函数 \( J(\theta) \) 对参数 \( \theta \) 的梯度。- **自适应学习率方法**(如 AdaGrad, RMSProp, Adam 等):这些方法动态调整学习率,提高了梯度下降法的稳定性和效率。- **共轭梯度法**:结合了梯度下降法和牛顿法的优点,在不需要显式计算Hessian矩阵的情况下加速收敛。- **不适合稀疏数据**:对于稀疏数据,Hessian矩阵往往是稠密的,增加了计算难度。

2024-12-20 17:04:01 374

原创 SVM 中的 SMO 算法在最优化问题中的应用

1. **选择变量**:每次迭代中,SMO 只选择两个拉格朗日乘子 \( \alpha_i \) 和 \( \alpha_j \) 进行优化,而保持其他所有乘子不变。3. **更新规则**:根据解析解的结果更新所选的两个拉格朗日乘子 \( \alpha_i \) 和 \( \alpha_j \),并相应地调整阈值 \( b \)(即偏置项),以确保满足KKT条件。- \( y_i \) 是第 \( i \) 个样本的标签 (\( +1 \) 或 \( -1 \))。- \( N \) 是样本数量。

2024-12-20 16:44:26 338

原创 SVM 中的 SMO 算法

**边界检查**:确保所选的第一个变量不在边界上(即 \( 0 < \alpha_i < C \)),因为边界上的变量已经达到了它们的最大或最小值,不能再进一步调整。- **核技巧的应用**:虽然 SMO 支持各种核函数,但对于某些特定类型的核函数,可能仍然难以高效地计算。- **对于非常大的数据集**,即使 SMO 相对高效,当数据规模增长到一定程度时,它的性能也会受到影响。- **第二个变量的选择**:选择与第一个变量对应的支持向量具有最大步长变化的另一个变量,以加速收敛。

2024-12-20 16:43:15 302

原创 二阶泰勒展开与Hessian矩阵的结合

是的,在公式 \( f(x) \approx f(x_0) + \nabla f(x_0)^T (x - x_0) + \frac{1}{2} (x - x_0)^T H(x_0) (x - x_0) \) 中,\( H(x_0) \) 是Hessian矩阵。这个矩阵包含了目标函数 \( f(x) \) 在点 \( x_0 \) 处的所有二阶偏导数。### Hessian矩阵的定义对于一个具有连续二阶偏导数的多元函数 \( f: \mathbb{R}^n \to \mathbb{R} \),其Hessian

2024-12-20 15:28:50 261 1

原创 最大似然估计函数

x_1, x_2, ..., x_n) = P(x_1, x_2, ..., x_n | \theta)\),它描述了当参数为 \(\theta\) 时,观测到特定数据点 \(x_1, x_2, ..., x_n\) 的概率。1. **写出似然函数**:基于你所使用的具体概率分布(例如正态分布、泊松分布等),写出似然函数 \(L(\theta)\) 或者对数似然函数 \(\ell(\theta)\)。其中 \(C^n_k\) 是组合数,表示从 \(n\) 项中选取 \(k\) 项的方式数目。

2024-12-20 14:02:41 407

原创 正态分布以及应用场景

如果 \( X \sim N(\mu, \sigma^2) \),那么新的随机变量 \( Z = \frac{X - \mu}{\sigma} \) 将服从标准正态分布 \( N(0, 1) \)。- 99.7% 的数据落在均值的三个标准差范围内 (\( \mu \pm 3\sigma \))。- 68% 的数据落在均值的一个标准差范围内 (\( \mu \pm \sigma \));- **对称性**:曲线以均值 \( \mu \) 为中心完全对称。- **单峰性**:只有一个峰值位于均值处。

2024-12-20 14:00:55 717

原创 什么是协方差

**尺度依赖性**:协方差的大小不仅取决于两个变量之间的关系强弱,还受到各自单位的影响。这里 \(\sigma_X\) 和 \(\sigma_Y\) 分别是 \(X\) 和 \(Y\) 的标准差。这里 \(\bar{x}\) 和 \(\bar{y}\) 分别代表样本 \(X\) 和 \(Y\) 的平均数,\(n\) 是样本数量。- \(E[(X - E[X])(Y - E[Y])]\) 是两个变量偏差乘积的期望值。- \(E[X]\) 表示随机变量 \(X\) 的期望值(或平均值);

2024-12-20 13:54:50 409

原创 ∇ x​ (x T Ax)=(A+A T )x 求导过程

通过上述推导,我们证明了 \(\nabla_{\mathbf{x}} (\mathbf{x}^T A \mathbf{x}) = (A + A^T)\mathbf{x}\)。第一项对应于 \(A\mathbf{x}\) 的第 \(k\) 个分量,而第二项则对应于 \(A^T\mathbf{x}\) 的第 \(k\) 个分量。这里 \(a_{ij}\) 是矩阵 \(A\) 的元素,\(x_i\) 和 \(x_j\) 分别是向量 \(\mathbf{x}\) 的第 \(i\) 和第 \(j\) 个分量。

2024-12-19 16:53:24 432

原创 二次项的内积

这里,\(\mathbf{x}^T\) 是 \(\mathbf{x}\) 的转置。展开后可以看到,\(Q(\mathbf{x})\) 包含了 \(\mathbf{x}\) 中元素的一次项、二次项以及交叉项(如果 \(A\) 不是对角矩阵的话)。- **物理系统建模**:在描述机械振动或其他动态系统的能量函数时,往往会出现涉及位置和速度变量的二次项,它们之间的相互作用可以通过内积来衡量。其中 \(A\) 和 \(B\) 是适当的矩阵。在这种情况下,我们可以说这是两个向量经过相同线性变换后的二次项之间的内积。

2024-12-19 16:51:08 356

空空如也

空空如也

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

TA关注的人

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