首页 > 其他分享 >Regularized Stochastic Learning and Online Optimization

Regularized Stochastic Learning and Online Optimization

时间:2024-07-16 09:31:36浏览次数:8  
标签:langle frac bm Regularized Optimization text Online rangle hat

目录

[1] Duchi J. and Singer Y. Efficient Learning using Forward-Backward Splitting. NeurIPS, 2009.

[2] Xiao L. Dual Averaging Method for Regularized Stochastic Learning and Online Optimization. NeurIPS, 2009.

[3] McMahan H. B. and Streeter M. Adaptive bound optimization for online convex optimization. Colt, 2010.

[4] McMahan H. B. Follow-the-regularized-leader and mirror descent: Equivalence theorems and l1 regularization. AISTATS, 2011.

[5] McMahan H. B., et al. Ad click prediction: a view from the trenches. KDD, 2013.

这里介绍一些结合正则化项的随机优化方法. 需要注意的是, 上面的部分链接导向的是仅正文部分, 对应的完整证明需要在 JMLR 上所发表的完整版上找到. 不过我还只是给了简短的链接, 因为阅读起来更加容易.

符号说明

  • \(\bm{w}\), 参数向量;
  • \(f_t(\bm{w})\) 损失函数;
  • \(r(\bm{w})\) 正则化项 (e.g., \(\ell_1, \ell_2\));
  • \(\bm{g}_t = \nabla_{\bm{w}} f_t(\bm{w})\), 梯度;
  • \(\partial r(\bm{w})\), 若 \(r\) 在 \(\bm{w}\) 可导, 则表示梯度, 否则表示次梯度
  • \(\odot\), 哈达玛积;
  • \([x]_+ = \max(x, 0)\).

Motivation

  • 一般来说, 模型的训练目标是

    \[\min_{\bm{w}} \quad f(\bm{w}), \]

    或者随机优化/在线学习的情况:

    \[\min_{\bm{w}_1, \ldots, \bm{w}_t} \quad \sum_{t=1}^T f_t(\bm{w}_t). \]

  • 不过, 我们通常会对参数 \(\bm{w}\) 加以限制, 从而优化如下的损失

    \[f(\bm{w}) + \lambda \: r(\bm{w}), \]

    这里 \(r(\bm{w})\) 是正则化项, 可以是比如 \(\|\bm{w}\|_p = (|w_1|^p + \cdots + |w_d|^p)^{1/p}\).

  • 这里, 我们介绍的引入这些正则化项的方式, 并不是仅仅把它作为损失然后计算梯度, 而是通过修改优化器的优化规则来进行. 正则化项实际上一种人为的先验, 优化的目标自然是每一次更新尽可能地满足这些先验, 我们可以以两阶段的方式来理解这里介绍的方法 (虽然, 有些方式的形式是一步的):

    1. 通过传统的梯度方法得到 \(t+1\) 步的参数估计 \(\hat{\bm{w}}_{t+1}\);
    2. 将 \(\hat{\bm{w}}_{t+1}\) 投影到由 \(r\) 所刻画的区域中去, 得到真正的参数 \(\bm{w}_{t+1}\).
  • 说实话, 我不清楚这种方式和简单把 \(r\) 作为损失的一部分孰优孰劣, 但是比较容易理解的是, 比如 \(r\) 为 \(\ell_1\) 时, 我们其实时希望这个正则化项带来参数的稀疏化. 但是由于每次更新的数值误差, 其实很难指望简单的随机梯度下降是能够满足这个性质的. 但是从下面我们可以看到, 通过投影的方式引入, 实际上会导致显式的截断操作, 从而保证稀疏化.

FOBOS (Forward-Backward Splitting)

  • 这个是由 [1] 所提出的, 同时请不要在意缩写.

  • FOBOS 的更新规则如下:

    \[\hat{\bm{w}}_{t+1} = \bm{w}_t - \eta_t \bm{g}_t, \\ \bm{w}_{t+1} = \text{argmin}_{\bm{w}} \bigg \{ \frac{1}{2} \| \bm{w} - \hat{\bm{w}}_{t + 1} \|^2 + \lambda_t r(\bm{w}) \bigg\}. \]

  • 容易证明上述问题等价于找到一个 \(\bm{w}_{t+1}\) 满足:

    \[\bm{w}_{t+1} + \lambda_t \partial r(\bm{w}_{t+1}) = \hat{\bm{w}}_{t+1}. \]

  • \(\ell_1\) regularization:

    • 首先注意到:

    \[\partial r_{\ell_1} (w) = \left \{ \begin{array}{ll} 1 & w > 0, \\ -1 & w < 1, \\ [-1, 1] & w = 0 \end{array} \right. \]

    • 所以,

    \[w_{t+1} = \hat{w}_{t+1} - \lambda_t \Leftrightarrow \partial r(w_{t+1}) = 1 \Leftrightarrow w_{t+1} > 0 \Leftrightarrow \hat{w}_{t+1} > \lambda_t, \\ w_{t+1} = \hat{w}_{t+1} + \lambda_t \Leftrightarrow \partial r(w_{t+1}) = -1 \Leftrightarrow w_{t+1} < 0 \Leftrightarrow \hat{w}_{t+1} < -\lambda_t, \\ w_{t+1} = 0 \Leftrightarrow \partial r(w_{t+1}) = \frac{\hat{w}_{t+1}}{\lambda_t} \Leftrightarrow |\hat{w}_{t+1}| < \lambda_t. \]

    • 总结可得:

    \[\bm{w}_{t+1} = \text{sgn}(\hat{\bm{w}}_{t+1}) \odot \Big[|\bm{w}_{t+1}| - \lambda_t \Big]_+ \]

  • \(\ell_2^2\) regularization: \(r(\bm{w}) = \frac{1}{2} \|\bm{w}\|_2^2\)

    • 此时:

      \[\partial r(\bm{w}) = \bm{w}. \]

    • 故而

      \[\bm{w}_{t+1} = \frac{1}{1 + \lambda_t} \hat{\bm{w}}_{t+1}. \]

      起到的是一个 scale 的作用.
  • \(\ell_2\) regularization: \(r(\bm{w}) = \|\bm{w}\|_2\)

    • 此时:

      \[\partial r(\bm{w}) = \frac{1}{2 \|\bm{w}\|} \bm{w}. \]

    • 故而 \(\bm{w}_{t+1}\) 必与 \(\hat{\bm{w}}_{t+1}\) 的方向一致:

      \[\bm{w}_{t+1} = \bigg[ 1 - \frac{\lambda_t}{ \|\hat{\bm{w}}_{t+1}\| } \bigg]_+ \hat{\bm{w}}_{t+1} . \]

      起到的是一个 scale 的作用.
  • \(\ell_{\infty}\) regularization: \(r(\bm{w}) = \| \bm{w} \|_{\infty}\).

    • 这个问题不好通过次梯度分析, 一般的做法是利用 \(\ell_{\infty}\) 的对偶范数为 \(\ell_1\) 范数来求解 (see here).
  • 当然了, 类似的方法可以拓展到混合范数.

RDA (Regularized Dual Averaging)

  • 这篇文中 [2] 指出, FOBOS 通常会采取一种衰减的 \(\lambda_t\), 所以理论上越到后面, 稀疏性会越差 (采取 \(\ell_1\) 正则), 这篇文章就是探讨如何不采用衰减的 \(\lambda_t\) 从而尽可能地保持稀疏性.

  • RDA 的更新方式如下:

    \[\bm{w}_{t+1} = \text{argmin}_{\bm{w}} \bigg \{ \langle \bm{\bar{g}}_t, \bm{w} \rangle + r(\bm{w}) + \frac{\beta_t}{t} h(\bm{w}) \bigg\}, \]

    其中 \(h(w)\) 是特别引入保证收敛的强凸函数 (在 \(r(w)\) 不是强凸的时候有用), \(\{\beta_t\}\) 是一串非降的序列.
    需要注意的是, 不同于 FOBOS, \(r(t)\) 内部包含了系数, 如 \(\lambda \|\bm{w}\|_1\), 不过系数是固定的, 因此我们可以希望所得的参数是满足某些性质的.

  • 另外,

    \[\bm{\bar{g}}_t = \frac{t-1}{t} \bm{\bar{g}}_{t-1} + \frac{1}{t} \bm{g}_t, \quad \bm{g}_t \in \partial f_t(\bm{w}_t), \]

    是梯度的滑动平均, 我们在最后面会用到它的另一种表示:

    \[\bm{\bar{g}}_t = t\bm{g}_{1:t} := \sum_{s=1}^t \bm{g}_s. \]

  • 关于范数 \(\|\cdot \|\) 强凸: \(h\) 关于范数 \(\|\cdot\|\) 是强凸的, 若存在 \(\sigma > 0\) 使得

    \[h(\alpha w + (1 - \alpha) u) \le \alpha h(w) + (1 - \alpha) (u) - \frac{\sigma}{2} \alpha(1 - \alpha) \|w - u\|^2. \]

  • 当 \(r(w)\) 不满足强凸的时候, 此时需要强凸的 \(h\) 进行调和, 同时需要令

    \[\beta_t = \gamma \sqrt{t}, \]

    以获得 \(\mathcal{O}(1 / \sqrt{T})\) 的收敛率.
    一个例子是 \(\ell_1\)-regularizaton: \(r(\bm{w}) = \lambda \|\bm{w}\|_1\), 此时我们可以令

    \[h(\bm{w}) = \frac{1}{2} \|\bm{w}\|_2^2 + \rho \|\bm{w}\|_1, \]

    此时更新方程的解为

    \[\bm{w}_{t+1} = -\frac{\sqrt{t}}{\gamma} \Big( \bm{\bar{g}}_t - \lambda_t^{\text{RDA}} \text{sgn}(\bm{\bar{g}}_t) \Big) \odot \Big[ |\bm{\bar{g}}_t| - \lambda_t^{\text{RDA}} \Big]_+, \]

    其中

    \[\lambda_t^{\text{RDA}} = \lambda + \rho / \sqrt{t}. \]

    我们可以注意到, \(\lambda_t^{\text{RDA}} \ge \lambda\), 所以这保证了非常一致的稀疏性.

  • 而当 \(r(\bm{w})\) 本身是强凸的时候, 比如 \(r(\bm{w}) = \lambda \|\bm{w}\|_1 + (\sigma / 2) \|\bm{w}\|_2^2\), 此时我们不必添加额外的 \(h\), 此时可以得到:

    \[\bm{w}_{t+1} = -\frac{1}{\sigma} \Big( \bm{\bar{g}}_t - \lambda \text{sgn}(\bm{\bar{g}}) \Big) \odot \Big[ |\bm{\bar{g}}_t| - \lambda \Big]_+. \]

FTRL-Proximal (Follow The Regularized Leader)

  • [3, 4] 都对这部分进行的阐述, 不过这里主要根据 [4] 进行总结. 我认为最重要的部分就是将 FOBOS 和 RDA 统一起来了. 至于如何统一起来, 让我们一点点看.

  • 让我们首先写出, RDA 的一个等价形式:

    \[\begin{array}{ll} \bm{w}_{t+1} & =\text{argmin}_{\bm{w}} \bigg \{ \langle \bm{\bar{g}}_t, \bm{w} \rangle + r(\bm{w}) + \frac{\beta_t}{t} h(\bm{w}) \bigg\} \\ &= \text{argmin}_{\bm{w}} \bigg \{ \langle t \bm{\bar{g}}_t, \bm{w} \rangle + t \cdot r(\bm{w}) + h(\bm{w}) \bigg\} \\ &= \text{argmin}_{\bm{w}} \bigg \{ \underbrace{\langle \bm{g}_{1:t}, \bm{w} \rangle}_{(1)} + \underbrace{t \cdot r(\bm{w})}_{(2)} + \underbrace{h(\bm{w})}_{(3)} \bigg\} \end{array}, \]

    其中 \(\bm{g}_{1:t} := \sum_{s=1}^t \bm{g}_s\).

  • (1) 保证 \(\bm{w}_{t+1}\) 和整体的(负)梯度是一致的, (2) 保证正则化项, 当其为 \(\ell_1\) 是就是保证足够的稀疏性, 而且可以发现, 对于 RDA 而言, 它的强度随着迭代次数的增加而增加. 实际上容易理解, 当我们去掉 \(t\), 那么 \(r(\bm{w})\) 在整个损失中的地位是为逐步降低的 (因为 \(\bm{g}_{1:t}\) 正常来说是逐步增加的).

  • 更有趣的是, 我们可以将 FOBOS 也写成这种形式, 从而更好的理解为什么 RDA 在引入稀疏化的能力上比 FOBOS 强.

  • 我们有:

    \[\hat{\bm{w}}_{t+1} = \bm{w}_t - \eta_t \bm{g}_t, \\ \begin{array}{ll} \bm{w}_{t+1} &= \text{argmin}_{\bm{w}} \bigg \{ \frac{1}{2} \| \bm{w} - \hat{\bm{w}}_{t + 1} \|^2 + \lambda_t r(\bm{w}) \bigg\} \\ &= \text{argmin}_{\bm{w}} \bigg \{ \frac{1}{2} \| \bm{w} - \bm{w}_{t} + \eta_t \bm{g}_t \|^2 + \lambda_t r(\bm{w}) \bigg\} \\ &= \text{argmin}_{\bm{w}} \bigg \{ \frac{1}{2} \| \bm{w} - \bm{w}_{t}\|_2^2 + \eta_t \langle \bm{g}_t, \bm{w} \rangle + \lambda_t r(\bm{w}) \bigg\} \\ &= \text{argmin}_{\bm{w}} \bigg \{ \langle \bm{g}_t, \bm{w} \rangle + \frac{\lambda_t}{\eta_t} r(\bm{w}) + \frac{1}{2 \eta_t} \| \bm{w} - \bm{w}_{t}\|_2^2 \bigg\}. \end{array} \]

  • 当我们把 \(\lambda_t / \eta_t\) 融入 \(r(\bm{w})\) 的时候, FOBOS 的更新公式实际上就和 RDA 差在了

    \[\langle \bm{g}_*, \bm{w} \rangle. \]

  • 接下来我们先统一格式, 再证明一个更加酷的结论. 定义如下的更新方式:

    \[\tag{A.1} \bm{\hat{w}}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + r(\bm{w}) + \zeta_{1:t}(\bm{w}, \bm{\hat{w}_t}), \]

    其中

    \[\zeta_{1:t} (\bm{x}, \bm{y}) = \sum_{s=1}^t \zeta_s (\bm{x}, \bm{y}) = \sum_{s=1}^t \bigg[ \Psi_s (\bm{x}) - \Psi_s (\bm{y}) + \langle \nabla \Psi_s (\bm{y}), \bm{x} - \bm{y} \rangle \bigg], \]

    其中 \(\Psi_s(\bm{x}) := \psi_s (\bm{x} - \bm{\hat{w}}_s)\), \(\psi_s\) 是强凸的且最小值在 \(\bm{0}\) 处取到.
    这个项为 Bergman divergence.

  • 我们证明 (A.1) 和下列的 (A.2) 所得到的参数更新是一致的 (如果起点都是 0): 存在 \(\bm{\phi}_k \in \partial r(\bm{w}_{k+1}), k=1,2\ldots, t\) 使得

    \[\bm{g}_{1:k} + \bm{\phi}_{1:k-1} + \nabla \Psi_{1:k}(\bm{w}_{k+1}) + \bm{\phi}_{k} = \bm{0}, \]

    从而

    \[\tag{A.2} \bm{w}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{g}_{1:t} + \bm{\phi}_{1:t}, \bm{w} \rangle + r(\bm{w}) + \Psi_{1:t}(\bm{w}). \]


proof:

  • 首先 \(\bm{w}_1 = \bm{\hat{w}}_1\) 是必然的. 我们用归纳法证明. 假设 \(\bm{w}_t = \bm{\hat{w}}_t\).

  • 在此之前我们先证明一个引理:

  • 引理: 当 \(h\) 为强凸函数 (且存在一阶导数), \(g\) 为凸函数的时候, 存在唯一的配对 (\(\bm{x}^*, \bm{\phi}\)) 满足 \(\bm{\phi} \in \partial g(\bm{x}^*)\) 且使得:

    \[\bm{x}^* = \text{argmin}_{\bm{x}} \quad h(\bm{x}) + \langle \bm{\phi}, \bm{x}\rangle \]

    成立. 同时 \(\bm{x}^*\) 是 \(h(\bm{x}) + \bm{g}(\bm{x})\) 的唯一最小值点.

  • 实际上, 由于 \(h\) 为强凸, \(g\) 为凸函数, 所以 \(h + g\) 为强凸, 故最小值点 \(\bm{x}^*\) 是唯一的. 同时满足存在 \(\phi \in \partial g(\bm{x}^*)\) 使得

    \[\nabla h(\bm{x}^*) + \bm{\phi} = \bm{0}. \]

    因此容易发现 \(\bm{x}^*\) 是 \(\bm{h}(\bm{x}) + \langle \bm{\phi}, \bm{x} \rangle\) 的最小值点.

  • 在 \(\bm{w}_t = \bm{\hat{w}}_t\) 的基础上, 我们可以一步一步推得

    \[\begin{array}{ll} \bm{\hat{w}}_{t+1} &= \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + r(\bm{w}) + \zeta_{1:t}(\bm{w}, \bm{\hat{w}_t}) \\ &= \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + r(\bm{w})+ \Psi_{1:t}(\bm{w}) - \Psi_{1:t}(\bm{\hat{w}}_t) - \langle \nabla \Psi_{1:t}(\bm{\hat{w}}_t), \bm{w} - \bm{\hat{w}}_t \rangle \\ &= \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + r(\bm{w}) + \Psi_{1:t}(\bm{w}) - \langle \nabla \Psi_{1:t}(\bm{\hat{w}}_t), \bm{w} - \bm{\hat{w}}_t \rangle \\ &= \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + r(\bm{w}) + \Psi_{1:t}(\bm{w}) - \langle \nabla \Psi_{1:t-1}(\bm{\hat{w}}_t), \bm{w} - \bm{\hat{w}}_t \rangle \\ &= \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + r(\bm{w}) + \Psi_{1:t}(\bm{w}) - \langle \nabla \Psi_{1:t-1}(\bm{w}_t), \bm{w} - \bm{w}_t \rangle \\ &= \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + r(\bm{w}) + \Psi_{1:t}(\bm{w}) + \langle \bm{g}_{1:t-1} + \bm{\phi}_{1:t-1}, \bm{w} - \bm{w}_t \rangle. \end{array} \]

  • 再次运用上面的结论, 我们可以找到 \(\bm{\phi}_t' \in \partial \Psi (\bm{\hat{w}}_{t+1})\), 满足:

    \[\begin{array}{ll} \bm{\hat{w}}_{t+1} &= \text{argmin}_{\bm{w}} \langle \bm{g}_t, \bm{w} \rangle + \langle \bm{\phi}_t', \bm{w} \rangle + \Psi_{1:t}(\bm{w}) + \langle \bm{g}_{1:t-1} + \bm{\phi}_{1:t-1}, \bm{w} \rangle. \end{array} \]

  • 由于 \((\bm{\hat{w}}_{t+1}, \bm{\phi}_t')\) 的唯一性, 便有:

    \[(\bm{w}_{t+1}, \bm{\phi}_t) = (\bm{\hat{w}}_{t+1}, \bm{\phi}_t'). \]


  • 于是, 我们证明了两个过程的等价性. 但是这里需要声明的是, (A.2) 由于 \(\phi\) 的存在, 并不是一个很有用的更新方式, 但是它可以给我们带来一些启发.

  • 比如, 当取 \(\psi_s(\bm{w}) = \frac{\sigma_s^2}{2}\|\bm{w}\|_2^2\)

    \[\zeta_{1:t}(\bm{w}, \bm{\hat{w}_t}) \Leftrightarrow \frac{1}{2} \|\sigma_{1:t} ( \bm{w} - \bm{\hat{w}}_t ) \|_2^2 \]

    可以看出是 FOBOS 的更新方式 (设置合适的 \(\sigma\)), 此时等价于:

    \[\bm{w}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{g}_{1:t} + \bm{\phi}_{1:t}, \bm{w} \rangle + r(\bm{w}) + \frac{1}{2}\sum_{s=1}^t \|\sigma_s(\bm{w} - \bm{w}_s)\|_2^2. \]

  • 所以, FOBOS 对比 RDA 实际上就是

    1. 多了

    \[\langle \bm{\phi}_{1:t}, \bm{w} \rangle \]

    这一项. 这一项是对正则化的一个估计. RDA 稀疏化的效果好的原因, 实际上是因为它采取的不是估计, 而是通过增强 \(r(\bm{w})\).

    1. RDA 的 \(h(\bm{w})\) 通常是 \(\frac{1}{2} \|\bm{w}\|_2^2\), 是 origin-centered 的

FOBOS, RDA, FTRL-Proximal 的统一表示

  • FOBOS:

    \[\bm{w}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{g}_{1:t} + \bm{\phi}_{1:t}, \bm{w} \rangle + r(\bm{w}) + \frac{1}{2}\sum_{s=1}^t \|\sigma_s(\bm{w} - \bm{w}_s)\|_2^2. \]

  • RDA:

    \[\bm{w}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{g}_{1:t} + \bm{0}, \bm{w} \rangle + t\cdot r(\bm{w}) + \frac{1}{2}\sum_{s=1}^t \|\sigma_s(\bm{w} - \bm{0})\|_2^2. \]

  • FTRL-Proximal:

    \[\bm{w}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{g}_{1:t} + \bm{0}, \bm{w} \rangle + t\cdot r(\bm{w}) + \frac{1}{2}\sum_{s=1}^t \|\sigma_s(\bm{w} - \bm{w}_s)\|_2^2. \]

  • 注意到, FTRL-Proximal 实际上是 FOBOS 和 RDA 的结合, 既有 FOBOS 的 \(\bm{x}_s\) 中心化, 又有 RDA 的稀疏性.

  • 我们是不需要记忆所以的 \(\bm{w}_s\) 的, 注意到: FTRL-Proximal 等价于

    \[\bm{w}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{g}_{1:t} - \sum_{s=1}^t \sigma_s^2 \bm{w}_s, \bm{w} \rangle + t \cdot r (\bm{w}) + \frac{1}{2} \sum_{s=1}^t \sigma_s^2 \|\bm{w} \|_2^2. \]

  • 令 \(\eta_t = 1 / (\sum_{s=1}^t \sigma_s^2)\), 以及

    \[\bm{z}_t := \bm{g}_{1:t} - \sum_{s=1}^t \sigma_s^2 \bm{w}_s. \]

  • 我们有

    \[\bm{w}_{t+1} = \text{argmin}_{\bm{w}} \langle \bm{z}_t, \bm{w} \rangle + t \cdot r (\bm{w}) + \frac{1}{2 \eta_t} \|\bm{w} \|_2^2. \]

    \[\bm{z}_{t+1} = \bm{z}_t + \bm{g}_{t+1} - (\frac{1}{\eta_{t+1}} - \frac{1}{\eta_{t}}) \bm{w}_{t+1}. \]

    所以, 实际上我们所需要保存的量很少.

标签:langle,frac,bm,Regularized,Optimization,text,Online,rangle,hat
From: https://www.cnblogs.com/MTandHJ/p/18304511

相关文章

  • Nonlinear econometrics for finance
    NonlineareconometricsforfinanceHOMEWORK2(LIE,NLSandGMM)Problem1(LawofIteratedExpectations.)(6points) Afinancialanalystwantstopredictthereturnonaportfolio.Theportfoliogiveseitherareturnof1or2percentineachperiod.She......
  • 文献阅读-Distributed Constrained Combinatorial Optimization leveraging Hypergra
    DistributedConstrainedCombinatorialOptimizationleveragingHypergraphNeuralNetworks  AbstractScalableaddressingofhighdimensionalconstrainedcombinatorialoptimizationproblemsisachallengethatarisesinseveralscienceandengineering......
  • Optimization Algorithms 原理与代码实战案例讲解
    OptimizationAlgorithms原理与代码实战案例讲解1.背景介绍1.1问题的由来优化算法是计算机科学、工程和数学中的一个核心领域,主要用于寻找满足特定约束条件下的最佳解决方案。在现实世界中,无论是最小化成本、最大化收益、提高效率还是解决问题的不确定性,优化算法都能......
  • HDU-4281 Judges' response(2012 ACM/ICPC Asia Regional Tianjin Online)
    HDU-4281Judges'response(2012ACM/ICPCAsiaRegionalTianjinOnline)状态压缩+01背包+区间dp题意:有n个地点,第一个地点是裁判位置,其他n-1个地点是选手的位置。裁判要给选手解决问题,每个选手都有一个时间表示解决这个选手问题所需要的时间。同样的,裁判也有一个时间,表示这......
  • 重启失败的 pt-online-schema-change 任务
    从PerconaToolkit3.6.0开始,如果pt-online-schema-change被中断,你可以重新恢复它。 要重启任务,需要知道它在哪里失败了。这就是为什么第一个必须使用的选项是-history。它指示pt-online-schema-change将进度存储在历史表中。历史表的默认名称是percona.pt_osc_history......
  • Unity接入Epic Online Service上架Epic游戏商城 登录和支付SDK配置与接入
    前言现在越来越多的游戏都开始上架EPIC(虽然大部分人上E宝只是为了白嫖包括我自己0-0)多多少少的开始有接入EPIC的需求今天就来简述下接入的主要两个流程登录和支付 分享不易还请大佬轻喷如果有帮助到你的话可以的话帮我点个免费的赞和收藏吧SDK下载下载链接如下......
  • 基于RSSI测距的多边定位法(matlab online)
        实验目的1、学习RSSI测距的原理2、学习多边定位法对RSSI定位的实现3、用仿真实现RSSI定位    RSSI测距方法是无线传感器网络中比较常用的一种测距方法。当无线信号在大气中传播时,由于各种因素的干扰,信号强度会随着距离的增大而衰减,这表明在信号强度变化......
  • dynamics 365 online仪表板提示:超出最大记录限制。请减少记录数量
     1、Dynamics365online的仪表板确实有数量限制,当记录条数超过5万的时候,就会提示:超出最大记录限制。请减少记录数量https://learn.microsoft.com/zh-cn/power-apps/maker/model-driven-apps/create-edit-system-charthttps://learn.microsoft.com/zh-cn/power-apps/maker/mod......
  • 蛇鹫优化算法(Secretary bird optimization algorithm,SBOA)的复杂城市地形下无人机避障
    一、部分代码蛇鹫优化算法(Secretarybirdoptimizationalgorithm,SBOA)由FuYoufa等人于2024年提出,该算法的灵感来自于蛇鹫在自然环境中的生存行为。参考文献:[1]FuY,LiuD,ChenJ,etal.Secretarybirdoptimizationalgorithm:anewmetaheuristicforsolvinggloba......
  • pt-online-schema-change 在线无缝修改表
    pt-online-schema-change支持在不妨碍读写操作的情况下修改表的结构。这种方法允许管理员无缝地修改表,同时保持数据的完整性,并最大限度地减少中断。为了完成在线修改的目标,pt-online-schema-change工具遵循定义明确的步骤:·创建空副本:pt-online-schema-change会为将要修改的......