2/08/2026

[Claude] 國小數學加減乘除法計算小遊戲:數學怪獸大亂鬥

心血來潮用 Anthropic Claude Opus 4.6 做的簡單國小數學乘除法計算小遊戲,感嘆AI工具之強大與便利。原本可能要耗時幾天的工作轉眼就完成,時代的巨輪確實在飛速轉動。 

數學怪獸大亂鬥(Math Monster Brawl)對戰的國小數學 加減乘除 小遊戲連結如下:


    


目前國小各個年級的常見的算數都有涵蓋。(加減乘除、四則運算、分數運算、小數運算、解未知數),目前有
  • 四種遊玩模式(一般/計時/雙人合作/PVP),隨機路線
  • 7隻角色(各自有三種進化),各有自己的特性
  • 25隻不同屬性怪獸與自己特性
  • 11個戰鬥場景與專屬BGM
  • 4隻專屬boss,專數特性
  • 道具系統/掉落物實裝
  • 圖鑑系統

可以幫我玩玩看看有沒有什麼建議,我有空的話會持續改良 XD



2/05/2026

[機器學習] 關於 Tokenization

最近在看 tokenization 的數學基礎,發現非常有趣,以下簡單介紹其相關的基礎內容,有興趣的讀者可以參考標準計算理論的書比如 M. Sipser, Introduction to the Theory of Computation。


Definition (Alphabet): 一個字母表(Alphabet),記作 $\Sigma$, 是一個有限非空集合。其元素 $s \in \Sigma$ 稱作符元 (symbols)

Example 1: $\Sigma := \{0,1\}$ 收集了兩個符元 $0$ 與 $1$,可用在表達二進制的世界。

Example 2: $\Sigma := \{a,b,c,\dots, z\}$ 為基礎英文字母表,收集了26 個符元 $a,b,c\dots,z$,可用在表達英文文字的世界。 接著定義字串(string)。

嚴格來說字串是一組有限序列: 

Definition (String): 一個在字母表 $\Sigma$ 上,具有長度為 $n$ 的字串(string)是一個函數 $w: \{1,\dots, n\} \to \Sigma$。一般而言寫我們將此字串記為序列 $$w :=c_1c_2 \dots c_n$$ 其中 $c_i := w(i)$ 為第 $i$ 個位置的符元。 

Definition (Empty String) 存在一個唯一長度為 $0$ 的字串,記作 $\varepsilon$,代表空序列。  

Definition (Concatenation): 令 $x:=x_1 x_2 \cdots x_n$ 且 $y:= y_1 \cdots y_m$ 分別為長度為 $n$ 與 $m$ 的兩個字串。我們定義串接(concatenation) $x \cdot y$ (或簡記為 $xy$ ) 為一個長度為 $n+m$ 的字串,其定義如下: \begin{align*} (xy)_k = \begin{cases} x_k & \text{if } 1 \le k \le n \\ y_{k-n} & \text{if } n < k \le n+m \end{cases} \end{align*}

Remark (Monoid Structure): 所有字串所成的集合為基於 concatenation 算子之下的么半群 (monoid),亦即具備有可結合(associative)二元運算和單位元素(identity)的代數結構:
  1.     Associativity: 對任何字串 $x,y,z$而言,我們有 $ (xy)z = x(yz). $    
  2.     Identity: 存在一個字串 $\varepsilon$ 使得 $ x \varepsilon = \varepsilon x = x. $    

以下我們先看個例子。

Example: 考慮 $\Sigma :=\{ \texttt{a}, \cdots \texttt{z} \}$。並考慮字串 $x:= \texttt{no}$ (長度為 $n=2$) 與字串 $y:= \texttt{way}$ (長度為 $m=3$)。現在我們計算 concatenation $z:=x\cdot y$ 。新字串 $z$ 的長度為 $n+m = 2+3 = 5$。如果要找出新字串 $z$ 第1個到第5個元素分別為何,我們可以根據前述定義: \begin{align*} (xy)_k = \begin{cases} x_k & \text{if } 1 \le k \le 2 \\ y_{k-n} & \text{if } 2 < k \le 5 \end{cases} \end{align*} 
  •  當 $k=1:$ $1\leq 2$,則 $z_1= x_1 = \texttt{n}$ 
  •  當 $k=2:$ $2\leq 2$,則 $z_2= x_2 = \texttt{o}$ 
  •  當 $k=3:$ $3 > 2$,則 $z_3= y_{3-2} = y_1 = \texttt{w}$ 
  •  當 $k=4:$ $4 > 2$,則 $z_4= y_{4-2} = y_2 = \texttt{a}$ 
  •  當 $k=5:$ $5 > 2$,則 $z_5= y_{5-2} = y_3=\texttt{y}$ 
 故我們得到 $z= x \cdot y = \texttt{noway}$ 


接著我們透過遞迴建構對所有可能的字串: 

以下我們進一步建構形式語言: 


Definition (Power of an Alphabet): 令 $\Sigma$ 為一個字母表。我們以歸納法定義 $\Sigma$ 的冪次 (powers) ,記作 $\Sigma^n$ 。定義如下: 
  1. $\Sigma^0 =\{\varepsilon\}$。亦即包含空字串的集合 
  2. $\Sigma^1 = \Sigma$ 
  3. 對任意 $n \geq 1$而言,定義 $\Sigma^{n+1} :=\{w x: w \in \Sigma^n, x \in \Sigma\}$

Definition (Kleene Star): 我們稱集合 $\Sigma^*$ 為 Kleene star,若該集合為 $\Sigma$ 所有冪次的可數無窮聯集,亦即 $$ \Sigma^* := \bigcup_{n=0}^\infty \Sigma^n = \Sigma^0 \cup (\Sigma \times \Sigma) \cup (\Sigma \times \Sigma \times \Sigma) \cup \dots $$ 換言之,$\Sigma^*$ 為由字母表 $\Sigma$ 所生成的所有有限字串的集合。 

Remark: 注意到這邊使用的是 Kleene star $\Sigma^*$ 而非單一的 Cartesian product $\Sigma^n$。這是因為 Cartesian product $\Sigma^n = \Sigma \times \Sigma \times \cdots \Sigma$ 僅定義了固定長度 $n$ 的序列空間(類似固定維度的向量空間)。然而,形式語言必須包含任意有限長度字串,因此必須透過對所有可能的長度 $n$ 取聯集 $\cup_n^\infty \Sigma^n$ 來建構。

=======
The Tokenization Problem. 現在我們引入字彙集 (vocabulary) $\mathcal{V}$ ,並將 tokenization 定義為串接的反問題。

Definition (Vocabulary): 一個字彙集 vocabulary $\mathcal{V}$ 為 $\Sigma^*$ 的有限子集。亦即 $\mathcal{V} \subseteq \Sigma^*$ 且 $|\mathcal{V}| < \infty$  

Definition (Valid Tokenization): 令 $s \in \Sigma^*$ 為目標字串。 $s$ 的 tokenization over $\mathcal{V}$ 為字串序列 $(t_1,t_2, \dots, t_k)$ 使得 
1. Validity. 對任意 $i$, $t_i \in \mathcal{V}$ 
2. Reconstruction. $s = t_1 t_2 \cdots t_k$ (串接後還原為 $s$ ) 


Theorem (Existence of Tokenization): 令 $\Sigma$ 為字母表且 $\mathcal{V} \subseteq \Sigma^*$ 為字彙集。若 $\Sigma \subseteq \mathcal{V}$,則對任意字串 $s \in \Sigma^*$,必存在至少一個 tokenization of $s$ over $\mathcal{V}$。 

Proof. 取任意字串 $s \in \Sigma^*$。由 $\Sigma^*$ 定義,存在 $n \in \mathbb{N}_0$ 使得 $s \in \Sigma^n$。以下我們分兩個情況討論: 
  Case 1. 若 $n=0$,則 $s = \varepsilon$。空序列即為一個 valid tokenization。 
  Case 2. 若 $n > 0$,根據 Powers of an Alphabet 的定義,字串 $s$ 可表示為序列 $c_1 c_2 \dots c_n$,其中每個 $c_i \in \Sigma$。由於前提可知 $\Sigma \subseteq \mathcal{V}$,故對所有 $i \in \{1, \dots, n\}$,我們有 $c_i \in \mathcal{V}$。現在建構序列 $$ T := (c_1, c_2, \dots, c_n) $$ 由於 $T$ 的每個元素都屬於 $\mathcal{V}$ 且其 concatenation 結果為 $s$,故 $T$ 為 valid tokenization。至此證畢。 $\square$ 

Corollary: 若 $\Sigma \not\subseteq \mathcal{V}$,則存在至少一個 $s \in \Sigma^*$ 使得其不存在 valid tokenization. 

Example: 考慮$\Sigma = \{ \text{a}, \dots, \text{z} \}$ 為基礎英文字母表。設字彙集為 $\mathcal{V}$ 為一組英文單字:$\mathcal{V} := \{ \text{apple}, \text{banana} \}$。注意到此處 $\Sigma \not\subseteq \mathcal{V}$,例如 'c' $\in \Sigma$ 但是 'c' $\notin \mathcal{V}$。若現在輸入字串 $s = \text{cat}$,則 $s$ 沒有辦法 tokenize,因為無法由 $\mathcal{V}$ 中的元素串接而成。

12/17/2025

[機率論] 三角陣列

在機率論中,我們常看到的是單一指標序列:$ \{X_n\}_{n=1}^\infty := (X_1, X_2, \dots,) $ 比如說 iid 序列或者至少定義在同一個機率空間 $(\Omega, \mathcal{F}, P)$上的序列。 此時只有一個指標 $n$,而 $X_n$ 指涉的是該序列第 $n$ 個隨機變數。


標準的大數法則(Law of Large Numbers, LLN) 與經典形式的中央極限定理(Central Limit Theorem, CLT) 常處理的就是這種單一指標序列 $X_1, X_2, \ldots$,其中每個 $X_i$ 的分佈固定。但許多重要情形下,隨著樣本數增加,個別隨機變數的分布可能隨 $n$ 改變,隨機變數序列的聯合分佈本身也會有所變化。三角陣列(triangular array)提供了處理這類問題的框架。


現在我們考慮以下情況,固定整數 $n$,考慮第 $n$ 列的 $n$ 個 Bernoulli 隨機變數: $$ X_{n,1},\dots, X_{n,n} $$ 但是如果我們允許 $n$ 改變,也就是每個 $n$ 都有一整列新的隨機變數序列,則整個聯合分佈也可能跟著改變。比如說 $n=10$,我們有 $$X_{10,1}, X_{10,2}, \dots, X_{10,10}$$ 共 10個 Bernoulli 隨機變數,他們具有一個聯合分佈 (joint distribution)。但是若 $n = 100$,我們有 $$X_{100,1}, X_{100,2}, \dots, X_{100,100}$$ 共 100 個 Bernoulli 隨機變數,其聯合分佈一般不同於前一組 $X_{10,1}, ,X_{10,2}, \dots, X_{10,10}$ 的 joint distribution。這時,如果我們指涉的對象為「第一個 Bernoulli 變數」在 $n=10$ 是 $X_{10,1}$ 與 $n=100$ 是 $X_{100,1}$ 是不同物件,此時這種結構無法再用單一序列來描述,為此我們可以引入三角陣列 (triangular array)


Definition (Triangular Array): 一個三角陣列(triangular array)是指一族以兩個指標標記的隨機變數 $\{X_{n,i}\}_{n\geq 1, 1\leq i \leq n}$,其中第 $n$ 列包含 $X_{n,1}, \dots, X_{n,n}$


Remark. 若將其排列起來可得 $$ \begin{matrix} n=1: & X_{1,1} \\ n=2: &X_{2,1} &   X_{2,2} \\ n=3: &X_{3,1} & X_{3,2} & X_{3,3} \\ \vdots & \vdots & \vdots & \ddots \end{matrix} $$ 第 $n$ 列有 $n$ 個變數,因此看起來是「三角形」,這只是視覺上的名字。注意到上述定義不要求不同 $n$ 列之間有任何獨立性或相容性,通常只在每一列之內做假設。


三角陣列在許多機率論有重要結果,比如以下的 Lindeberg-Feller 中央極限定理:


Lindeberg-Feller CLT: 對每個 $n \ge 1$,令 $\{X_{n,i}\}_{i=1}^{n}$ 為一族隨機變數,其整體族 $\{X_{n,i}\}_{n \ge 1, \, 1 \le i \le n}$ 構成一個三角陣列,對每個 $n$ 而言,$X_{n,1}, \dots, X_{n,n}$ 相互獨立,且滿足 $\mathbb{E}[X_{n,i}] = 0$。定義 $$ S_n := \sum_{i=1}^{n} X_{n,i} $$ 且 $$ \sigma_n^2 := \text{var}(S_n) > 0 $$ 若 Lindeberg 條件成立,亦即對 $\varepsilon > 0$,我們有 $$ \lim_{n \to \infty} \frac{1}{\sigma_n^2} \sum_{i=1}^{n} \mathbb{E}[X_{n,i}^2 \mathbf{1}_{|X_{n,i}| > \varepsilon \sigma_n}] = 0 $$ 則 $\frac{S_n}{\sigma_n} \xrightarrow{D} \mathcal{N}(0,1)$。


上述 Lindeberg-Feller CLT 推廣經典 CLT:


Proof: 取 $X_{n,i} := \frac{Y_i - \mu}{\sqrt{n}}$ 其中 $Y_i$ 為 iid 且均值為 $\mu$ 變異為 $\sigma^2$。則不難發現 $$ S_n := \sum_{i=1}^{n} X_{n,i} = \sum_{i=1}^{n} \frac{Y_i - \mu}{\sqrt{n}} = {\sqrt{n}}(\bar{Y}_n - \mu) $$ 其中 $\bar{Y}_n := \frac{1}{n} \sum_{i=1}^{n} Y_i$。現在我們檢驗 Lindeberg 條件:固定 $\varepsilon > 0$,我們觀察 \begin{align*} \frac{1}{\sigma_n^2} \sum_{i=1}^{n} \mathbb{E}[X_{n,i}^2 \mathbf{1}_{|X_{n,i}| > \varepsilon \sigma_n}] &= \frac{1}{\sigma^2} \sum_{i=1}^{n} \mathbb{E}[ (\frac{Y_i - \mu}{\sqrt{n}})^2 \mathbf{1}_{|\frac{Y_i - \mu}{\sqrt{n}}| > \varepsilon \sigma}] \\ &= \frac{1}{\sigma^2} \sum_{i=1}^{n} \mathbb{E}[ (\frac{(Y_i - \mu)^2}{{n}}) \mathbf{1}_{|{Y_i - \mu}| > \varepsilon \sigma \sqrt{n}}] \\ &= \frac{1}{\sigma^2 n} \sum_{i=1}^{n} \mathbb{E}[ (Y_i - \mu)^2 \mathbf{1}_{|{Y_i - \mu}| > \varepsilon \sigma \sqrt{n}}] \\ &= \frac{1}{\sigma^2 n} \sum_{i=1}^{n} \mathbb{E}[ (Y_1 - \mu)^2 \mathbf{1}_{|{Y_1 - \mu}| > \varepsilon \sigma \sqrt{n}}] &&\text{$Y_i$ are iid}\\ &= \frac{1}{\sigma^2 n} n \mathbb{E}[ (Y_1 - \mu)^2 \mathbf{1}_{|{Y_1 - \mu}| > \varepsilon \sigma \sqrt{n}}] \\ &= \frac{1}{\sigma^2} \mathbb{E}[ (Y_1 - \mu)^2 \mathbf{1}_{|{Y_1 - \mu}| > \varepsilon \sigma \sqrt{n}}] \\ \end{align*} 注意到 $(Y_1 - \mu)^2 \mathbf{1}_{|{Y_1 - \mu}| > \varepsilon \sigma \sqrt{n}} \xrightarrow{a.s.} 0$ 且 $(Y_1 - \mu)^2 \mathbf{1}_{|{Y_1 - \mu}| > \varepsilon \sigma \sqrt{n}} \leq (Y_1 - \mu)^2 $,因為 ${\rm var}(Y_1)= \sigma^2<\infty$故 $(Y_1-\mu)^2$可積,由 Dominated Convergence Theorem (DCT) 可知 \begin{align*} \lim_{n\to\infty} \frac{1}{\sigma_n^2} \sum_{i=1}^{n} \mathbb{E}[X_{n,i}^2 \mathbf{1}_{|X_{n,i}| > \varepsilon \sigma_n}] &= \lim_{n\to\infty} \frac{1}{\sigma^2} \mathbb{E}[ (Y_1 - \mu)^2 \mathbf{1}_{|{Y_1 - \mu}| > \varepsilon \sigma \sqrt{n}}] \\ &= \frac{1}{\sigma^2} \mathbb{E}[ \lim_{n\to\infty} (Y_1 - \mu)^2 \mathbf{1}_{|{Y_1 - \mu}| > \varepsilon \sigma \sqrt{n}}] \\ &= 0 \end{align*} 故 Lindeberg條件成立,由 Lindeberg-Feller CLT 可知, $$ \underbrace{ \frac{S_n}{\sigma_n}}_{= \frac{\sqrt{n}}{\sigma}(\bar{Y}_n - \mu)} \xrightarrow{D} \mathcal{N}(0,1) $$ 亦即標準CLT成立。 


 三角陣列的使用非常廣泛,除了前述的CLT之外,比如Poisson 極限定理(或稱 Weak Law of Small Numbers),我們定義 $S_n := \sum_{i=1}^{n} X_{n,i}$ 則每個 $S_n$ 都是一個隨機變數且數列 $\{S_n\}_{n \ge 1}$ 可以討論收斂性。


Poisson Limit Theorem:對每個 $n \geq 1$,令 $\{X_{n,i}\}_{i=1}^n$ 為一族隨機變數,其整體族 $\{X_{n,i}\}_{n\geq 1, 1\leq i \leq n}$ 構成一個三角陣列,對每個 $n$ 而言,$X_{n,1}, \dots, X_{n,n}$ 相互獨立且 $X_{n,i} \sim Bernoulli(p_{n,i})$。定義 $n$ 項有限和 $S_n:= \sum_{i=1}^n X_{n,i}$ 且假設當 $n \to \infty$,我們有 $$\max_{1\leq i \leq n} p_{n,i} \to 0$$ 且 $$\sum_{i=1}^n p_{n,i} \to \lambda <\infty$$ 則 $S_n \xrightarrow{D} Poisson(\lambda)$


Remark
: 前述定理第一個條件 $\max_{1\leq i \leq n} p_{n,i} \to 0$ 保證單一事件為稀有事件;第二個條件$\sum_{i=1}^n p_{n,i} \to \lambda <\infty$保證總強度有限。

12/04/2025

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

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

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


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

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



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

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

 沒有上述證據,只說「做不出來」、「不可能」等說法,是不會被直接接受的。我預期學生應該要提供「數值/實證數據」與「結構性論證」各一項:

  • 數值例子(宣稱非凸應該提供非凸性理論推導反例,或在低維情況繪製其非凸結構的圖例)
  • 圖表 (solution path, 誤差收斂曲線,state trajectory, etc)
  • log / 訊息 (錯誤碼,停止條件)
  • constraint violation 
  • Optimality Condition (e.g., KKT) violation
  • Complexity analysis  
  • 數值或者理論反例
至少三種「結構化修正」嘗試。以最佳化問題為例,可以包括:
  • 調整 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 若只是因為有現成package可用,則不能直接取代理論分析。也應檢查「方法與問題的結構假設(convexity, smoothness, dimensionality等)是否相容。
    • 考慮的問題範圍與算法適用性,比如 L-BFGS-B 適用於 box 拘束。 
  • 求解器更換 (Gurobi/MOSEK/CVX)
    • 更換solver本身仍應有明確理由,比如問題規模大小變動等等。


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

允許換方法的合理理由示例:
  • 新方法與研究問題結構更一致(例如確認問題具有 QP, LP, SOCP, SDP 結構後,改用相對應的convex optimization approach)
  • 可以證明更好的 optimality/stability/robustness 性質
  • 可以證明可行性、收斂性
  • 在保留可驗證的approximation/regret guarantee前提,達成原方法不可達的問題規模。
  • 文獻中有具體、可查證的支持

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

若新方法無法在 「理論上更強」 或與 「結構更相容」或「在保留guarantee前提下擴展問題規模」三者中一項,則原則上不應更換。未達以上要求就換方法,我傾向於將其視同無效研究行為。不僅浪費自己時間也浪費指導教授時間。


反思:

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

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

如果長期都是這樣,那指導學生的意義何在?畢竟我本人已經有一博三碩,應該是不需要再多一個學位,因此這些關於「合格的研究方法」以及在「方法失敗時的分析與回報」的標準,確實應該是在研究最早期就應該先說清楚。每一次更換方法或調整題目,都應該確保是在有論證的研究判斷下所做的決策,而非遇到困難後的逃避。

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$



8/18/2025

[測度論] 期望值下確界與函數值下確界之恆等式

 Claim: 令 $(X, \mathcal{F})$ 為可測空間。令 $g: X \to \mathbb{R}$ 為可測函數,則 $$\inf_{\mathbb{P} \in \mathcal{P}(X)} \int_X g(x) d\mathbb{P}(x) = \inf_{x \in X} g(x)$$ 其中 $\mathcal{P}(X)$ 為 $(X, \mathcal{F})$ 上所有機率測度所成之集合。


Proof: 先證明 $\geq$: 對任意機率測度 $\mathbb{P}$,我們有 $$ g(x) \geq \inf_{x \in X}g(x) $$ 故取期望值不等式仍成立,亦即 $$ \mathbb{E}^\mathbb{P}[g(X)] = \int_X g(x) d\mathbb{P}(x) \geq \inf_{x \in X} g(x) $$  

以下接著證明 $\leq$: 固定 $\varepsilon > 0$,則由 infimum 定義,存在 $x_\varepsilon \in X$ 滿足 $$ g(x_\varepsilon) \leq \inf_x g(x) + \varepsilon \qquad (*) $$ 令 $\mathbb{P}:=\delta_{x_\varepsilon}$ (Dirac at $x_\varepsilon$ 滿足 $\delta_x(A):=1_{x \in A}$, $A \in \mathcal{F}$ ) 則 $$ \mathbb{E}^\mathbb{P}[g(X)] = \int_X g(x) d\delta_{x_\varepsilon} = g(x_\varepsilon) $$ 由$(*)$我們進一步得到 $$ \int_X g(x) d\delta_{x_\varepsilon} = g(x_\varepsilon) \leq \inf_x g(x) + \varepsilon $$ 對兩邊同取 $\inf_\mathbb{P}$ 可得 $$ \inf_\mathbb{P} \int_X g(x) d\mathbb{P}(x) \leq \inf_x g(x) + \varepsilon $$ 令 $\varepsilon \downarrow 0$ 得到 $\inf_{\mathbb{P} \in \mathcal{P}(X)} \int_X g(x) d\mathbb{P}(x) \leq \inf_{x \in X} g(x)$


Remark: (Dirac 測度不需單點可測):在任意可測空間 $(X,\mathcal F) $上,對每個 $x\in X$ 定義 $\delta_x(A)=\mathbf 1_{\{x\in A\}}$ 其中 $A \in \mathcal F$,則 $\delta_x$ 是機率測度,且對一切 $\mathcal F$-可測 $g$ 有 $\int g\,d\delta_x=g(x)$。因此上述證明中以 $\delta_{x_\varepsilon}$ 作為選擇的測度不需要額外假設 $\{x\}\in\mathcal F$。

6/11/2025

[最佳化] C^2 函數一階逼近的餘項積分表示

令 $f: \mathbb{R}^m \to \mathbb{R}$ 為 $C^2$-函數。對 $f$ 在 $y$ 附近使用一階泰勒展開:
\[ T_y(x) := f(y) + \nabla f(y)^\top (x - y) \]
則其餘項 $R(x,y)$ 訂為 $$R(x,y ):= T_y(x) - f(x)$$

現在定義單變數輔助函數 $g: [0,1] \to \mathbb{R}$ 滿足 $$g(t) : = f(y + t(x - y))$$現在觀察 $g(0) = f(y)$ 且 $g(1) = f(x)$。我們可以計算 $g(t)$ 導數透過多變數鏈鎖律:
$$g'(t) = \nabla f(y + t(x - y))^\top (x-y)$$且
$$g''(t) = (x-y)^\top \nabla^2 f(y + t(x-y)) (x-y)$$ 其中 $\nabla^2 f$ 為 $f$ 的 Hessian matrix。那麼由 Lemma 1可知單變數Taylor Theorem 對 $g(t)$ 在 $t=0$處展開有
$$g(1) = g(0) + g'(0)(1-0) + \int_0^1 g''(t) (1-t) dt \qquad (*)$$
現在代入 $g(1) = f(x), g(0)=f(y)$ 與 $g'(0) = \nabla f(y)^\top (x-y)$,上述 式$(*)$ 可改寫為
$$f(x) = \underbrace{ f(y) + \nabla f(y)^\top (x-y) }_{T_y(x)}+ \int_0^1  (1-t) (x-y)^\top \nabla^2 f(y + t(x-y)) (x-y) dt $$
因此,我們得到
$$f(x) - T_y(x) =  \int_0^1  (1-t) (x-y)^\top \nabla^2 f(y + t(x-y)) (x-y) dt $$
回憶餘項定法為 $R(x,y ):= T_y(x) - f(x)$,故我們有 
$$R(x,y) = -\int_0^1  (1-t) (x-y)^\top \nabla^2 f(y + t(x-y)) (x-y) dt$$


Lemma 1:
令 $g \in C^2([0,1])$,則單變數Taylor Theorem 對 $g(t)$ 在 $t=0$處展開有
$$g(1) = g(0) + g'(0) + \int_0^1 g''(t) (1-t) dt$$

Proof:
給定$g \in C^2$,回憶微積分基本定理對 $g$ 函數而言,
$$g(1) - g(0) = \int_0^1 g'(t) dt \qquad (**)$$

對於 $g'(t)$ 而言,我們亦可在次使用微積分基本定理:
$$g'(1) - g'(0) = \int_0^1 g''(s) ds$$
故對任意 $t \in [0,1]$ 我們有
$$g'(t) = g'(0) + \int_0^t g''(s) ds \qquad (@)$$
將 $(@)$ 代入 $(**)$ 得到
\begin{align*}g(1) - g(0) &= \int_0^1 [g'(0) + \int_0^t g''(s) ds] dt \\ &= \int_0^1 g'(0) dt + \int_0^1 \left( \int_0^t g''(s) \right) ds dt \qquad (@@)\end{align*}
其中
$$ \int_0^1 g'(0) dt = g'(0) \cdot t|_0^1 = g'(0)$$
\begin{align*} \int_0^1 \left( \int_0^t g''(s) \right) ds dt &= \int_0^1 \left( \int_0^t g''(s) \right) ds dt \\ &= \int_0^1 \int_0^1 1_{\{s < t\}} g''(s) ds dt \\ &= \int_0^1 \int_0^1 1_{\{s < t\}} g''(s) dt ds \\ &= \int_0^1 g''(s) \int_s^1 dt ds \\ &= \int_0^1 g''(s) (1-s) ds \\ \end{align*}
也就是說,$(@@)$ 可改寫為
$$g(1) - g(0)  =  g'(0) + \int_0^1 g''(s) (1-s) ds $$至此得證




1/30/2025

[人工智慧] 本地端 DeepSeek R1 快速安裝:以 Macbook Pro M4 Chip為例

最近火熱的 DeepSeek R1 模型由於採用了 distill 技術,可以大幅降低計算成本,使得一般人有機會在自家筆電上跑性能逼近 Open AI ChatGPT o1的大語言模型。本文簡單介紹一步安裝在 Macbook Pro 的方法以及使用方法,以下測試採用 Macbook Pro M4 64GB (如果是使用其他晶片組的Macbook 使用者請參閱文末Remark 2)。有興趣的讀者可以先至 Ollama 官網看看最新版本:

https://ollama.com/


Step 1: 在 Macbook Pro M4 上安裝的方式相當容易,只要打開 Mac 內建的終端機 Terminal 輸入:

ollama run deepseek-r1:14b
系統會自動開始下載所需資料,安裝完畢後即可開始運行。運行結果如下圖所示:


當出現 send a message (/? for help) 即可開始與之對談:以下展示如果輸入 who are you ? 則 DeepSeek會回答他是 DeepSeek R1。


如果關閉 Terminal視窗,那麼下次要再使用 DeepSeek R1 模型只要再次打開 terminal並且輸入 ollama run deepseek-r1:14b 即可。

Remark: 1. 如果記憶體充足 (64GB以上),可以嘗試跑跑看更大的模型如 ollama run deepseek-r1:32b 或者 ollama run deepseek-r1:70b

2. 注意到如果使用其他 Macbook,如M1, 2, 3晶片組或者 iMac桌機(intel晶片組),則需要先安裝 ollama 到系統中,指令可透過  brew install ollama 達成。接著需啟動 ollama:

brew services start ollama

接著才能使用

ollama run deepseek-r1:14b
來進行安裝。

3. 另外如果想要更方便的使用 DeepSeek R1 本地模型,可以透過使用 WebUi 插件到 Microsoft Edge 或者 Chrome的瀏覽器裡面。比如 Page Assist ,相關網址如下供讀者參考:

1/09/2025

[數學分析] 連續函數族的逐點上包絡函數不一定連續

連續函數有諸多用途,一般在參數最佳化領域中常見的情況是考慮所謂的上包絡函數(upper envelope function)。


Definition: 定義函數族 \(\{f_t : t \in T\} \) 其中 \(T\) 為 index set 並考慮對任意 \(x \in X\),現在定義上包絡函數(upper envelope function) 或者 逐點上確界函數(pointwise supremum function)
$$ F(x) := \sup_t f_t(x)$$


Question: 一個有趣的問題是如果這些函數族成員都是連續函數,那麼取 supremum 之後所得到的新函數 \(F\) 是否仍為連續呢?

答案是否定的。以下例子說明甚至是定義在緊緻集合上的連續函數族也沒有保證上包絡函數連續。

Example: 考慮一連續函數族 \( \{f_t: t \in [0, T]\} \) 其中 \(f_t(x) := x^t\) 對 \(x \in [0,1]\) 且 \(t \in [0,1]\) 並定義 \(f_0 = 0\)。 則函數族的上包絡函數為 $$ \sup_t f_t(x) = \begin{cases} 1, & x \in (0, 1] \\ 0, & x = 0\end{cases}$$ 讀者不難發現此函數在 \(x=0\) 處有不連續跳點。


Comment: 在最佳控制與數理經濟中有個非常有用的定理可以刻畫上包絡函數的連續性稱作 Berge's Maximum Theorem 有興趣的讀者可以自行查閱。





11/06/2024

[隨筆] A+焦慮的世代

接住A+世代學生

當了老師之後發現要"接住"學生確實不容易,撇開老師自身可能也有需要被接住的問題不談。我這幾年常常感受到這世代的學生們有著很大的徬徨,不太清楚未來的方向,但是卻有著非得要拿到A/A+不可的糾結,於是課優先選甜涼課,實習競賽投好投滿。好像看著同學做了些什麼,自己也要趕快跟上,深怕落後。想到很多年前讀過的太傻十日談,裡面提到許多跟現在當前學生們的焦慮幾乎如出一徹。

對我而言,拿A+大概意思是對於該科目"學得還行",對於內容掌握了一定的基礎,但並非完全精通該課程。學海無崖,正如聖經哥林多前書8:2 説到:
若有人以為自己知道什麼,按他所當知道的,他仍是不知道---哥林多前書8:2
這也是我常常提醒我自己的一句話。身為老師總是希望學生們別讓分數成為唯一的目標,能更深入地去理解和應用所學知識。這樣的觀點也許不符合學生的"期待",但這確實是我一直努力的方向。

職業與學術之間:適合比起優異更加重要

為什麼要拿A+? 或許是為了有漂亮成績單找工作/留學/申請研究所。但是這些知名公司/頂尖名校想要什麼樣的人選?難道是實習超多,獎項拿滿,GPA滿分的人才有機會嗎?我認為對於公司/名校而言真正重視的是想要找到"適合"的人,找到符合該職位或者學術需求的人。那麼適合那個職位的人到底需要些什麼技能我想才是需要被關注的地方。對於公司來說,他們往往重視應聘者能否在特定情況下解決實際問題,或者能否快速融入環境,快速學習。對於留學/申請研究所而言,展示自己具備研究能力,擁有學術熱誠的人,會遠比一張GPA滿分的成績單更具說服力。那麼這些能力該如何具體展示才是重點。



個人選擇 vs 個人夢想的不一致性:

很多人會說要找到自己喜歡的目標/領域,但是多數同學並不清楚自己喜歡的是什麼?有時候礙於家人環境同儕甚或經濟上的壓力,迫不得已折衷選了一條相對妥協的路。如果有機會,我常會建議:
選幾個至少不討厭的目標/領域試試看如何?

這是我常常跟不清楚未來的同學說的一句話,如果不知道自己要做什麼。至少選些"不討厭"的目標或者領域試試看。這可以讓你知道是否願意繼續深入還是提早退出。那麼該怎麼試?如果大學期間,除了本系之外的課程,涉獵自己有興趣的跨領域課程是一種方法,聽聽看各種學/業界的演講,參加有興趣的行業實習,參加社團/比賽也是一種方法,跟老師做做專題也是一種方法。八萬四千法門,選擇一種試試,時間允許的情況下,我想有心人永遠會找到一絲線索。但是永遠記得不是看別人做什麼就跟著做,而是先想清楚自己想要試試看什麼再做也不遲。


以終為始:動態規劃的最優解

如果把你想要的結果給你,你會不會愉快地接受?面對的每個決策,都有代價。確定目標之後,很多人可能會急著從現在開始一步步向目標前進,但是從現在的你看過去,可能的路線何其多,你怎麼知道哪條最正確呢?如果能練習從結果回推,往回看看前一小步所需的條件是什麼或許會更加有效。比如說你設立的一個長期目標:想出國留學,那麼前一步也許是決定領域?未來五年這個領域如何?哪所學校的研究方向更加適合?需要哪些語文能力/研究經驗/特定技能?每一步都從結果回推需求,這樣的動態規劃方式會讓你的前進方向更加具體更符合實際。


原則:尋找你自己

社群媒體的上的多數文章光鮮亮麗,滿手offer的貼文不免讓人稱羨,更甚者不免讓人失去自我,陷入攀比,但是年輕人,"你要保守你的心,勝過一切,因為一生的果效是由心發出的"--箴言4:32。別人的成功之路總是難以複製,那麼問問我們自己能不能勇敢走出屬於自己的路?

最後用詩人 Robert Frost 的 The Road Not Taken 作為結尾:

Two roads diverged in a wood, and I—I took the one less traveled by,
And that has made all the difference.


選擇一條少有人走的路,因為可能他帶給你最美的風景。並且譜寫成只屬於你的故事

後記:我大概有點資格談談這件事, 我本身研究橫跨隨機控制,優化理論與財務工程,走在這條路上的同行者寥寥。但是一路走來,我慶幸自己能有機會欣賞這條少有人走的道路以及沿途的特有風景。



8/11/2024

[數學分析] 連續函數性質與sublevel set 關係

 考慮 $f: X \to \mathbb{R}$ 為連續函數,則其sublevel set $$L_s := \{x \in X: f(x) \leq s\}$$ 為閉集(closed set)。

Proof.

首先注意到 $(-\infty, s]$ 為在 $\mathbb{R}$ 的 closed set (why?),並且注意到 $f$ 的 sublevel set 可由連續函數 $f$ 的像原(preimage) 表示,亦即, $$f^{-1}((-\infty, s]) = \{x \in X: f(x) \leq s\}$$ 由連續函數等價定理:函數 $f$ 為連續若且唯若對於 $\mathbb{R} $ 中任意 closed set $A$ ,其 $f^{-1}(A) $ 為 closed。現令 $A:=(-\infty, s]$,且 $f$ 為連續,故 $L_s = f^{-1}((-\infty, s])$ 為 closed set。

7/12/2023

[轉載] PhD Simulator by Mianzhi Wang

模擬讀博士的小遊戲 by Mianzhi Wang ,個人覺得蠻貼近真實世界的情況,推薦給有興趣的朋朋玩玩看(見以下連結)。

 PhD Simulator (wmz.ninja)



只要發三篇論文就可以畢業,我想應該不會太難 (?)

2/17/2022

[隨筆] 指導教授的要求與省思

這一學期以來,我很幸運陸續有幾位碩士班同學表達有意願想找我當指導教授,我對每一位來訪的同學都表明:如果想找我當指導教授的話需要有 (or 致力達成) 以下兩項基本能力:

  1. 修習過 高等微積分 (or 數學分析或者等價的課程) 
  2. 具備以至少一種程式語言(Matlab, Python, R, C,...)實現各種算法的能力。

我對(碩士班)學生的畢業期許是:至少需完成並投稿一篇我認可的領域內會議論文。

我知道上述的要求(特別是條件1)對許多同學而言是極為*沈重*的負擔,因為學生們大多沒有接受過嚴格的數理論證訓練,也並不是每一位都志在學術,大多數同學也許更在乎的是找實習/找工作機會加入業界崗位,更在意的大多都不是碩士論文做了什麼題目,而是能不能準時畢業。我曾經也是學生,我想我大概可以體會這些同學的想法。

然而,另一方面,我是做*理論*研究的學者,我感興趣的研究領域(隨機系統投資組合優化理論)中許許多多的研究確實需要使用各種 數學工具 與 數學論證的手法。領域內的研究工作者需要能大致讀懂領域內相關文獻,並據此發想可能的新研究主題,接著利用各種(數學/優化/統計)工具來解決這些問題。陳述自己的研究成果方法多半是以定義/定理/證明的形式或者 算法/證明/實證模擬結果。最後實證的部分需使用真實資料輔以程式來實現。如果沒有受過一些嚴格論證的訓練與洗禮以及一定的程式撰寫經驗,要達成上述目標幾乎是寸步難行,特別是論證這塊,除了高微這門課之外我實在很難找到更好的替代方案。

學生們感到(辛苦)困難,老師也感到困難。或許我應該再想想有沒有更好的解決方案?


相關閱讀:
彭明輝,2012,指導教授的角色與責任,清大彭明輝的部落格






1/17/2022

[轉載] 錢本草-張說

錢味甘,大熱有毒,偏能駐顏,彩澤流潤,善療饑寒困戹之患,立驗。能利邦國,汙賢達,畏清廉。貪婪者服之,以均平為良,如不均平,則冷熱相激,令人霍亂。其藥采無時,采至非理則傷神。此既流行,能役神靈,通鬼氣。如積而不散,則有水火盜賊之災生;如散而不積,則有饑寒困厄之患至。一積一散謂之道,不以為珍謂之德,取與合宜謂之義,無求非分謂之禮,博施濟眾謂之仁,出不失期謂之信,入不妨己謂之智,以此七術精煉方可。久而服之,令人長壽;若服之非理,則弱誌傷神,切須忌之。

作者:唐  張說




譯文(編修版)

錢,味甜,性熱有毒,卻能預防衰老,駐容養顏。可以治療飢餓寒冷,解決困難,效果明顯。可以有利於國家和百姓,可以污損賢達,只是害怕清廉。貪婪之人服用以不過分為好,如果過度,則冷熱不均,引發霍亂。這味藥,沒有固定的採摘時節,無理採摘的使人精神損傷。如果只積攢不發散,會有水火盜賊等災難。如果只發散不積攢,會有饑寒困頓等禍患。一邊積攢一邊施財可稱為道,不把錢財當作珍寶稱為德,取得給予適宜稱為義,不求非份之財使用正當稱為禮,接濟大眾稱為仁,支出有度歸還有期稱為信,得錢財又不傷自己稱為智,用道,德,仁,義,禮,智,信這七種方法精鍊此藥,才可以長久地服用他。可以使人延年益壽,如果不這麼服用,則會智力減弱精神損傷,這點需要特別避免。



3/23/2021

[機率論] 兩隨機變數相等表示兩者有相同分布但反之不然

Claim: 給定機率空間 \((\Omega, \mathcal{F}, P)\),令\(X\)與\(Y\)為兩隨機變數。若 $P(X=Y)=1$ 則$X$與$Y$有相同分布,亦即對任意可測集合 $A \in \mathcal{F}$,
$$P(X \in A) = P(Y \in A)$$

Proof: 令$A \in \mathcal{F}$,我們觀察
$$
P(X\in A\cap X\neq Y)\leq P(X\neq Y)=0
$$ 故可推得 $P(X\in A\cap X\neq Y)=0$。利用此結果,我們注意到
$$
P(X\in A)=P(X\in A\cap X=Y)+\underbrace{P(X\in A\cap X\neq Y)}_{=0}=P(X\in A\cap X=Y)
$$ 同理我們亦可觀察 $P(Y\in A)=P(Y\in A\cap X=Y)$。注意到若我們可證明 $$P(X\in A\cap X=Y) = P(Y\in A\cap X=Y) \;\;\;\;\; (*)$$則 $$P(X\in A)=P(X\in A\cap X=Y)=P(Y\in A\cap X=Y)=P(Y\in A)$$即為所求。

現在我們回頭證明等式$(*)$。我們僅須證明下列事件集合等式關係成立 $$\{X\in A\cap X=Y\} = \{Y\in A\cap X=Y\} $$即可。首先證明 $\{X\in A\cap X=Y\} \subset \{Y\in A\cap X=Y\} $: 令 $\omega \in \{ X \in A\cap X=Y\}$ 即表明 $X(\omega) \in A$ 且 $X(\omega) = Y(\omega)$。 故我們可推得 $Y(\omega) \in A$ 故此,$\omega \in \{Y \in A\cap X=Y\}$。亦即$$\{X\in A\cap X=Y\} \subset \{Y\in A\cap X=Y\} $$ 同理不難證得 $\{X\in A\cap X=Y\} \supset \{Y\in A\cap X=Y\} $。故我們得到 $\{X\in A\cap X=Y\} = \{Y\in A\cap X=Y\} $至此證明完畢。$\square$


上述 Claim 的反面論述並不成立。以下我們給個反例:考慮均勻分布 $X$為隨機變數服從均勻分布 $U[-1,1]$ 現在取另一隨機變數 $Y:=-X$則 $Y$亦為在 $[-1,1]$上均勻分布,亦即 $X$與 $Y$具有同分布。然而
$$P(X = Y) = 0$$

2/12/2021

[機率論] 一類含有supremum運算與期望值的不等式問題

令 $X,Y$ 為兩隨機變數定義在某機率空間 $(\Omega, \mathcal{B}, P)$ 且 $f: \mathbb{R}^2 \to \mathbb{R}$ 為一連續函數。若對 $X$ 的實現 $X=x$ 而言 (亦即,存在 $\omega \in \Omega$ 使得 $X(\omega) = x$ ),我們顯然有 

$$\mathbb{E}[f(x,Y)] \leq \sup_x \mathbb{E}[f(x,Y)]$$ 

試問上述不等式左方若將 $x$ 換回隨機變數 $X$ 時仍然成立?亦即我們想問 $$\mathbb{E}[f(X,Y)] \leq ? \sup_x \mathbb{E}[f(x,Y)]$$

答案是否定的,我們看以下的反例:


Counterexample

考慮隨機變數 $X=Y$ 且 $P(X=1)=P(X=-1) = 1/2$ 且 $f(x,y) := xy$ 則我們可驗證 $$\mathbb{E}[f(X,Y)] = \mathbb{E}[X^2] = 1/2 + 1/2 = 1$$然而如果我們觀察 $$\mathbb{E}[f(1,Y)] = \mathbb{E}[Y] = \mathbb{E}[X] = 0$$ 另外 $$\mathbb{E}[f(-1,Y)] = \mathbb{E}[-Y] = -\mathbb{E}[X] = 0$$ 故 $\sup_x\mathbb{E}[f(x,Y)] = 0$但是 $$\sup_x\mathbb{E}[f(x,Y)] < \mathbb{E}[f(X,Y)]$$

2/10/2021

[機率論] 關於條件期望的一些基本觀念

在大學部機率論課程後半大多會介紹到所謂條件機率與條件期望,其中條件期望由於授課時間較接近晚期且觸及之內容較深,初次學習時並不容易掌握。以下我們試圖說明條件期望值本身為一隨機變數並給出一個簡單的例子做配搭。


條件機率為一隨機變數

令$X,Y$ 為兩隨機變數。假設$X$ 有給定事件 $\{Y=y\}$ 的條件機率分布其中 $y$ 表示隨機變數 $Y$ 所能取到的值。 既然有條件機率分布,則條件期望值存在,我們將其記作 $$\mathbb{E}[X\mid Y=y]$$ 注意到條件期望值與取值 $y$ 相關,故我們可寫 $$\mathbb{E}[X\mid Y=y]:=g(y)$$ 其中 $g(y)$ 表示為 $y$的函數 。依此,若我們把取值 $y$用 $Y$ 代回,則$g(Y)$ 為一隨機變數,記作 $\mathbb{E}[X \mid Y]$。


重疊期望性質 (Law of Iterated Expectations)

一般期望值與條件期望之間的關係可由 law of iterated expectations (或稱 law of total expectation) 定理刻劃。亦即 $$\mathbb{E}[X] = \mathbb{E}_Y[\mathbb{E}_X[X \mid Y]] $$其中 $\mathbb{E}_Y$表對 $Y$取期望 且 $\mathbb{E}_X$表對 $X$ 取期望。一般而言下標多半不寫出,多簡寫作 $$\mathbb{E}[X] = \mathbb{E}[\mathbb{E}[X \mid Y]] $$


以下我們看個具體的例子。讀者按照此例應可看出為何上述條件期望為隨機變數。並練習計算條件期望與使用重疊期望性質。

=======================

Example: 假設有五顆紅球與三顆綠球被放在一袋中,現在我們從中依序取出兩球不放回。令 $Y$ 為第一次取到紅球的計數 ($Y\in \{0,1\}$其中$Y=0$表示第一次沒取到 $Y=1$表示第一次取到),且 $X$ 為第二次取到紅球的計數 ($X \in \{0,1\}$ 其中 $X=0$表示第二次沒取到紅球,$X=1$表示第二次沒取到)。則 $X,Y$皆為(離散)隨機變數。求

(a) $\mathbb{E}[X \mid Y=0]$ 與 $\mathbb{E}[X \mid Y=1]$
(b) $\mathbb{E}[X \mid Y]$
(c) $\mathbb{E}[\mathbb{E}[X \mid Y]]$ 與 $\mathbb{E}[X]$。並驗證此兩者相等。

========================

Answer: 首先注意到 $$Y = \begin{cases} 0 & \text{with probability } \dfrac 3 8, \\[6pt]1 & \text{with probability } \dfrac 5 8. \end{cases}$$ 接著我們依序計算所求:

(a) 注意到 $$\begin{align}\mathbb{E}[X\mid Y=0] &= \sum_i i P(X=i \mid Y=0) \\&= 1\cdot P(X=1 \mid Y=0) + 0\cdot P(X=0 \mid Y=0) \\&= \dfrac 5 7 + 0 = \dfrac 5 7\end{align}$$ 同理$$\mathbb{E}[X\mid Y=1]= \sum_i i P(X=i \mid Y=1) = P(X=1 \mid Y=1) =\dfrac 4 7$$ 故此

(b) 由 (a)可知 $\mathbb{E}[X \mid Y] $ 為隨機變數滿足 $$\mathbb{E}[X \mid Y] = \begin{cases} \mathbb{E}[X\mid Y=0]=\dfrac 5 7 & \text{with probability } \dfrac 3 8, \\[6pt]\mathbb{E}[X\mid Y=1]=\dfrac 4 7 & \text{with probability } \dfrac 5 8. \end{cases}$$ 

(c) 一但有了隨機變數 $\mathbb{E}[X \mid Y] $ 的機率分布,由 law of iterated expectation 我們可直接計算 $\mathbb{E}[\mathbb{E}[X\mid Y]]$ 並驗證此確實等同於 $\mathbb{E}[X]$。亦即我們計算 $$\begin{align} \mathbb{E}[\mathbb{E}[X\mid Y]] &= \sum_{i} \mathbb{E}[X\mid Y=i] P(Y=i) \\&= 1 \cdot \mathbb{E}[X \mid Y=1] P(Y=1) + \mathbb{E}[X \mid Y=0]  P(Y=0) \\& = \dfrac 5 7 \cdot \dfrac 3 8 + \dfrac 4 7 \cdot \dfrac 5 8 = \dfrac {35} {56}\end{align}$$

另一方面,我們直接計算 $\mathbb{E}[X]$ :利用期望值的定義如下 $$\begin{align}\mathbb{E}[X] &= \sum_i i P(X=i) \\&=1 \cdot P(X=1) + 0 \cdot P(X=0) \\ & = P(X=1,Y=0) + P(X=1,Y=1) \\ &= P(X=1|Y=0)P(Y=0) + P(X=1|Y=1)P(Y=1) \\&= \dfrac 5 7 \cdot \dfrac 3 8 + \dfrac 4 7 \cdot \dfrac 5 8 = \dfrac {35} {56}\end{align}$$與前述結果一致,至此得證。










2/09/2020

[數學分析] 一類 max/min operator 作用在分式 的等式

令函數 $f: \mathbb{N} \to (0,\infty)$,則下列等式成立
$$
\min_{0 \leq k \leq N} \frac{f(k)}{\max_{i\leq k}f(i)} = \min_{0\leq \ell \leq k \leq N} \frac{f(k)}{f(\ell)}
$$

Proof: 
$$\frac{f(k_0)}{f(\ell_0)} := \min_{0\leq k\leq N}\frac{f(k)}{ \max_{i\leq k} f(i)}
$$ 其中 $\ell_0\leq k_0$ 使得  $\text{min}_{0\leq\ell\leq k\leq N}\frac{f(k)}{f(\ell)}\leq\frac{f(k_0)}{f(\ell_0)}$。

另一方面,令
$$\frac{f(k_1)}{f(\ell_1)}= \min_{0\leq\ell\leq k\leq N}\frac{f(k)}{f(\ell)}
$$ 且 $\ell_1\leq k_1$,則我們必定有
$$\frac{f(k_0)}{f(\ell_0)}\leq\frac{f(k_1)}{ \max_{i\leq k_1}\;f(i)}\leq\frac{f(k_1)}{f(\ell_1)}$$
由上述結果,我們得到
$$
\frac{f(k_0)}{f(\ell_0)}=\frac{f(k_1)}{f(\ell_1)}
$$ 亦即
$$\min_{0\leq k\leq N}\frac{f(k)}{ \max_{i\leq k} f(i)}= \min_{0\leq\ell\leq k\leq N}\frac{f(k)}{f(\ell)}$$ 至此得證。$\square$

12/18/2019

[隨筆] 博士之路的感謝

六十餘年妄學詩,功夫深處獨心知
夜來一笑寒燈下,始是金丹換骨時

陸游 --- 夜吟

---
昨天 (12/17/2019) 我完成了我的博士論文答辯。我想趁著一切記憶還鮮明的時候 寫寫我的想法與心中的感謝。


心境
從 2013 到執筆寫下這篇文章的今天,六年多將近七年的留美歲月恍如昨日,當日少年轉眼變成大叔。我猶記剛剛踏上 Madison, Wisconsin 時候的大雪紛飛與零下 20 度的氣溫。我瑟瑟發抖,套上好友送的防寒手套,心中想著即將與剛新婚不久的 太太 順瑩 分離,經濟上與課業上的全新挑戰。這是個用英文點杯咖啡都顯得結巴困難的日子。



關於課業與研究
我是在 UW-Madison 電機與電腦工程系 攻讀博士,主修 控制系統 輔修 數學。我有幸師從 B. Ross Barmish 教授,他是 強健控制控制工程在財務應用 的幾位領頭人物之一。

我主要研究領域是落在 隨機系統財務工程 的交集1。讀博期間很慶幸在許多師長的幫助之下,順道取得同校的 數學與電機 雙碩士學位,加上我原本在台灣的機械碩士,僥倖集滿了三碩,多了幾根白髮,發了幾篇文章。最開心的大概是我終於可以厚顏自稱自己是 (應用) 數學家。 彷彿又更接近了一點當年在大學時候的夢想:成為一位 控制理論 學者。 讀博過程,除了研究之外,更常時候是在等待論文審核的時光中度過。填補這個等待就是做新的研究。一個挖坑又自己填坑的過程。很多煎熬,很多難關。許許多多的人在這路上幫助過我,或先或後,或直接或間接,難以計數,我由衷謝謝他們。



關於經濟
除了幾個特定超熱門領域之外,做理論研究並沒有太多經費。所以我得在 興趣 與 麵包 之間做選擇。我選了前者,也因此開啟了長年教課的日子。我感謝 UW-Madison 數學系電機系 願意給我機會擔任 助教 或者 講師 職位。我由衷謝謝他們。



關於博士答辯之後與博士頭銜
答辯之前與答辯之後並沒有不同,答辯之後並沒有讓我對研究領域的認識就瞬間有了質的飛躍,更多時候是細水長流的累積直到答辯的那一刻。論文答辯 本身 不過是給我一個機會 分享總結 自己過去這些年的一些些研究成果。若要說博士頭銜有什麼作用,大概就是讓我得到了一個奢侈的特權:得到申請 助理教授 職位被拒絕的特權。希望這個特權不用被使用太多次...(註: 作者已接受國立清華大學 計量財務金融學系 的邀約成為該系2021年新聘助理教授)



關於家人
我的太太 順瑩 與台灣的家人們 是我最大的後盾。在我讀博期間,不論在經濟上,情感上都給予我極大的支持。為了我的控制學者夢,她三番兩次放下手邊的工作,來到一個語言不是很通的國家,費心分擔家務,照顧年幼的 我兒 亞諾,在此由衷感謝她的愛與付出。



關於信仰
對我而言,人更多是在低處或者痛苦的時候才會想要找到 上帝。我出國前曾經在 板橋基督長老教會 分享過一次 約伯記導讀--苦難的根源,這些年的經歷讓我覺得 神 真是幽默無比,這分享根本就是講給我自己聽的。我感謝我所信的這位 神,他讓我知道我雖經過死蔭幽谷,祂仍眷顧 並與我同行。這條博士之路,我想更是一條恩典之路。



宗翰 2019
於 Madison, Wisconsin


1 關於我的博士論文主題: Contributions to the Theory of Kelly Betting with Applications to Stock Trading: A Control-Theoretic Approach 有興趣的讀者可參考ProQuest連結 或者 個人Dropbox空間連結


[Claude] 國小數學加減乘除法計算小遊戲:數學怪獸大亂鬥

心血來潮用 Anthropic Claude Opus 4.6 做的簡單國小數學乘除法計算小遊戲,感嘆AI工具之強大與便利。原本可能要耗時幾天的工作轉眼就完成,時代的巨輪確實在飛速轉動。  數學怪獸大亂鬥(Math Monster Brawl)對戰的國小數學 加減乘除 小遊戲連結...