研究笔记 · Research Note
L-Curve Axis-Scale Ambiguity (Hansen σ² vs σ⁴ bug catch)
L-Curve Axis-Scale Ambiguity (Hansen σ² vs σ⁴ bug catch)
页面用途: Caltech DSCOVR retrieval 项目 (2021.03–2022.03, Yuk Yung + King-Fai Li 指导) Zhenyu 作为本科生 2022-01-08 group meeting 上展示的技术发现 — 在 Hansen Discrete Inverse Problems (SIAM 2010, foundational textbook) 中发现公式级 bug 并独立识别其深层原因为 axis-scale ambiguity。
定义
L-Curve Axis-Scale Ambiguity 是 Zhenyu 2022-01-08 在 Caltech DSCOVR 项目 group meeting 上 formal articulate 的 structural limitation of classical L-curve method:
- Hansen 公式层 bug: Hansen Discrete Inverse Problems (SIAM 2010) 中 log-log L-curve curvature 公式的分母应为 (filter factor 导数展开的 chain-rule denominator), 但书中 写成了 — 不是 typo, 而是导致实际计算最佳 λ 80× overestimate 的 systematic bug
- Axis-scale ambiguity (深层原因): Hansen 讨论 L-curve 的”拐角识别”时, 未讨论 x-axis 与 y-axis 单位是否应 commensurate — “naked-eye elbow” 不是 scale-invariant (visual artifact), 即使公式写对了, 不同 axis scaling 下 computed curvature 最大值和 naked-eye elbow 会不一致
“Hansen didn’t talk about whether we should control the units of x-axis and y-axis of L-curve to be the same. In his book, he showed two L-curve figures, but both didn’t control the units to be the same.” — Zhenyu 2022-01-08 group meeting
80× 数值对比 (核心证据)
同一 toy model + 同一 DSCOVR PC2 real data, 同时跑 Hansen 书本公式 vs Hansen 学生 (某学生) 正确公式:
| Formula | Toy model best λ | PC2 best λ | 准确性 |
|---|---|---|---|
| Hansen 学生正确版 (分母 ) | 0.0251 ✓ | 0.0575 ✓ | 与 naked-eye elbow + axis image 下理论值一致 (Toy); 与 axis-image 下 一致 (PC2) |
| Hansen 书本错误版 (分母 ) | 1.995 ✗ | 1.995 ✗ | 80× overestimate, 完全失败 (PC2 上甚至不依赖数据, 恒为 1.995) |
Zhenyu 的独立数学验证 (Deductions of the curvature of log-log Lcurve.docx, 36-paragraph 完整推导):
- 从 SVD + filter factors 开始
- 推导 和 关于 的一阶、二阶导
- 关键一步: denominator of chain-rule expansion has (原文 “The denominator should have instead of ”)
- 完整公式结构 (符号推导 39 paras) → Hansen 学生公式与 Zhenyu 独立推导一致
Zhenyu 的 intuition diagnosis (from lcurve_test.docx, 84 paras):
“Eta_u 在 u 大的时候, 相对比较小, rho_u 在 miu 大的时候, 近乎是一个不变的常数。所以如果把分母的 u⁴ 错误写成了 u², 那么在 u > 1 的区间内, 分母被低估了, 整个分式结果被高估了。但是如此高引用的文章, 居然有这样的问题”
3-step self-correction cycle (11/29 → 12/06 → 01/08)
体现 Zhenyu 的 intellectual honesty + research iteration:
Step 1 — 2021-11-29 group meeting (slide 4): 发现自己公式算出的 curvature 最大值不在 naked-eye elbow 位置 — 承认”自己公式错” 作为初步 hypothesis
Step 2 — 2021-12-06 group meeting (slide 6): 假设 “accumulation of numerical errors during 9600×3200 matrix computation” 是 root cause — 这是一个 physically reasonable 但其实 wrong 的 hypothesis, 在 PPT 上 explicit 写出
Step 3 — 2022-01-08 group meeting (breakthrough): Refute Step 2 的 “accumulation of errors” hypothesis, 正确归因为 axis-scale ambiguity — naked-eye elbow 本身不是 scale-invariant
“What if our naked eyes are wrong, but the calculated curvature is right?”
5-cell 手算演示 (2022-01-08 PPT): Zhenyu 给出一个手算示例, 明确 demonstrate 同一 L-curve 在不同 axis scaling 下 (matplotlib 默认 vs matlab axis image) “naked-eye elbow” 位置不同, 但真实 curvature maximum (公式正确版计算) 不变 → 证明 naked-eye elbow IS NOT scale-invariant。
inconvenient-evidence retention (物理证据纪律)
Zhenyu 在 LCurve_HansenMistake_WeRectify_Test/ 子目录 同时保留两个 PDF 文件并列:
Hansen自己文章_仍然mu二次方.pdf— Hansen 自己书中公式 (分母 , Zhenyu 判定错误)hansen学生mu四次方.pdf— Hansen 学生 (某 Student Formula) 版本 (分母 , Zhenyu 判定正确)
这是 “inconvenient-evidence retention” 精神: 不把 Hansen 书本的错误 PDF 删掉, 而是与修正版并列保存 — 为后续读者提供直接 visual diff 的 raw material。同一目录还有:
- 5 个嵌套 test 子目录 (toy model / PC2 / 2 prior-whitening variants / DSCOVR stress test)
- 每个 test 含
cal_curv_bydata_PC2.m+knee_pt.m+spline_test.mMATLAB 代码 + .mat 数据 + .png plot lcurve_test.docx(84 paras) +Deductions of the curvature of log-log Lcurve.docx(36 paras) 两份学习笔记
3 open questions to community (Zhenyu 提出)
在 2022-01-08 PPT 结尾, Zhenyu 明确向 L-curve community 提出 3 个 open questions, 明示 Hansen 未讨论的 structural boundary:
- 应否 control L-curve axes 等单位? — matplotlib / matlab 默认不 enforce same axis scale, 但 curvature 是 scale-dependent; 应否 standardize?
- a senior collaborator 的 elbow 结论是否为 scale-artifact? — DSCOVR PC2 case 和 Kawahara’s toy 的 elbow , 可能只是巧合 (因为 naked-eye judgment 对 scale 敏感) — 不应 over-trust
- 应用 L-curve 时在哪些情况下调节, 如何调? — 提供 guideline 让未来使用者知道何时 naked-eye OK, 何时必须校正 axis-scale
→ 这是指出成名方法的未讨论边界的 research maturity — 一般的本科生或硕士生不会意识到这种问题。
开放问题
[待补充] 未来如 L-curve community 回复这 3 个 open questions, 或 Zhenyu 将”axis-scale ambiguity” 的 full 数学论证 submit arxiv / 发信给 Hansen 本人, 回填 community reaction + 正式论证 PDF
- Generalization to other regularization methods: L-curve 的 axis-scale 问题是否也存在于 other log-log graphical diagnostics (e.g., Picard plot, filter factor plot)?
- Curvature formula canonical form:
Deductions of the curvature of log-log Lcurve.docx36-paragraph 推导的”正确” curvature formula 是否 community 已有 published correction? 若无, 是否值得 Zhenyu 独立写短文 submit?
来源
research_wiki/projects/mcmc_retrieval/overview.md§贡献 (c) “Find Maximum Curvature only by the data” (2022-01-08, theoretical + numerical)research_wiki/projects/mcmc_retrieval/overview.md§💎 P3 新发现 1: Zhenyu 直接发现 Hansen 教科书里的公式错误 (σ² vs σ⁴)research_wiki/projects/mcmc_retrieval/overview.md§2021-11-29 → 2021-12-06 catch own bug + self-audit (3-step cycle)research_wiki/projects/mcmc_retrieval/overview.md§3 open questions to communityLCurve_HansenMistake_WeRectify_Test/— 物理证据并列目录 (Hansen 原版 PDF + Hansen 学生 PDF + 5 test 子目录 +lcurve_test.docx84 paras +Deductions of the curvature of log-log Lcurve.docx36 paras)- Hansen, P. C. Discrete Inverse Problems: Insight and Algorithms (SIAM 2010) — 原教科书, Zhenyu 发现其公式 bug 的 source
- 2022-01-08 group meeting PPT (P2) “Find Max Curvature only by data” — axis-scale 发现 + 3 open questions 正式 present
[待补充]Zhenyu research-angle 独立 wiki 中Deductions of the curvature of log-log Lcurve.docx完整 36-段 SVD + filter factor chain-rule 推导 (合并后此页可贴出 full symbolic derivation)[待补充]如 Zhenyu 未来 submit 正式论证 (arxiv preprint or letter to Hansen), 回填 artifact link
相关页面
- MCMC-贝叶斯反演 — skill 页 (含 Caltech DSCOVR 4 原创贡献 subsection, 本 concept 对应贡献 (c))
- 反问题与正则化 — parent concept (L-curve 是其 4 个 regularization parameter selection 方法之一, axis-scale ambiguity 是其 未讨论 structural limitation)
- Hardened-Balancing-Principle — sibling concept (同 batch 建立的 DSCOVR 技术发现, HBP 避开了 L-curve 的 axis-scale 问题)
- Caltech-DSCOVR-Research — 项目 experience page (从 PKU-Undergraduate-Research 拆出)
- — 这是 technical-level judgment moment: 本科生挑战 published textbook + 3-step self-correction + 正式 articulate open questions
- Yuk-Yung — PI (Caltech)
- King-Fai-Li — co-advisor (UCR)