You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

梯度下降算法中-2*wx及代码对应项的数学推导问询

梯度下降中-2 * wx * this.xArr[i]的数学推导说明

先明确代码变量与数学符号的对应关系

  • this.xArr[i] = 第i个样本的输入特征 (x_i)
  • this.yArr[i] = 第i个样本的真实标签 (y_i)
  • this.weight = 模型权重 (w)
  • this.bias = 模型偏置 (b)
  • wx = (y_i - (w \cdot x_i + b)),即第i个样本的真实值与预测值的误差

推导步骤

1. 定义均方误差损失函数

线性回归任务中,我们使用**均方误差(MSE)**作为损失函数,衡量预测值与真实值的差异,公式为:
[
L(w,b) = \frac{1}{N} \sum_{i=1}^{N} \left( y_i - (w \cdot x_i + b) \right)^2
]
其中 (N) 是样本总数(对应代码中的this.points)。

2. 计算损失函数对权重(w)的偏导数

梯度下降的核心是通过损失函数的偏导数(梯度)来更新参数,我们需要计算损失函数 (L(w,b)) 对权重 (w) 的偏导数 (\frac{\partial L}{\partial w}):

  • 根据链式法则,先对平方项求导,再对括号内的预测表达式求导:
    [
    \frac{\partial L}{\partial w} = \frac{1}{N} \sum_{i=1}^{N} \left[ 2 \cdot \left( y_i - (w \cdot x_i + b) \right) \cdot \frac{\partial \left( y_i - w \cdot x_i - b \right)}{\partial w} \right]
    ]
  • 计算括号内的偏导项:(\frac{\partial \left( y_i - w \cdot x_i - b \right)}{\partial w} = -x_i)
  • 代入后化简:
    [
    \frac{\partial L}{\partial w} = \frac{1}{N} \sum_{i=1}^{N} \left[ 2 \cdot \left( y_i - (w \cdot x_i + b) \right) \cdot (-x_i) \right] = -\frac{2}{N} \sum_{i=1}^{N} \left[ \left( y_i - (w \cdot x_i + b) \right) \cdot x_i \right]
    ]

3. 对应代码中的实现

代码中:

  • wx 就是公式里的 (\left( y_i - (w \cdot x_i + b) \right))
  • 循环里的 -2 * wx * this.xArr[i] 对应单个样本贡献的偏导分量(即公式中求和项里的 (2 \cdot \left( y_i - (w \cdot x_i + b) \right) \cdot (-x_i)))
  • 代码先通过 w_deriv += ... 累加所有样本的偏导分量,之后除以样本数 this.points(即 (N)),就得到了完整的 (\frac{\partial L}{\partial w}),最后结合学习率 learnc 完成权重更新。

内容的提问来源于stack exchange,提问作者chang dae Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 20:57:57