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

如何将求和分配至平方表达式内项?多变量损失函数优化求助

问题1:如何将求和运算分配到平方表达式内部的项中?

其实核心是结合平方展开的代数规则和求和的线性性质来处理,我给你拆解下:

首先,平方运算不是线性的,所以不能直接把求和“塞”进平方里,但我们可以先把平方项展开,再把求和分配到展开后的每一项上。举几个常见场景:

  • 基础情况:比如你有 $\sum_{i=1}^n (a_i - b_i)^2$,先展开平方:
    $$(a_i - b_i)^2 = a_i^2 - 2a_i b_i + b_i^2$$
    然后把求和符号分配到每一项,得到:
    $$\sum_{i=1}^n a_i^2 - 2\sum_{i=1}^n a_i b_i + \sum_{i=1}^n b_i^2$$

  • 复杂嵌套情况:像你问题2里的损失函数,有多层求和+平方,比如 $\sum_{i}\sum_{k} w_k [X - Y - Z]^2$,先把内层的平方展开:
    $$[X - Y - Z]^2 = X^2 + Y^2 + Z^2 - 2XY - 2XZ + 2YZ$$
    再把外层的两个求和(对i和k)逐个套到展开后的每一项上就行。

关键记住:求和是线性运算,可以直接分配到加法/减法的每一项;但平方是二次运算,必须先展开再分配求和。


问题2:多变量损失函数的交替优化解法

咱们先把问题简化一下:当固定所有$t≠j$的$f_t$和$\beta_t$时,我们可以把已知的部分提出来,定义加权残差项,这样就能把多变量损失转化为更易处理的形式。

首先,令:
$$R_{ik} = y_{ik} - \sum_{t≠j} f_t(x_i \beta_t)$$
这里$R_{ik}$是第i个样本、第k个输出维度的“已知残差”(因为其他参数都固定了)。这样你的多变量损失函数就简化为:
$$L_{multivariate}^j = \sum_{i=1}^n \sum_{k=1}^d w_k \left[ R_{ik} - f_j(x_i \beta_j) \right]^2$$

注意这里$f_j(x_i \beta_j)$是不依赖输出维度k的——它是一个共享的标量函数,对所有输出维度的贡献相同。接下来分两步交替优化:

步骤1:固定$\beta_j$,优化$f_j$

此时$z_i = x_i \beta_j$是已知标量(因为$\beta_j$固定),我们要找函数$f_j$最小化加权损失。这本质是一个加权非参数回归问题:

对每个$z$(即$z_i$的取值),我们需要计算$f_j(z)$使得对应的加权平方和最小。对$f_j(z)$求导并令导数为0,就能得到:
$$f_j(z) = \frac{\sum_{i: z_i=z} \sum_{k=1}^d w_k R_{ik}}{\sum_{i: z_i=z} \sum_{k=1}^d w_k}$$

说白了,就是对每个$z$,收集所有$z_i=z$的样本,计算这些样本在所有输出维度上的加权残差均值(权重是$w_k$),作为$f_j$在$z$处的取值。如果每个$z_i$都是唯一的,那简化为:
$$f_j(z_i) = \frac{\sum_{k=1}^d w_k R_{ik}}{\sum_{k=1}^d w_k}$$

这和单变量场景的逻辑完全一致——只是单变量时$d=1$,$w_1=1$,这里是多维度的加权版本。

步骤2:固定$f_j$,优化$\beta_j$

这一步我们沿用单变量场景的泰勒展开思路,把$f_j(x_i \beta_j)$近似为线性形式:

令$\beta_{j,old}$是$\beta_j$的当前估计值,$z_{i,old} = x_i \beta_{j,old}$,则$f_j$的泰勒展开(一阶近似)为:
$$f_j(x_i \beta_j) \approx f_j(z_{i,old}) + \dot{f}j(z{i,old}) \cdot x_i (\beta_j - \beta_{j,old})$$
这里$\dot{f}_j$是$f_j$的一阶导数。

把这个近似代入损失函数,整理后可以得到一个关于$\beta_j$的加权线性回归问题。我们定义几个简化符号:

  • $g_i = \dot{f}j(z{i,old})$($f_j$在$z_{i,old}$处的导数)
  • $S_{ik} = R_{ik} - f_j(z_{i,old}) + g_i x_i \beta_{j,old}$(整理后的常数项)

此时损失函数近似为:
$$L \approx \sum_{i=1}^n \sum_{k=1}^d w_k \left[ S_{ik} - g_i x_i \beta_j \right]^2$$

对$\beta_j$求导并令导数为0,解这个加权最小二乘问题,最终得到最优的$\beta_j$:
$$\beta_j = \left( \sum_{i=1}^n \left( \sum_{k=1}^d w_k \right) g_i^2 x_i x_i^T \right)^{-1} \sum_{i=1}^n g_i x_i^T \left( \sum_{k=1}^d w_k S_{ik} \right)$$

你也可以把它理解为:对每个输出维度k,计算单变量场景下的回归项,然后把这些项按$w_k$加权求和,再求解最终的$\beta_j$——和单变量解法的核心逻辑一致,只是多了维度上的加权合并。


内容的提问来源于stack exchange,提问作者Pavel Komarov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:43:37