12/04/2025

[隨筆] 當學生研究遇上「做不出來」的困境

這幾年指導學生的時候常遇到的問題就是學生會說「因為 OOO 做不出來,所以改用 XXX 方法」,有的甚至直接跳到 metaheuristic 方法,或者學生就等著看老師要怎麼辦,抑或是看能不能就直接更換題目。這種時候都讓我感到相當痛苦。

要知道「做不出來」(是主觀能力認定)  與「此問題無解」(是客觀事實否定) 其實有天淵之別,為了避免學生在「原方法尚未分析清楚」的情況下任意切換方法,導致研究方向失控或失去理論基礎。我將我的想法稍作整理,我想應該在廣義的(控制理論、隨機系統、最佳化、金融工程)領域都能適用:


什麼不是更換研究方法的理由:

以下理由都不足以支持換方法:
  • 「跑不出答案(跑了很多次)」、「電腦算不動」、「算法不 converge 」、「結果怪怪的」、「找不到答案」、「證不出來」、「資料拿不到」
  • 「我看別人(文獻)用這方法有效」、「別人(文獻)都這樣用」、「文獻看不懂」
  • 「我覺得 metaheuristic 方法 GitHub 上有現成 package 比較簡單」
  • 「我不知道怎麼 debug」、「code不會寫」
只說「做不出來」其實本身沒有任何意義。這類說法大多是「執行結果不如預期」而非「方法原理上不可行」作為更換方法的動機。



要換方法應先提交 Failure Analysis Report:

未提交前,不應任意更換方法,也不該自行更動研究方向。這份報告的目的是要讓人看得出來,你已經有試過各種「系統性修正」,而不是亂試新方法,Failure Analysis Report 至少包含:
  1. 原方法的完整理論與演算法描述
    • 問題的 objective、constraints、dynamics
    • 參數設定
    • 算法步驟
    • 預期應滿足的最佳性條件(如 KKT、Bellman、HJB)
    • 預期應滿足的穩定性條件(如 Lyapunov function)
    • 預期應滿足的強健性條件
    • 預期應滿足的算法複雜度條件
    • 預期應滿足的近似條件
  2. 明確指出「哪裡做不出來」,只說「做不出來」= 無效論證。學生應回答:
    • 失敗發生在哪一行計算?
    • 是gradient / subgradient / Jacobian / Hessian 算不出來?
    • 約束是否不相容?
    • 數值解是否跳出可行域?數值誤差?
    • dynamics 無法滿足?
    • initial condition 是否導致 divergence?
    • 實驗/模擬結果是否可重現?(不同資料集都指向同一結論)
    • 模擬結果不佳的具體意義(穩定性不好?報酬不佳?變異太大?)
  3. 合理的失敗原因推論(有理論或合理假設),例如:
    • 模型非凸 → local solver 卡在 local minima
    • state/control constraint 過於嚴格 → 無可行解
    • dynamics stiffness 太高 → 數值爆炸
    • objective/loss scale 不當 → 需要 normalization
    • 多期多目標計算
  4. Impossibility claim 的證明: 若你要宣稱「這個問題做不到 / 不可能」必須附上 理論或模擬證據,例如:
    • 證明無可行解
    • 顯示最佳性條件(KKT / Bellman)不可同時滿足
    • 顯示系統缺失某robustness/stability/performance
    • 指出該問題在某些條件下為 NP-hard
    • 提供反例或實驗結果,清楚展示失敗原因

 沒有上述證據,只說「做不出來」、「不可能」等說法,是不會被直接接受的。我預期學生應該要提供:

  1. 具體失敗證據(至少一種)
    • 數值例子(宣稱非凸應該繪製其非凸的圖例)
    • 圖表 (solution path, 誤差收斂曲線,state trajectory, etc)
    • log / 訊息 (錯誤碼,停止條件)
    • constraint violation 
    • Optimality Condition (e.g., KKT) violation
    • Complexity analysis  
    • 數值或者理論反例
  2. 至少三種「結構化修正」嘗試。以最佳化問題為例,可以包括:
    • 調整 step size
    • 更換 initial condition
    • 放寬或修改部分 constraint
    • scaling / normalization / shifting
    • convex surrogate、linearization / relaxation
    • 理論上合理的 heuristic(不是隨便 metaheuristic)
      • greedy algorithm with provable approximation ratio 是合理的 heuristic;而 genetic algorithm without convergence guarantee 則不是。
    • 求解器更換 (Gurobi/MOSEK/CVX)
      • 更換solver本身仍應有明確理由,比如問題規模大小變動等等。


對採用「新方法」的要求:必須有合理性證據

允許換方法的合理理由示例:
  • 新方法與研究問題結構更一致(例如 convex 問題改用 QP)
  • 可以證明更好的 optimality/stability/robustness 性質
  • 可以證明可行性、收斂性
  • 文獻中有具體、可查證的支持

不合理理由示例:
  • 「github上有現成套件」
  • 「我覺得 metaheuristic 比較方便」
  • 「網路上有人這樣用」
  • 「我自己跑起來比較順」

若新方法無法在 「理論上更強」 或與 「結構更相容」 則禁止更換。未達以上要求就換方法,我傾向於將其視同無效研究行為。不僅浪費自己時間也浪費指導教授時間。


反思:

研究不是亂試方法,特別在遇到困難的時候,應該要去理解原方法限制在哪?為什麼失敗?

雖然說是這樣說,但是可能更多時候師生立場不同,可能學生觀點會認為是老師們都是「站著說話不腰疼」,只會在旁邊指指點點,但是在我自己經驗裡,其實情況更多時候往往相反:是我本人自己(而非學生)跳下去解決問題,重寫理論、重跑模擬、重寫論文幾乎是家常便飯。

如果長期都是這樣,那指導學生的意義何在?畢竟我本人已經有一博三碩,應該是不需要再多一個學位,因此這些關於「合格的研究方法」以及在「方法失敗時的分析與回報」的標準,確實應該是在研究最早期就應該先說清楚。

12/01/2025

[機率論] 多變數連續映射保持機率收斂

以下我們介紹機率收斂用的推廣型連續映射定理。一些先備知識如下

Definition (Norms)
令 $\mathbf{x} \in \mathbb{R}^k$。則標準 Euclidean norm $\|\mathbf{x}\|:=\sqrt{\sum_{i=1}^k x_i^2}$。



Definition (Tightness of the law of a random vector)
令 $(\Omega, \mathcal{F}, P)$ 為機率空間 且 $\mathbf{X}$ 為 $\mathbb{R}^k$ 上的隨機向量,記其在 $(\mathbb{R}^k,\mathcal{B}(\mathbb{R}^k))$ 上的分佈為 $\mu_X$滿足 $$\mu_X(A) := P(X^{-1}(A)) = P(\{\omega \in \Omega: X(\omega) \in A\}), \qquad A \in \mathcal{B}(\mathbb{R}^k)$$ 我們說 $\mu_X$(或 $\mathbf{X}$ 的分佈)是  tight  若 對任意 $\varepsilon>0$,存在常數 $M>0$ 使得 \[ {P}(\|\mathbf{X}\|>M) = \mu_X(\{\mathbf{x}:\|\mathbf{x}\|>M\}) < \varepsilon \] 


Remark. 上述條件等價於 \[ \lim_{M\to\infty} {P}(\|\mathbf{X}\|>M)=0. \] 因此,給定任意 $\eta>0$,存在 $M>0$ 使得 \[ {P}(\|\mathbf{X}\|>M) < \frac{\eta}{2}, \quad\text{亦即}\quad {P}(\|\mathbf{X}\|\le M) > 1-\frac{\eta}{2}. \]


Lemma. 任意 $\mathbb{R}^k$-valued 隨機向量的分布都是 tight
Proof.  令 $\mathbf{X} : \Omega \to \mathbb{R}^k$ 為隨機向量,其分佈記作 $\mu_X$。由於 $\mu_X$ 是機率測度,故 $\mu_X(\mathbb{R}^k) = 1$。注意到全體 $\mathbb{R}^k$ 空間可以寫成compact sets的遞增連集極限,亦即 $$\mathbb{R}^k = \cup_{M=1}^\infty [-M, M]^k$$令 $K_M:=[-M, M]^k $則對任意 $M \in \mathbb{N}$,注意到我們有 $K_{M} \subset K_{M+1}$,亦即 $\{K_M\}$ 為遞增集合族。故由機率測度對遞增集族的連續性可得 $$1=\mu_X(\mathbb{R}^k) = \mu_X(\cup_{M=1}^\infty [-M, M]^k) = \lim_{M \to \infty} \mu_X([-M, M]^k) $$因此由極限定義可知,對任意 $\varepsilon >0$,存在$N  \in \mathbb{N}$ 使得 $M \geq N$, 我們有 $|1-\mu_X(K_M)| <\varepsilon$,由於 $\mu_X(K_M) \leq 1$,我們可去掉絕對值並將不等式等價改寫為 $\mu_X(K_M) > 1-\varepsilon$,亦即 $$\mu_X(\{ \mathbf{x} : \|\mathbf{x}\| > M\}) < \varepsilon$$


Definition (Convergence in Probability Vector)
令 $\{\mathbf{X}_n\}$ 為 $\mathbb{R}^k$ 上的隨機向量序列,令 $\mathbf{X} \in \mathbb{R}^k$ 為一隨機向量。我們說 $\mathbf{X}_n$機率收斂(convergence in probability)到 $\mathbf{X}$,記作 $\mathbf{X}_n \overset{P}{\to} \mathbf{X}$,若下列條件成立:對任意 $\varepsilon >0$, $$P(\|\mathbf{X}_n - \mathbf{X}\|\geq \varepsilon) \to 0$$ 


有了上面的定義,我們可以給出多變數連續映射定理的敘述以及證明。

Theorem (Multivaraite Continuity Mapping): 令 $\{\mathbf{X}_n\}$ 為 $\mathbb{R}^k$ 上的隨機向量序列,令 $\mathbf{X} \in \mathbb{R}^k$ 為一隨機向量。現在取 $g: \mathbb{R}^k \to \mathbb{R}^m$ 為連續函數。若 $\mathbf{X}_n \overset{P}{\to} \mathbf{X}$ 當 $n \to\infty$,則 $$ g(\mathbf{X}_n) \overset{P}{\to} g(\mathbf{X})$$ 當 $n \to\infty$

Proof. 令 $\varepsilon >0$ 且 $\eta >0$ 。首先透過 localization 建構 compact ball :由於 $\mathbf{X}$ 為隨機向量,由 tightness 性質可知,存在一個足夠大的常數 $M > 0$ 使得
$$ P(\|\mathbf{X}\| > M) < \frac{\eta}{2} $$
現在令 $$ S:= \overline{B}_{M+1}(\mathbf{0}) =\{\mathbf{z} \in \mathbb{R}^k: \|\mathbf{z}\| \leq M+1\}$$ 為半徑 $M+1$ 且球心在 $\mathbf{x} = \mathbf{0}$ 的closed ball。由 Heine-Borel定理,$S$ 為 closed bounded set,故 $S$ 為 $\mathbb{R}^k$中 compact set (緊緻集)。

因為 $g$ 為在 $\mathbb{R}^k$ 連續函數,故將 $g$ 限制在緊緻集 $S \subset \mathbb{R}^k$ 具有uniform continuity (均勻連續性)。這表示存在 $\delta > 0$ (不失一般性情況下,選 $\delta < 1$) 使得對所有 $\mathbf{x}, \mathbf{y} \in S$,我們有
$$\|\mathbf{x} - \mathbf{y}\| < \delta \implies \|g(\mathbf{x}) - g(\mathbf{y})\| < \varepsilon$$

現在來分析事件 $\{\|g(\mathbf{X}_n) - g(\mathbf{X})\| \geq \varepsilon\}$。如果我們限制在事件 $$E=\{\|\mathbf{X}\| \leq M\} \cap \{ \|\mathbf{X}_n - \mathbf{X}\| < \delta \}$$ 之下,則
1. $\| \mathbf{X}\| \leq M < M+1$ 可知 $\mathbf{X} \in S$。
2. 由 三角不等式 (or Minkowski不等式) $$\|\mathbf{X}_n\| = \|\mathbf{X}_n - \mathbf{X} + \mathbf{X}\| \leq \|\mathbf{X}_n - X\| + \|\mathbf{X}\| < M+1$$故 $\mathbf{X}_n \in S$。

由於 $\mathbf{X}_n, \mathbf{X} \in S$ 。uniform continuity 告訴我們 $$\{\|\mathbf{X}\| \leq M\} \cap \{ \|\mathbf{X}_n - \mathbf{X}\| < \delta\} \implies \{\|g(\mathbf{x}) - g(\mathbf{y})\| < \varepsilon\}$$ 這意味著,若 $\|\|g(\mathbf{x}) - g(\mathbf{y})\| \geq \varepsilon\|$ 發生,則必然是上述事件 $E$不成立 (取 contrapositvie 敘述): $$\{\|g(\mathbf{x}) - g(\mathbf{y})\| \geq \varepsilon \} \subset \{ \|\mathbf{X}\| > M \} \cup \{\|\mathbf{X}_n - \mathbf{X} \| \geq \delta \}$$ 兩邊同取機率測度得到
\begin{align*} P(\|g(\mathbf{x}) - g(\mathbf{y})\| \geq \varepsilon ) & \leq P( \|\mathbf{X} > M\| ) + P( \|\mathbf{X}_n - \mathbf{X} \| \geq \delta )\\ & < \frac{\eta}{2} + P( \|\mathbf{X}_n - \mathbf{X} \| \geq \delta ) \qquad (*)\end{align*}
因為 $\mathbf{X}_n \overset{P}{\to} \mathbf{X}$,故 $P( \|\mathbf{X}_n - \mathbf{X} \| \geq \delta ) \to 0$ 亦即,存在一個夠大的 $N$ 使得當 $n\geq N$,我們有
$$ P( \|\mathbf{X}_n - \mathbf{X} \| \geq \delta ) < \frac{\eta}{2} $$ 當 $n\geq N$時,式 $(*)$ 變成 $$P(\|g(\mathbf{x}) - g(\mathbf{y})\| \geq \varepsilon )  < \frac{\eta}{2} + \frac{\eta}{2} < \eta$$ 由於 $\eta$ 是任取的,故我們推得 $P(\|g(\mathbf{x}) - g(\mathbf{y})\| \geq \varepsilon )  \to 0$



[隨筆] 當學生研究遇上「做不出來」的困境

這幾年指導學生的時候常遇到的問題就是學生會說「因為 OOO 做不出來,所以改用 XXX 方法」,有的甚至直接跳到 metaheuristic 方法,或者學生就等著看老師要怎麼辦,抑或是看能不能就直接更換題目。這種時候都讓我感到相當痛苦。 要知道「做不出來」(是主觀能力認定) ...