Deep Learning - Numerical Optimization & Learning Theory

Numerical Optimization

Numerical Computation

在機器學習中,會有大量的浮點數計算,受限於浮點數儲存的精度,有時候會產生 numeric errors

Overflow & Underflow

對於 Softmax 函數來說

$$
\text{softmax}(z_i) = \frac{\exp(z_i)}{\sum_{j} \exp(z_j)}
$$

如果對於 $z_i = c \ \forall i$,如果 $|c|$ 很大

  • 如果 $c$ 是正數,則 $\exp(c)$ 會 overflow
  • 如果 $c$ 是負數,則 $\exp(c)$ 會 underflow,還有可能導致分母為 0

為了解決這個問題,可以對 $z$ 進行平移 (shift):

$$
\text{softmax}(z_i) = \frac{\exp(z_i - z_{\max})}{\sum_{j} \exp(z_j - z_{\max})}
$$

這樣的計算結果會和原本的 softmax 函數相同,但可以避免 overflow 和 underflow 的問題

  • 分子最多是 $\exp(0) = 1$,不會 overflow
  • 分母至少有一項是 $\exp(0) = 1$,不會為 0

$$
\begin{aligned}
\text{softmax}(z_i) &= \frac{\exp(z_i - z_{\max})}{\sum_{j} \exp(z_j - z_{\max})} \newline
&= \frac{\exp(z_i) \exp(-z_{\max})}{\sum_{j} \exp(z_j) \exp(-z_{\max})} \newline
&= \frac{\exp(z_i)}{\sum_{j} \exp(z_j)} \newline
\end{aligned}
$$

Poor Conditioning

Condition number 是用來衡量一個函數對輸入變化的敏感度

像是我們有 $f(x) = Ax = y$,其中 $A$ 是一個矩陣,且 $A^{-1}$ 存在

那麼其 condition number 定義為

$$
\kappa(A) = \max_{i, j} \frac{|\lambda_i|}{|\lambda_j|}
$$

  • $\lambda_i$: $A$ 的第 $i$ 個 eigen value,如前面所述,可以想成是對某個方向的伸縮最大值和最小值的比值
  • 當 $\kappa(A)$ 很大時,對 $x$ 的微小變化會導致 $y$ 有很大的變化,這會影響到優化算法的收斂速度和穩定性,稱為 ill-conditioned
    • 在解 $x = A^{-1} y$ 時,會放大 $y$ 的 numeric errors,導致 $x$ 有很大的誤差

Optimization Problems

Optimization problem 的目標是去最小化一個 cost function $f: \mathbb{R}^d \to \mathbb{R}$

$$
\text{argmin}_{x \in \mathbb{R}^d} f(x) \newline
\text{subject to } x \in \mathcal{C}
$$

$\mathcal{C} \subseteq \mathbb{R}^d$: constraint set,表示 $x$ 必須滿足的約束條件,又稱 為 feasible set,$x$ 稱為 feasible point

  • 例如: $\mathcal{C} = {x : g_i(x) \leq 0, h_j(x) = 0}$
  • 如果 $\mathcal{C} = \mathbb{R}^d$,稱為 unconstrained optimization problem
  • 如果是最大化 objective function 問題,可以把目標改成最小化 $-f(x)$

Examples

  • Critical Point: $\mathbf{C} = {x : \nabla f(x) = 0}$
    • Minima: $\mathbf{C} = {x : \nabla f(x) = 0, H(f)(x) \succ 0}$
    • Maxima: $\mathbf{C} = {x : \nabla f(x) = 0, H(f)(x) \prec 0}$
    • Plateau/Saddle Point: $\mathbf{C} = {x : \nabla f(x) = 0, H(f)(x) = \mathbf{O} \ \text{or} \text{ indefinite}}$
  • Global Minimum: $\min_{x \in \mathcal{C}} f(x) \in \mathbf{R}$
  • Optimal Point: $x^* \in \mathcal{C}$ such that $f(x^*) = \min_{x \in \mathcal{C}} f(x)$

Convex Optimization

滿足以下條件的 optimization problem,稱為 convex optimization problem

  1. $H(f)(x) \succeq 0$ for all $x \in \mathcal{C}$
  2. $g_i(x)$ 是 convex function for all $i$
  3. $h_j(x)$ 是 affine function for all $j$
    • affine function: $h(x) = Ax + b$,就是 Linear + Constant shift

Gradient Descent

根據 Taylor expansion,可以用函數 $\tilde{f}(x)$ 的多項式
近似來描述函數在某一點附近的行為,例如在點 $a$ 附近,可以用一階 Taylor expansion 來近似函數:

$$
f(x) \approx \tilde{f}(x) = f(a) + \nabla f(a)^T (x - a)
$$

當我們選擇 $x = a - \eta \nabla f(a)$ for some $\eta > 0$ 時,可以得到

$$
\tilde{f}(x) = f(a) - \eta |\nabla f(a)|^2 \leq \tilde{f}(a)
$$

Negative Gradient is the Direction of Steepest Descent

給定一個 function $f$,一個方向 $u$ 和點 $a$

Directional Derivative:

$$
D_u f(a) = \lim_{h \to 0} \frac{f(a + h u) - f(a)}{h} = \nabla f(a)^T u
$$

我們想找到一個單位向量 $u$,使得 $D_u f(a)$ 最小化

$$
\begin{aligned}
\arg\min_{u, |u| = 1} D_u f(a) &= \arg\min_{u, |u| = 1} \nabla f(a)^T u \newline
&= \arg\min_{u, |u| = 1} |\nabla f(a)| |u| \cos \theta \newline
&= \arg\min_{u} \cos \theta \newline
\end{aligned}
$$

所以,當 $u = -\frac{\nabla f(a)}{|\nabla f(a)|}$ 時,也就是負梯度方向,Directional Derivative 會達到最小值

Set Learning Rate

有空再補

Problems of Gradient Descent

沒有考慮到 $H(f)(x)$ 的 Conditioning 的問題,可能在某個方向下降很快,但在另一個方向下降很慢,導致整體收斂速度變慢

  • Zig-Zags

Newton’s Method

根據二維 Taylor expansion,可以用函數 $\tilde{f}(x)$ 的多項式近似來描述函數在某一點附近的行為,例如在點 $a$ 附近,可以用二階 Taylor expansion 來近似函數:

$$
f(x) \approx \tilde{f}(x) = f(a) + \nabla f(a)^T (x - a) + \frac{1}{2} (x - a)^T H(f)(a) (x - a)
$$

當 $f$ 是 strictly convex 時,我們可以去解 $\nabla \tilde{f}(x) = 0$,來找到 $\tilde{f}(x)$ 的最小值,得到

$$
a - H(f)(a)^{-1} \nabla f(a)
$$

  • $H(f)(a)$ 就是 gradient 的 corrector

在這種情況下,只要不斷找

$$
x^{(k+1)} = x^{(k)} - \eta H(f)(x^{(k)})^{-1} \nabla f(x^{(k)})
$$

就可以快速收斂

當 $f$ 不是 strictly convex 時,$H(f)(x) \preceq 0$ 或 indefinite,會導致找出來的方向不是下降方向,因此會需要 Levenberg-Marquardt adjustment

$$
x^{(k+1)} = x^{(k)} - \eta (H(f)(x^{(k)}) + \lambda I)^{-1} \nabla f(x^{(k)})
$$

選一個足夠大的 $\lambda$,可以確保 $H(f)(x^{(k)}) + \lambda I \succ 0$,使得方向為下降方向

Problems of Newton’s Method

  • 計算 $H(f)(x)$ 和 $H(f)(x)^{-1}$ 的時間和空間複雜度都很高,尤其是在高維度的情況下
    • 時間複雜度: $O(d^3)$
    • 空間複雜度: $O(d^2)$
  • $H(f)(x)$ 可能有很大的 Condition Number
    • 當 gradient 有 numeric errors 時,會被放大,導致方向不正確,越往後誤差越大
  • 可能會收斂到 Saddle Point
    • 因為在 Saddle Point 處,$H(f)(x)$ 是 indefinite,可能會導致找出來的方向不是下降方向

Optimization in Machine Learning

大部分的機器學習模型都有 convex function,e.g. Linear Regression, Logistic Regression, SVM…

但是在深度學習中,通常都是 non-convex function,e.g. Neural Networks

Lipschitz Continuity

我們通常會假設 Cost Function $C$ 是 Lipschitz Continuous 的,表示存在一個常數 $K > 0$,使得:

$$
|C(w^1) - C(w^2)| \leq K |w^1 - w^2|, \quad \forall w^1, w^2 \in \mathbb{R}^d
$$

這個條件保證了函數的變化不會太劇烈,有助於優化算法的收斂性分析

Lipschitz Continuity

Perceptron Learning Algorithm

Binary Classification 問題

假設資料集 $D = {(x_1, y_1), (x_2, y_2), \ldots, (x_N, y_N)}$,其中 $x_i \in \mathbb{R}^d$ 是特徵向量,$y_i \in {-1, 1}$ 是標籤

定義線性分類器 $f(x) = sign(w^T x + b)$

  • 其中 $w \in \mathbb{R}^d$ 是權重向量,$b \in \mathbb{R}$ 是偏差
  • 也可以把 $b$ 合併到 $w$ 中,令 $\tilde{x} = [x; 1]$,$\tilde{w} = [w; b]$,則 $f(x) = \tilde{w}^T \tilde{x}$

訓練時,每個 Epoch 會根據每筆資料 $(x^t, y^t)$ 來更新權重 $w$

$$
w^{(t+1)} = w^{(t)} + \eta (y^t - \hat{y}^t) x^t
$$

  • 如果 $\hat{y}^t = y^t$,則不更新

  • 如果 $\hat{y}^t \ne y^t$,得到 $w^{(t+1)} = w^{(t)} + 2 \eta y^t x^t$

    • $y^t = 1$
      $$
      \begin{aligned}
      \text{sign}(w^{(t+1)T} x^t) &= \text{sign}((w^{(t)} + 2 \eta x^t)^T x^t) \newline
      &= \text{sign}(w^{(t)T} x^t + 2 \eta |x^t|^2) \newline
      &= \text{sign}(w^{(t)T} x^t + c)
      \end{aligned}
      $$
      因為 $c > 0$,所以 $\text{sign}(w^{(t+1)T} x^t)$ 會傾向於變成 1

如果資料沒辦法線性可分,則 Perceptron Learning Algorithm 可能無法收斂

ADAptive LInear NEuron (Adaline)

Adaline 是一種線性分類器,與 Perceptron 類似,但使用連續的輸出值來進行學習

Cost Function:

$$
\arg\min_{w} \frac{1}{2} \sum_{i=1}^{N} (y_i - w^T x_i)^2
$$

訓練完之後,使用 $f(x) = sign(w^T x)$ 來進行分類

Update Rule:

$$
w^{(t+1)} = w^{(t)} + \eta \sum_{i=1}^{N} (y_i - w^{(t)T} x_i) x_i
$$

因為 Cost function 是 Convex 的,所以可以保證可以收斂到全域最小值

Stochastic Gradient Descent (SGD)

把資料集 $D$ 分成多個 mini-batch,每次只使用一個 mini-batch 來更新權重

$$
w^{(t+1)} = w^{(t)} - \eta \nabla C_{MB}(w^{(t)})
$$

  • $C_{MB}(w)$: mini-batch 上的 Cost Function
  • 每次更新只需要計算 mini-batch 的 gradient,計算量較小,適合大規模資料集
  • 支援 Online Learning

Constrained Optimization

Problem:

$$
\text{min}_{x} f(x) \newline
\text{subject to } x \in {x : g_i(x) \leq 0, h_j(x) = 0}
$$

Karush-Kuhn-Tucker (KKT) Methods

可以把問題轉成

$$
\text{min}x\text{max}{\alpha, \beta, \alpha \geq 0} \mathcal{L}(x, \alpha, \beta) = \newline
\text{min}x\text{max}{\alpha, \beta, \alpha \geq 0} f(x) + \sum_{i} \alpha_i g_i(x) + \sum_{j} \beta_j h_j(x) \newline
$$

當 $x$ 是 Feasible Point 時,$\mathcal{L}(x, \alpha, \beta) = f(x)$,因為 $g_i(x) \leq 0$ 和 $h_j(x) = 0$,會選 $\alpha_i = 0$ 和任意 $\beta_j$ 來 maximize $\mathcal{L}(x, \alpha, \beta)$

當 $x$ 不是 Feasible Point 時,會有某些 $g_i(x) > 0$ 或 $h_j(x) \ne 0$,這時候可以選擇很大的 $\alpha_i$ 或 $\beta_j$ 來讓 $\mathcal{L}(x, \alpha, \beta)$ 變無限大,這樣就不會選擇這些 $x$ 來 minimize $\mathcal{L}(x, \alpha, \beta)$

KKT Conditions

假設 $f, g_i, h_j$ 都是可微分的,且 $x^*$ 是問題的最優解,則存在 $\alpha^*, \beta^*$,使得以下條件成立:

  1. Primal Feasibility: $g_i(x^*) \leq 0$ for all $i$, $h_j(x^*) = 0$ for all $j$
  2. Dual Feasibility: $\alpha_i^* \geq 0$ for all $i$
  3. Stationarity: $\nabla f(x^*) + \sum_{i} \alpha_i^* \nabla g_i(x^*) + \sum_{j} \beta_j^* \nabla h_j(x^*) = 0$
  4. Complementary Slackness: $\alpha_i^* g_i(x^*) = 0$ for all $i$

Complementary Slackness

  • 如果 $g_i(x^*) = 0$,稱為 active,$\alpha_i^* g_i(x^*) = 0$

  • 如果 $g_i(x^*) < 0$,稱為 inactive,為了 maximize $\mathcal{L}(x^*, \alpha^*, \beta^*)$,必須有 $\alpha_i^* = 0$

今天我有一個 $\alpha_i^* > 0$,我就可以知道 $g_i(x^*)$ 一定是 0,可以快速找到 active constraints,就可以確定最優解真正被哪些限制所決定

The Regression Problem

給定資料集 $D = {(x_1, y_1), (x_2, y_2), \ldots, (x_N, y_N)}$,其中 $x_i \in \mathbb{R}^d$ 是特徵向量,$y_i \in \mathbb{R}$ 是目標值

目標是找到一個函數 $f: \mathbb{R}^d \to \mathbb{R}$,使得對於所有的 $(x_i, y_i)$,$f(x_i)$ 盡可能接近 $y_i$

Sum of Squared Errors (SSE):

$$
SSE(f; D) = \sum_{i=1}^{N} (y_i - f(x_i))^2
$$

Mean Squared Error (MSE):

$$
MSE(f; D) = \frac{1}{N} \sum_{i=1}^{N} (y_i - f(x_i))^2
$$

Relative Squared Error (RSE):

$$
RSE(f; D) = \frac{\sum_{i=1}^{N} (y_i - f(x_i))^2}{\sum_{i=1}^{N} (y_i - \bar{y})^2}
$$

  • $\bar{y} = \frac{1}{N} \sum_{i=1}^{N} y_i$: 目標值的平均值
  • 一般來說,RSE 越小表示模型越好,如果算出來大於 1,表示模型比直接用平均值來預測還差,你乾脆直接用平均值算就好
  • R-squared ($R^2$) 是用來衡量模型解釋變異的比例
    $$
    R^2 = 1 - RSE
    $$
    • $R^2$ 越接近 1,表示模型解釋變異的能力越強

Data Augmentation

在機器學習中,可以把 Linear model 轉換成多項式特徵,或是加入其他變換,以增加模型的表達能力

[HW] How many variables to solve in $w$ for a polynomial regression problem with degree $P$

Regularization

為了 Generalization ,而不是只在訓練資料上表現好,可以在 Cost Function 中加入 Regularization term,來懲罰過於複雜的模型

$$
\text{argmin}_{w \in \mathbb{R}^d} \frac{1}{2} | y - (Xw - b)|^2 \newline
\text{subject to } |w|^2 \leq R
$$

可以寫成

$$
\text{argmin}_{w \in \mathbb{R}^{d+1}} \frac{1}{2} | y - (Xw )|^2 \newline
\text{subject to } w^T S w \leq R
$$

其中 $S = \begin{bmatrix} 0 & 0 \ 0 & I_d \end{bmatrix}$

By KKT,可以轉成 unconstrained problem

$$
\text{argmin}w \text{max}{\alpha, \alpha \ge 0} \frac{1}{2} (| y - (Xw )|^2 + \alpha( w^T S w - R))
$$

Dual Problem

給定 primal problem:

$$
p^* = \text{min}x \text{max}{\alpha, \beta, \alpha \geq 0} \mathcal{L}(x, \alpha, \beta)
$$

dual problem 定義為:

$$
d^* = \text{max}_{\alpha, \beta, \alpha \geq 0} \text{min}_x \mathcal{L}(x, \alpha, \beta)
$$

[HW] By max-min inequality, we have

$$
d^* \leq p^*
$$

當 primal problem 是 convex,且有解,則 strong duality 成立,$d^* = p^*$,有時候解問題會更有效率

Example

考慮

$$
\text{argmin}_{w \in \mathbb{R}^d} \frac{1}{2} |x|^2 \newline
\text{subject to } Ax \geq b, A \in \mathbb{R}^{n \times d}, b \in \mathbb{R}^n
$$

By KKT,可以寫成

$$
\text{argmin}x \text{max}{\alpha, \alpha \geq 0} \frac{1}{2} |x|^2 + \alpha^T (b - Ax)
$$

因為是 Convex problem,滿足 Strong Duality,可以交換 min 和 max

$$
\text{argmax}_{\alpha, \alpha \geq 0} \text{min}_x \frac{1}{2} |x|^2 + \alpha^T (b - Ax)
$$

對 $x$ 求導並設為 0,得到 $x = A^T \alpha$,帶回上式,得到

$$
\text{argmax}_{\alpha, \alpha \geq 0} -\frac{1}{2} |A^T \alpha|^2 + b^T \alpha
$$

現在只需要解 $n$ 維的問題,而不是 $d$ 維的問題,當 $n \ll d$ 時,會更有效率

Learning Theory

Empirical Error / risk

Empirical Error 是在訓練資料集上計算的平均 Loss

$$
E_N[f] = \frac{1}{N} \sum_{i=1}^{N} \text{loss}(f(x_i; w), y_i)
$$

Generalization Error / risk

Generalization Error 是在整個資料分佈上計算的平均 Loss,代表模型在未見過的資料上的表現

$$
C[f] = \int \text{loss}(f(x; w), y) dP(x, y)
$$

Learining Theory 就是在理解怎麼去 Characterize

$$
C[f_N] = \int \text{loss}(f_N(x; w), y) dP(x, y)
$$

  • $f_N$: model learned from training data of size $N$
  • $C[f_N]$: generalization error

Bounding Methods

$min_fC[f] = C[f^*]$ 稱為 Bayes Error,表示在給定資料分佈下,最佳模型的誤差下限

  • 如果 $P(y|x)$ 有隨機性,則 Bayes Error > 0
  • 目標是讓 $C[f_N]$ 越接近 $C[f^*]$ 越好

$\Epsilon = C(f_N) - C(f^*)$ 稱為 Excess Error,又可以寫成

$$
\Epsilon = (C(f_F^*) - C(f^*)) + (C(f_N) - C(f_F^*))
$$

其中前項稱為 Approximation Error,後項稱為 Estimation Error

  • 選越複雜的 $F$,Approximation Error 越小,但 Estimation Error 越大

Properties of Estimators

Bias

  • Bias 衡量估計值的期望與真實值之間的差異,來看這個 estimator 準不準
  • 定義為
    $$
    \text{Bias}(\hat{\theta}) = \mathbb{E}[\hat{\theta}] - \theta
    $$
  • 如果 $\text{Bias}(\hat{\theta}) = 0$,則稱為無偏估計 (Unbiased Estimator)

Variance

  • Variance 衡量估計值的變異程度,來看這個 estimator 穩不穩定
  • 定義為
    $$
    \text{Var}(\hat{\theta}) = \mathbb{E}[(\hat{\theta} - \mathbb{E}[\hat{\theta}])^2]
    $$
  • Variance 越小,表示估計值越穩定

Sample Mean Estimator

  • 給定資料集 $D = {x_1, x_2, \ldots, x_N}$,樣本均值估計量定義為

    $$
    \hat{\mu} = \frac{1}{N} \sum_{i=1}^{N} x_i
    $$

  • Bias:

    $$
    \begin{aligned}
    \mathbb{E}[\hat{\mu}] &= \mathbb{E}\left[\frac{1}{N} \sum_{i=1}^{N} x_i\right] \newline
    &= \frac{1}{N} \sum_{i=1}^{N} \mathbb{E}[x_i] \newline
    &= \frac{1}{N} \sum_{i=1}^{N} \mu \newline
    &= \mu \newline
    \end{aligned}
    $$

    • 因此,$\text{Bias}(\hat{\mu}) = \mathbb{E}[\hat{\mu}] - \mu = 0$,樣本均值估計量是無偏的
  • Variance:
    $$
    \begin{aligned}
    \text{Var}{\mathbb{X}}(\hat{\mu})
    &= \mathbb{E}
    {\mathbb{X}}[(\hat{\mu} - \mathbb{E}{\mathbb{X}}[\hat{\mu}])^2] = \mathbb{E}[\hat{\mu}^2 - 2\hat{\mu}\mu + \mu^2] = \mathbb{E}[\hat{\mu}^2] - \mu^2 \
    &= \mathbb{E}\left[\frac{1}{n^2} \sum
    {i,j} x^{(i)}x^{(j)}\right] - \mu^2 = \frac{1}{n^2} \sum_{i,j} \mathbb{E}[x^{(i)}x^{(j)}] - \mu^2 \
    &= \frac{1}{n^2} \left( \sum_{i=j} \mathbb{E}[x^{(i)}x^{(j)}] + \sum_{i \neq j} \mathbb{E}[x^{(i)}x^{(j)}] \right) - \mu^2 \
    &= \frac{1}{n^2} \left( \sum_{i} \mathbb{E}[x^{(i)2}] + n(n-1)\mathbb{E}[x^{(i)}]\mathbb{E}[x^{(j)}] \right) - \mu^2 \
    &= \frac{1}{n} \mathbb{E}[x^2] + \frac{(n-1)}{n} \mu^2 - \mu^2 = \frac{1}{n} (\mathbb{E}[x^2] - \mu^2) = \frac{1}{n} \sigma_{\text{x}}^2
    \end{aligned}
    $$

    • 因此,$\text{Var}(\hat{\mu}) = \frac{1}{N} \sigma_{\text{x}}^2$,樣本均值估計量的變異程度隨著樣本數增加而減少

Sample Variance Estimator

  • 樣本變異數估計量定義為

    $$
    \hat{\sigma}^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \hat{\mu})^2
    $$

  • Bias:

$$
\begin{aligned}
\text{E}_{\mathbb{X}}[\hat{\sigma}]
&= \text{E}\left[\frac{1}{n} \sum_i (x^{(i)} - \hat{\mu})^2 \right] = \text{E}\left[ \frac{1}{n} (\sum_i x^{(i)2} - 2\sum_i x^{(i)}\hat{\mu} + \sum_i \hat{\mu}^2) \right] \
&= \text{E}\left[ \frac{1}{n} (\sum_i x^{(i)2} - n\hat{\mu}^2) \right] = \frac{1}{n} \left( \sum_i \text{E}[x^{(i)2}] - n\text{E}[\hat{\mu}^2] \right) \
&= \text{E}[x^2] - \text{E}[\hat{\mu}^2] = \text{E}[(x-\mu)^2 + 2x\mu - \mu^2] - \text{E}[\hat{\mu}^2] \
&= (\sigma^2 + \mu^2) - (\text{Var}[\hat{\mu}] + \text{E}[\hat{\mu}]^2) \
&= \sigma^2 + \mu^2 - \frac{1}{n}\sigma^2 - \mu^2 = \frac{n-1}{n}\sigma^2 \neq \sigma^2
\end{aligned}
$$

  • 因此,$\text{Bias}(\hat{\sigma}^2) = \mathbb{E}[\hat{\sigma}^2] - \sigma^2 = -\frac{1}{N} \sigma^2$,樣本變異數估計量是有偏的

  • 如果要 unbiased,可以改成

    $$
    \hat{\sigma}^2 = \frac{1}{N-1} \sum_{i=1}^{N} (x_i - \hat{\mu})^2
    $$

Consistency

  • Consistency 衡量估計值隨著樣本數增加而收斂到真實值的能力
  • 定義為
    $$
    \lim_{N \to \infty} P(|\hat{\theta}_N - \theta| > \epsilon) = 0, \quad \forall \epsilon > 0
    $$

Decomposing Generalization Error

前面提到,我們有一個模型 $f_N$,把它看作是一個 estimator,可以用上述方法分析這個 estimator 的 Bias 和 Variance

$$
\begin{aligned}
E_\mathbb{X}(C[f_N]) &= E_\mathbb{X}\left( \int (y - f_N(x))^2 P(x, y) dx dy \right) \newline
&= E_{\mathbb{X}, x, y}[\text{loss}(f_N(x) - y)] \newline
&= E_{x}(E_{\mathbb{X}, y}[\text{loss}(f_N(x) - y) | x = x]) \newline
\end{aligned}
$$

在 Linear/ Polynomial Regression 的情況下

  • $\text{loss}$ 是平方誤差

  • $y = f^*(x) + \epsilon$,其中 $\epsilon$ 是高斯雜訊,$\epsilon \sim \mathcal{N}(0, \sigma^2)$

    • $E_y[y|x] = f^*(x)$
    • $\text{Var}_y[y|x] = \sigma^2$

$$
\begin{aligned}
E_{\mathbb{X}, y}[\text{loss}(f_N(x) - y) | x] &= E_{\mathbb{X}, y}[(f_N(x) - y)^2 | x] \newline
&= E_{\mathbb{X}, y}[y^2 + f_N(x)^2 - 2y f_N(x) | x] \newline
&= E_{\mathbb{X}}[f_N(x)^2 | x] + E_y[y^2 | x] - 2 E_{\mathbb{X}, y}[yf_N(x) | x] \newline
&= (Var_\mathbb{X}[f_N(x) | x] + (E_{\mathbb{X}}[f_N(x) | x])^2) + (Var_y[y|x] + (E_y[y|x])^2) - 2 E_{\mathbb{X}}[f_N(x) | x] E_y[y|x] \newline
&= \text{Var}y[y|x] + Var_\mathbb{X}[f_N(x) | x] + (E{\mathbb{X}}[f_N(x) | x] - E_y[y|x])^2 \newline
&= \text{Var}y[y|x] + Var_\mathbb{X}[f_N(x) | x] + (E{\mathbb{X}}[f_N(x) - f^*(x) | x])^2 \newline
&= \sigma^2 + Var_\mathbb{X}[f_N(x) | x] + \text{Bias}[f_N(x) | x]^2 \newline
\end{aligned}
$$

得到

$$
\begin{aligned}
E_\mathbb{X}(C[f_N]) &= E_x\left( \sigma^2 + Var_\mathbb{X}[f_N(x) | x] + \text{Bias}[f_N(x) | x]^2 \right) \newline
\end{aligned}
$$

  • $\sigma^2$: Irreducible Error,無法避免的誤差,因為資料本身有雜訊
  • $E_x(Var_\mathbb{X}[f_N(x) | x])$: Variance,模型對於不同訓練資料集的敏感度
  • $E_x(\text{Bias}[f_N(x) | x]^2)$: Bias,模型預測值與真實值的差異

Regularization

前面有提到,為了避免 Overfitting,任何能夠讓 $f_N$ 更穩定的方式,都可以視為 Regularization

Weight Decay

Occam’s razor

根據前面的 Learning Theory 的結果,兩個模型如果有一樣的 empirical error,應該選擇較簡單的模型,因為較簡單的模型通常有較低的 Variance,能夠更好地 Generalize 到未見過的資料

所以可以加上一個 Term 來去程罰複雜的模型

Model Complexity

  • 模型的 degree 不能直接拿來當作複雜度的衡量,因為它是固定的,不會隨著參數的改變而改變
  • 可以用參數的範數 (norm) 來衡量模型的複雜度

所以我們使用 $w$ 的 norm 作為正則化項,在 $w = 0$ 時,模型最簡單

Ridge Regression (L2 Regularization)

$$
\text{argmin}_{w \in \mathbb{R}^d} \frac{1}{2} | y - (Xw - b)|^2 \text{subject to } |w|^2 \leq T
$$

一般會轉成 unconstrained problem

$$
\text{argmin}_{w \in \mathbb{R}^d} \frac{1}{2} | y - (Xw - b)|^2 + \frac{\alpha}{2} |w|^2
$$

  • $\alpha$: regularization parameter,控制正則化項的權重,$\alpha$ 越大,模型越簡單
  • $b$ 通常不會被正則化,因為 $y$ 的平均值不一定是 0,所以 $b$ 不應該被懲罰

Lasso Regression (L1 Regularization)

$$
\text{argmin}_{w \in \mathbb{R}^d} \frac{1}{2} | y - (Xw - b)|^2 + \alpha |w|_1
$$

  • $|w|1 = \sum{i=1}^{d} |w_i|$
  • L1 regularization 會導致參數稀疏化,很多參數會被壓縮到 0,適合用於特徵選擇
    • 因為 L1 norm 的區域是菱形,會傾向於在坐標軸上取交點,把不重要的參數壓縮到 0
Elastic Net

LASSO 在某些情況下會有限制

  • No Group Selection: 當有一組高度相關的特徵時,LASSO 可能只會選擇其中一個,而忽略其他相關特徵
  • 最大選擇數量: LASSO 最多只能選擇 $N$ 個特徵,當特徵數量 $d$ 遠大於樣本數量 $N$ 時,LASSO 可能無法選擇足夠的特徵來建構模型

Elastic Net 結合了 L1 和 L2 正則化的優點,可以同時達到稀疏化和穩定性的效果

$$
\text{argmin}_{w \in \mathbb{R}^d} \frac{1}{2} | y - (Xw - b)|^2 + \alpha(\beta |w|_1 + (1 - \beta) |w|^2)
$$

  • $\beta \in [0, 1]$: 控制 L1 和 L2 正則化的權重比例,當 $\beta = 1$ 時,等同於 LASSO;當 $\beta = 0$ 時,等同於 Ridge Regression

Validation

  • 調整各種 hyperparameter (e.g. regularization parameter $\alpha$) 可以來控制模型的複雜度,以達到最佳的 Generalization Performance
  • 通常會使用 Cross-Validation 來評估不同 hyperparameter 下模型的表現,選擇在驗證集上表現最好的參數組合

Probabilistic Models

Maximum Likelihood Estimation (MLE)

Linear Regression via MLE

假設 $y = f^*(x) + \epsilon$,其中 $\epsilon$ 是高斯雜訊,$\epsilon \sim \mathcal{N}(0, \beta^{-1})$,則 $f^*(x)$ 可以寫成

$$
f^*(x; w^*) = w^{*\top} x
$$

其中所有資料已經經過 z-normalization,平均值為 0,則

$$
(y | x) \sim \mathcal{N}(w^{*\top} x, \beta^{-1})
$$

所以目標會是找到一個 $w$ 接近 $w^*$

$$
\hat{y} = \argmax_y P(y | x, w) = w^{\top} x
$$

  • $\beta^{-1}$ 跟 $w$ 無關,可以忽略

MLE 的目標是最大化在所有資料點上的似然函數

$$
\text{argmax}_w P(\mathbf{X} | w)
$$

其中

$$
\begin{aligned}
P(\mathbf{X} | w) &= \prod_{i=1}^{N} P(x_i, y_i | w) \newline
&= \prod_{i=1}^{N} P(y_i | x_i, w) P(x_i | w) \newline
&= \prod_{i=1}^{N} P(y_i | x_i, w) P(x_i) \newline
&= \prod_{i=1}^{N} \mathcal{N}(y_i | w^{\top} x_i, \beta^{-1}) P(x_i) \newline
&= \prod_{i=1}^{N} \sqrt{\frac{\beta}{2\pi}} \exp\left( -\frac{\beta}{2} (y_i - w^{\top} x_i)^2 \right) P(x_i) \newline
\end{aligned}
$$

先取 log,可以把乘法轉成加法,且 log 是單調遞增函數,不會影響最大值的位置

$$
\begin{aligned}
&\text{argmax}w \log P(\mathbf{X} | w) \newline
&= \text{argmax}w \sum{i=1}^{N} \log \prod
{i=1}^{N} \left( \sqrt{\frac{\beta}{2\pi}} \exp\left( -\frac{\beta}{2} (y_i - w^{\top} x_i)^2 \right) \right) P(x_i) \newline
&= \text{argmax}w N \sqrt{\frac{\beta}{2\pi}} + \sum{i=1}^{N} P(x_i) - \frac{\beta}{2} \sum_{i=1}^{N} (y_i - w^{\top} x_i)^2 \newline
\end{aligned}
$$

因為前兩項不依賴於 $w$,可以忽略,且 maximize 等同於 minimize 負的東西,所以可以寫成

$$
\text{argmin}w \sum{i=1}^{N} (y_i - w^{\top} x_i)^2
$$

  • 這就是我們之前提到的 Sum of Squared Errors (SSE)
  • 所以 MLE 在這個情況下等同於最小化 SSE,可以讓我們知道為什麼要最小化 SSE

Logistic Regression via MLE

假設 $y \in {-1, 1}$,且
$$P(y=1 | x, w) = \sigma(w^{\top} x) = \frac{1}{1 + \exp(-w^{\top} x)}$$

$$
P(y=-1 | x, w) = 1 - \sigma(w^{\top} x) = \frac{\exp(-w^{\top} x)}{1 + \exp(-w^{\top} x)}
$$

機率可以寫成

$$
P(y | x, w) = \sigma(w^{\top} x)^{y^\prime} (1 - \sigma(w^{\top} x))^{1-y^\prime}
$$

  • 其中 $y^\prime = \frac{y+1}{2} \in {0, 1}$

預測的目標是

$$
\begin{aligned}
\hat{y} &= \argmax_y P(y \mid x, w) \newline
&= \argmax_y {\sigma(w^{\top} x), (1 - \sigma(w^{\top} x))} \newline
&= \text{sign}(w^\top x) \newline
\end{aligned}
$$

MLE 的目標是最大化在所有資料點上的似然函數

$$
\text{argmax}_w P(\mathbf{X} | w)
$$

一樣採用 log 來簡化計算

$$
\begin{aligned}
\log P(\mathbf{X} | w)&= \log \prod_{i=1}^{N} P(x_i, y_i | w) \newline
&= \log \prod_{i=1}^{N} P(y_i | x_i, w) P(x_i | w) \newline
&\propto \log \prod_{i=1}^{N} \sigma(w^{\top} x_i)^{y_i^\prime} (1 - \sigma(w^{\top} x_i))^{1-y_i^\prime} \newline
&= \sum_{i=1}^{N} \left( y^\prime_i x_i - \log(1 + e^{-w^{\top} x_i})\right) \text{[HW]}
\end{aligned}
$$

所以對 $w$ 做偏微並設為 0,可以找到 MLE 的解

$$
\begin{aligned}
\nabla_w \log P(\mathbf{X} | w) &= \sum_{i=1}^{N} [y^\prime_i - \sigma(w^{\top} x_i)]x_i \newline
&= 0 \newline
\end{aligned}
$$

因為沒辦法直接解出來,所以通常會用 Gradient Ascent 來找到最大值

Maximum A Posteriori (MAP) Estimation

在 MLE 的基礎上,加入 Prior knowledge 來進行估計

$$
\text{argmax}_w P(w | \mathbf{X}) = \text{argmax}_w P(\mathbf{X} | w) P(w)
$$

  • $P(w)$: prior distribution over parameters $w$

Linear Regression via MAP

$$
\argmax_w \log[P(\mathbf{X} | w) P(w)]
$$

如果假設 $w \sim \mathcal{N}(0, \lambda^{-1} I)$,則

$$
\begin{aligned}
\log [P(\mathbf{X} | w) P(w)] &= \log P(\mathbf{X} | w) + \log P(w) \newline
&\propto -\sum_i (y_i - w^{\top} x_i)^2 \newline
& \quad + \sqrt{\frac{1}{(2\pi)^D \text{det}(\lambda^{-1} I)}} \exp\left( -\frac{1}{2} (w-0)^\top (\lambda^{-1}I)^{-1} (w-0) \right) \newline
&\propto -\sum_i (y_i - w^{\top} x_i)^2 - \lambda |w|^2 \newline
\end{aligned}
$$

所以 MAP 的目標變成

$$
\text{argmin}_w \sum_i (y_i - w^{\top} x_i)^2 + \lambda |w|^2
$$

  • 這就是 Ridge Regression 的目標函數
  • $P(w)$ 就是 weight decay 的來源

ML and MAP estimation

  • ML estimator $\theta_{ML}$ 是 consistent 的,也就是說當樣本數 $N \to \infty$ 時,$\theta_{ML} \to \theta^*$,只要 $P(y|x; \theta^*)$ 是在我們假設的 $F$ 裡面
  • 在樣本數 ($N$) 足夠大的情況下,跟其他所有也是「準確(一致)」的估計方法相比,MLE 的均方誤差 (MSE) 是最小的。
  • MAP estimator 可以用在 $N$ 較小的情況下,因為它加入了 prior knowledge,可以幫助減少 overfitting 的風險,減少模型的 variance

Bayesian Estimation

把 prediction 和 estimation 合在一起看,一次算出答案

$$
\hat{y} = \argmax_y P(y | x^\prime, \mathbf{X}) = \argmax_y \int P(y, \Theta | x^\prime, \mathbf{X}) d\Theta
$$

  • 考慮所有的 $\Theta$ 來做預測
  • 適合在 $N$ 很小的時候,模型不會 Overfit
  • 不適合 在 $N$ 很大的時候,計算量會很大

Deep Learning - Numerical Optimization & Learning Theory
https://933yee.github.io/notes/2025/12/23/deep-learning-2/
Author
Kevin Lee
Posted on
December 23, 2025
Licensed under