<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Optimization on Chen Kai Blog</title><link>https://www.chenk.top/zh/tags/optimization/</link><description>Recent content in Optimization on Chen Kai Blog</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 28 Jul 2025 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/zh/tags/optimization/index.xml" rel="self" type="application/rss+xml"/><item><title>矩阵低秩近似与伪逆：从 SVD 到正则化</title><link>https://www.chenk.top/zh/standalone/%E7%9F%A9%E9%98%B5%E4%BD%8E%E7%A7%A9%E8%BF%91%E4%BC%BC-%E4%BC%AA%E9%80%86/</link><pubDate>Mon, 28 Jul 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/standalone/%E7%9F%A9%E9%98%B5%E4%BD%8E%E7%A7%A9%E8%BF%91%E4%BC%BC-%E4%BC%AA%E9%80%86/</guid><description>&lt;p>真实数据里的矩阵几乎从不“方+满秩”：特征相关、样本不足、噪声放大病态——求逆这件事要么不存在，要么不稳定。&lt;strong>伪逆&lt;/strong>（Moore-Penrose inverse）把“逆”的直觉延续下去：它不要求方程组有精确解，而是把“解”重新定义为&lt;strong>最小二乘解&lt;/strong>（多解时再选&lt;strong>最小范数&lt;/strong>那一个）。本文从最小二乘视角给出伪逆的定义与四条 Penrose 条件，再用 &lt;strong>SVD&lt;/strong> 把它的计算与&lt;strong>低秩近似&lt;/strong>绑在一起，最后看截断奇异值如何让解更稳、什么时候必须正则化、以及这些结论在 PCA、推荐系统、 LoRA 中如何落地。&lt;/p></description></item><item><title>线性代数（十一）：矩阵微积分与优化——从梯度到反向传播</title><link>https://www.chenk.top/zh/linear-algebra/11-%E7%9F%A9%E9%98%B5%E5%BE%AE%E7%A7%AF%E5%88%86%E4%B8%8E%E4%BC%98%E5%8C%96/</link><pubDate>Wed, 12 Mar 2025 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/linear-algebra/11-%E7%9F%A9%E9%98%B5%E5%BE%AE%E7%A7%AF%E5%88%86%E4%B8%8E%E4%BC%98%E5%8C%96/</guid><description>&lt;h2 id="从淋浴龙头到神经网络" class="heading-anchor">从淋浴龙头到神经网络&lt;a href="#%e4%bb%8e%e6%b7%8b%e6%b5%b4%e9%be%99%e5%a4%b4%e5%88%b0%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9c" class="heading-link" aria-label="Permalink to this section" title="Copy link to this section">#&lt;/a>
&lt;/h2>&lt;p>每天早上，你都在训练一个微型神经网络：水太冷时，你会拧一下水龙头旋钮——这是一个&lt;strong>参数&lt;/strong>；一秒钟后，你感受到新的水温——这是&lt;strong>误差信号&lt;/strong>；接着再拧一次。经过三四次调整，水温就刚刚好。&lt;/p></description></item><item><title>优化理论（十二）：离散与全局优化</title><link>https://www.chenk.top/zh/optimization-theory/12-discrete-global-optimization/</link><pubDate>Fri, 30 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/12-discrete-global-optimization/</guid><description>&lt;p>本系列的前十一篇文章聚焦于&lt;strong>连续凸优化&lt;/strong>问题（或非凸问题的凸松弛形式）。而本文作为收官之作，将直面两类更具挑战性的问题：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>离散优化&lt;/strong>：变量取整数值或组合值。可行域是由有限个（但数量呈指数级增长）点构成的集合。线性与凸优化工具不再直接适用——在整数格点上无法定义导数。&lt;/li>
&lt;li>&lt;strong>全局非凸优化&lt;/strong>：变量为连续型，但目标函数存在大量局部极小值，而我们追求的是&lt;strong>全局最小值&lt;/strong>。Newton 法、L-BFGS 等方法仅能收敛至局部极小点。&lt;/li>
&lt;/ul>
&lt;p>这两类问题共享一个关键特征：&lt;strong>在最坏情况下，任何可证明最优性的算法都具有指数时间复杂度&lt;/strong>。实践中，我们依赖两类策略应对：（a）借助智能剪枝机制（如分支定界）的&lt;strong>精确算法&lt;/strong>；（b）可在多项式时间内找到高质量（未必最优）解的&lt;strong>启发式算法&lt;/strong>。&lt;/p></description></item><item><title>优化理论（十一）：非凸优化与鞍点逃逸</title><link>https://www.chenk.top/zh/optimization-theory/11-nonconvex-saddle-escape/</link><pubDate>Thu, 29 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/11-nonconvex-saddle-escape/</guid><description>&lt;p>对于非凸函数 &lt;span class="math-inline">$f$&lt;/span>
，梯度下降法（GD）没有全局收敛保证。我们最多只能说 &lt;span class="math-inline">$\nabla f(x_t) \to 0$&lt;/span>
——即算法会收敛到一个&lt;strong>平稳点（stationary point）&lt;/strong>，而该点可能是局部极小值、鞍点，甚至是局部极大值。本文要探讨的问题是：&lt;strong>在什么条件下，我们能得出更强的结论？&lt;/strong>&lt;/p></description></item><item><title>优化理论（十）：随机优化与方差缩减</title><link>https://www.chenk.top/zh/optimization-theory/10-stochastic-variance-reduction/</link><pubDate>Tue, 27 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/10-stochastic-variance-reduction/</guid><description>&lt;p>随机梯度下降（SGD）每步只采样单个分量梯度，计算代价远低于全梯度方法——但噪声的代价是什么？能否在保持随机采样优势的同时获得确定性方法的快速收敛？本文从「噪声预算」视角出发，量化这一权衡，并推导解决方案。&lt;/p></description></item><item><title>优化理论（九）：内点法与自和谐障碍函数</title><link>https://www.chenk.top/zh/optimization-theory/09-interior-point-barrier/</link><pubDate>Mon, 26 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/09-interior-point-barrier/</guid><description>&lt;p>1984 年，Karmarkar 证明了线性规划（LP）不仅在理论上（椭球法早已在纸面上实现这一点），更在&lt;strong>实际中&lt;/strong>可于多项式时间内求解。他的&lt;strong>内点法&lt;/strong>始终停留在可行多面体内部，并以 &lt;span class="math-inline">$O(n L)$&lt;/span>
 次迭代收敛，远优于单纯形法的指数级最坏时间复杂度。短短十年之内，Nesterov 与 Nemirovski 利用&lt;strong>自和谐障碍函数&lt;/strong>（self-concordant barrier）框架，将该思想推广至&lt;strong>所有凸规划问题&lt;/strong>。其标志性成果——对 &lt;span class="math-inline">$n$&lt;/span>
 维问题仅需 &lt;span class="math-inline">$O(\sqrt{n} \log(1/\epsilon))$&lt;/span>
 次牛顿迭代——至今仍是中等规模凸优化的&lt;strong>黄金标准&lt;/strong>。&lt;/p></description></item><item><title>优化理论（八）：Lagrangian 对偶与 KKT 条件</title><link>https://www.chenk.top/zh/optimization-theory/08-lagrangian-duality-kkt/</link><pubDate>Sat, 24 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/08-lagrangian-duality-kkt/</guid><description>&lt;p>约束优化中最具深远意义的思想是：&lt;strong>约束具有价格&lt;/strong>。拉格朗日函数通过为每个不等式约束赋予一个非负乘子、为每个等式约束赋予一个自由（无符号限制）乘子，将带约束的问题转化为无约束问题。由此得到的无约束问题可能更易求解（如支持向量机 SVM 的对偶问题），也可能提供一个可验证的下界（如线性规划 LP 对偶性用于整数规划的可行性认证）。&lt;/p></description></item><item><title>优化理论（七）：二阶方法</title><link>https://www.chenk.top/zh/optimization-theory/07-second-order-methods/</link><pubDate>Thu, 22 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/07-second-order-methods/</guid><description>&lt;p>一阶方法在达到 &lt;span class="math-inline">$\epsilon$&lt;/span>
-精度时，迭代次数的上界为 &lt;span class="math-inline">$O(\sqrt{\kappa})$&lt;/span>
（见第 05 篇文章）。二阶方法通过引入曲率信息突破这一瓶颈：牛顿法具有&lt;strong>二次&lt;/strong>局部收敛性——每步迭代使有效数字位数翻倍；而拟牛顿法在不显式计算 Hessian 矩阵的前提下，仍能保持大部分收敛速度。&lt;/p></description></item><item><title>优化理论（六）：复合优化与近端方法</title><link>https://www.chenk.top/zh/optimization-theory/06-composite-proximal-methods/</link><pubDate>Wed, 21 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/06-composite-proximal-methods/</guid><description>&lt;p>当目标函数包含不可导项（如稀疏正则、TV 正则或约束集的指示函数），又或者约束难以直接处理时，“直接上梯度下降”往往会卡住——要么在不可导点处没有梯度可用，要么每一步都破坏可行性。&lt;strong>近端算子（proximal operator）&lt;/strong> 提供了一种精巧而优美的解决方案：把每次更新理解为“先对光滑部分走一步，再通过一个带二次惩罚的小规模优化，将当前点拉回具有特定结构的解空间”。&lt;/p></description></item><item><title>优化理论（五）：Nesterov 之外的加速</title><link>https://www.chenk.top/zh/optimization-theory/05-acceleration-beyond-nesterov/</link><pubDate>Tue, 20 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/05-acceleration-beyond-nesterov/</guid><description>&lt;p>&lt;a href="../02-smoothness-strong-convexity-nesterov/">文章 02&lt;/a>
 介绍了 Nesterov 加速，并展示了它将每次迭代的复杂度从 &lt;span class="math-inline">$\kappa$&lt;/span>
 改进到 &lt;span class="math-inline">$\sqrt{\kappa}$&lt;/span>
。本文探讨更深层次的问题：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>为什么是 &lt;span class="math-inline">$\sqrt{\kappa}$&lt;/span>
 而不是更快？&lt;/strong> 我们证明了一个匹配的下界——没有任何一阶方法能做得更好。&lt;/li>
&lt;li>&lt;strong>Nesterov 是唯一的方式吗？&lt;/strong> Polyak 的 Heavy-Ball 方法通过完全不同的更新规则达到了相同的速率。&lt;/li>
&lt;li>&lt;strong>我们能加速任意求解器吗？&lt;/strong> Catalyst 框架通过包装一个黑盒优化器来获得加速速率，代价是求解一个正则化的子问题。&lt;/li>
&lt;/ul>
&lt;p>统一的工具是一个 &lt;strong>Lyapunov 势函数（Lyapunov potential）&lt;/strong> —— 一种非负量，算法在每一步都会使其减小。Nesterov 和 Heavy-Ball 都有 Lyapunov 证明，而下界本质上说明了 Lyapunov 减小的速度不可能更快。&lt;/p></description></item><item><title>优化理论（三）：梯度下降族——从 SGD 到 AdamW</title><link>https://www.chenk.top/zh/optimization-theory/03-gradient-descent-family/</link><pubDate>Fri, 16 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/03-gradient-descent-family/</guid><description>&lt;p>为什么“调学习率是一门艺术”成了 ResNet 的梗，而每篇现代 LLM 论文却只是简单写下 “AdamW, &lt;span class="math-inline">$\beta_1{=}0.9, \beta_2{=}0.95, \mathrm{wd}{=}0.1$&lt;/span>
” 就翻篇了？这并非偶然——这是 &lt;strong>三十余年优化器演化的终点&lt;/strong>。&lt;/p></description></item><item><title>优化理论（二）：光滑性、强凸性与 Nesterov 加速</title><link>https://www.chenk.top/zh/optimization-theory/02-smoothness-strong-convexity-nesterov/</link><pubDate>Thu, 15 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/02-smoothness-strong-convexity-nesterov/</guid><description>&lt;p>大量关于优化器的“民间智慧”其实可以归结为三个核心概念：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>梯度有多陡？&lt;/strong> Lipschitz 光滑性（&lt;span class="math-inline">$L$&lt;/span>
-smoothness）限制了步长上限。&lt;/li>
&lt;li>&lt;strong>底部有多尖锐？&lt;/strong> &lt;span class="math-inline">$\mu$&lt;/span>
-强凸性决定了收敛速率，并保证最小值点唯一。&lt;/li>
&lt;li>&lt;strong>能否在不牺牲稳定性的情况下更快到达？&lt;/strong> Nesterov 加速和自适应重启将每条件数的代价从 &lt;span class="math-inline">$\kappa$&lt;/span>
 降至 &lt;span class="math-inline">$\sqrt{\kappa}$&lt;/span>
。&lt;/li>
&lt;/ul>
&lt;p>本文将这三个概念串成一条主线：用最少的不等式建立几何直觉，证明关键定理，最后通过一个最小二乘实验，让 GD、Heavy Ball 和 Nesterov 正面交锋。目标不是堆砌公式——而是让你面对新问题时，能立刻回答：“该用多大步长？收敛速率是多少？加速是否值得？”&lt;/p></description></item><item><title>优化理论（一）：凸分析基础</title><link>https://www.chenk.top/zh/optimization-theory/01-convex-analysis-foundations/</link><pubDate>Wed, 14 Sep 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/optimization-theory/01-convex-analysis-foundations/</guid><description>&lt;p>本文是本系列其余所有内容的基石。我们后续将证明的几乎所有结论——梯度下降法的收敛速率、拉格朗日对偶性、近端算子（proximal operator），乃至随机优化方法的分析——都依赖于关于凸集与凸函数的一小套基本事实。本文从零开始，逐一推导全部结论。&lt;/p></description></item><item><title>Python 工程实践（八）：性能优化 —— 性能分析、缓存与适时收手</title><link>https://www.chenk.top/zh/python-engineering/08-performance-and-profiling/</link><pubDate>Wed, 27 Apr 2022 09:00:00 +0000</pubDate><guid>https://www.chenk.top/zh/python-engineering/08-performance-and-profiling/</guid><description>&lt;p>Donald Knuth 那句广为流传的名言常被断章取义。完整原文是：“我们应当忽略微小的效率提升，比如 97% 的情况：过早优化是一切罪恶之源。然而，我们也不应放过那至关重要的 3% 中的良机。”后半句恰恰是重点所在——性能优化并非追求“一切皆快”，而是精准识别真正影响全局的那 3%，并集中资源将其优化。&lt;/p></description></item></channel></rss>