
明白了！Obsidian 对行内公式 `\( ... \)` 的支持有时不如 `$ ... $` 稳定，尤其是在实时预览（Live Preview）模式下，`\(` 和 `\)` 可能被误识别为普通文本。

为了 **100% 兼容 Obsidian**，我把**所有行内公式**统一改用 `$ ... $` 包裹，并在中英文混排时**前后加空格**（例如 `输入向量 $ x \in \mathbb{R}^{2 \times 1} $`），这样 Obsidian 的 KaTeX 渲染引擎一定能精准识别。

下面是完全重写的版本，你可以直接全选复制粘贴到 Obsidian 中。

---

# 📉 矩阵视角下的 Epoch 与损失收敛（Obsidian 专用 $ 定界符版）

> **💡 渲染小贴士**：如果你粘贴后发现公式显示为纯代码，请检查 Obsidian 设置 → 核心插件 → 确保“数学”已开启。本答案所有行内公式均使用 `$...$` 包裹，兼容性最佳。

---

## 1. 问题设定（明确矩阵维度）

我们定义一个单层线性模型（无偏置），让权重矩阵随 Epoch 演化。

- **输入向量**：固定为 $x \in \mathbb{R}^{2 \times 1}$  
  $$ x = \begin{bmatrix} 1 \\ 2 \end{bmatrix} $$

- **初始权重矩阵**：全零初始化，$W \in \mathbb{R}^{2 \times 2}$  
  $$ W_0 = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} $$

- **真实目标值**：  
  $$ y = \begin{bmatrix} 4 \\ 6 \end{bmatrix} $$

- **预测输出**：  
  $$ \hat{y} = W x $$

- **损失函数**（均方误差的一半，标量）：  
  $$ L = \frac{1}{2} \| \hat{y} - y \|^2 $$

- **优化器**：批量梯度下降（Full-batch），学习率 $ \eta = 0.1 $

> 因为整个训练集只有 **1 个样本**，所以 **1 个 Epoch = 1 次参数更新**。这能让你最直观地看到每多训练一轮，矩阵数值和损失如何变化。

---

## 2. 核心梯度公式（先看形状，再看数值）

反向传播计算损失对权重矩阵的梯度，公式如下：

$$ \frac{\partial L}{\partial W} = (\hat{y} - y) \cdot x^T $$

**形状验证（极其重要）**：
- $ (\hat{y} - y) $ 的形状是 $ \mathbb{R}^{2 \times 1} $
- $ x^T $ 的形状是 $ \mathbb{R}^{1 \times 2} $
- 相乘结果 $ (2 \times 1) \times (1 \times 2) = (2 \times 2) $，完美匹配 $ W $ 的形状。

**参数更新规则（SGD）**：
$$ W_{\text{new}} = W_{\text{old}} - \eta \cdot \frac{\partial L}{\partial W} $$

---

## 3. 逐 Epoch 推演（矩阵数值与损失同步下降）

### 🔷 Epoch 0（初始状态）

**当前权重**：
$$ W_0 = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} $$

**前向传播计算预测**：
$$ \hat{y}_0 = W_0 x = \begin{bmatrix} 0 \\ 0 \end{bmatrix} $$

**计算当前损失**：
$$ L_0 = \frac{1}{2} \left[ (0-4)^2 + (0-6)^2 \right] = \frac{1}{2} (16 + 36) = 26 $$

**计算梯度（坡度）**：
$$ \frac{\partial L}{\partial W_0} = (\hat{y}_0 - y) \cdot x^T = \begin{bmatrix} -4 \\ -6 \end{bmatrix} \begin{bmatrix} 1 & 2 \end{bmatrix} = \begin{bmatrix} -4 & -8 \\ -6 & -12 \end{bmatrix} $$

---

### 🔷 Epoch 1

**更新权重（沿着负梯度走一步）**：
$$ W_1 = W_0 - 0.1 \times \begin{bmatrix} -4 & -8 \\ -6 & -12 \end{bmatrix} = \begin{bmatrix} 0.4 & 0.8 \\ 0.6 & 1.2 \end{bmatrix} $$

**前向传播**：
$$ \hat{y}_1 = W_1 x = \begin{bmatrix} 0.4 \times 1 + 0.8 \times 2 \\ 0.6 \times 1 + 1.2 \times 2 \end{bmatrix} = \begin{bmatrix} 2.0 \\ 3.0 \end{bmatrix} $$

**当前损失（已大幅下降）**：
$$ L_1 = \frac{1}{2} \left[ (2-4)^2 + (3-6)^2 \right] = \frac{1}{2} (4 + 9) = 6.5 $$

---

### 🔷 Epoch 2

**梯度计算**（坡度变缓了）：
$$ \frac{\partial L}{\partial W_1} = (\hat{y}_1 - y) \cdot x^T = \begin{bmatrix} -2 \\ -3 \end{bmatrix} \begin{bmatrix} 1 & 2 \end{bmatrix} = \begin{bmatrix} -2 & -4 \\ -3 & -6 \end{bmatrix} $$

**更新权重**：
$$ W_2 = \begin{bmatrix} 0.4 & 0.8 \\ 0.6 & 1.2 \end{bmatrix} - 0.1 \times \begin{bmatrix} -2 & -4 \\ -3 & -6 \end{bmatrix} = \begin{bmatrix} 0.6 & 1.2 \\ 0.9 & 1.8 \end{bmatrix} $$

**前向传播**：
$$ \hat{y}_2 = W_2 x = \begin{bmatrix} 3.0 \\ 4.5 \end{bmatrix} $$

**当前损失**：
$$ L_2 = \frac{1}{2} \left[ (3-4)^2 + (4.5-6)^2 \right] = \frac{1}{2} (1 + 2.25) = 1.625 $$

---

### 🔷 Epoch 3

**更新权重**：
$$ W_3 = \begin{bmatrix} 0.7 & 1.4 \\ 1.05 & 2.1 \end{bmatrix} $$

**前向传播**：
$$ \hat{y}_3 = W_3 x = \begin{bmatrix} 3.5 \\ 5.25 \end{bmatrix} $$

**当前损失（进一步收敛）**：
$$ L_3 = \frac{1}{2} \left[ (3.5-4)^2 + (5.25-6)^2 \right] = \frac{1}{2} (0.25 + 0.5625) = 0.40625 $$

---

### 🔷 Epoch 4

**更新权重**：
$$ W_4 = \begin{bmatrix} 0.75 & 1.5 \\ 1.125 & 2.25 \end{bmatrix} $$

**前向传播**：
$$ \hat{y}_4 = W_4 x = \begin{bmatrix} 3.75 \\ 5.625 \end{bmatrix} $$

**当前损失**：
$$ L_4 = \frac{1}{2} \left[ (3.75-4)^2 + (5.625-6)^2 \right] = \frac{1}{2} (0.0625 + 0.140625) = 0.1015625 $$

---

### 🔷 Epoch 5

**更新权重**：
$$ W_5 = \begin{bmatrix} 0.775 & 1.55 \\ 1.1625 & 2.325 \end{bmatrix} $$

**前向传播**：
$$ \hat{y}_5 = W_5 x = \begin{bmatrix} 3.875 \\ 5.8125 \end{bmatrix} $$

**当前损失（已经非常接近 0）**：
$$ L_5 = \frac{1}{2} \left[ (3.875-4)^2 + (5.8125-6)^2 \right] \approx 0.0254 $$

---

## 4. 收敛趋势总览（纯文本列表，无表格）

随着 **Epoch 数量增加**，权重矩阵和损失的演化轨迹如下：

- **Epoch 0**：$ L = 26 $，梯度范数 $ \approx 7.21 $（最陡峭）
- **Epoch 1**：$ L = 6.5 $，梯度范数 $ \approx 3.61 $（下降了一半）
- **Epoch 2**：$ L = 1.625 $，梯度范数 $ \approx 1.80 $
- **Epoch 3**：$ L = 0.406 $，梯度范数 $ \approx 0.90 $
- **Epoch 4**：$ L = 0.1016 $，梯度范数 $ \approx 0.45 $
- **Epoch 5**：$ L = 0.0254 $，梯度范数 $ \approx 0.225 $

> **核心观察**：每经过 1 个 Epoch，损失近似缩小为原来的 **四分之一**（因为误差向量每次乘以 0.5，平方后就是 0.25 倍）。同时，权重矩阵从全零矩阵逐步“滑向”它的最优解。

---

## 5. 为什么增加 Epoch 一定会收敛？（数学本质）

在这个线性二次型问题中，预测误差的递推公式为：

$$ (\hat{y}_{t+1} - y) = (1 - \eta \|x\|^2) \cdot (\hat{y}_t - y) $$

代入具体数值 $ \eta = 0.1 $，$ \|x\|^2 = 1^2 + 2^2 = 5 $，得到衰减因子：

$$ 1 - 0.1 \times 5 = 0.5 $$

**这意味着**：
- 每多训练 1 个 Epoch，误差向量 $ \hat{y} - y $ 就被压缩为原来的一半。
- 当 $ t \to \infty $ 时，误差向量趋近于 $ \begin{bmatrix} 0 \\ 0 \end{bmatrix} $，梯度矩阵趋近于零矩阵 $ \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} $。
- 此时参数更新量 $ \eta \times \text{梯度} \to 0 $，矩阵 $ W $ 彻底静止 —— 这就是 **矩阵收敛** 的严格数学定义。

**本例的终极极限**：
$$ W_{\infty} = \begin{bmatrix} 0.8 & 1.6 \\ 1.2 & 2.4 \end{bmatrix}, \quad L_{\infty} = 0 $$

你可以对比 Epoch 5 的 $ W_5 $，它已经非常接近这个极限矩阵了。

---

## 6. 深度学习筑基总结（记住这三句话）

1. **Epoch 是“扫荡数据”的次数**：每多一轮，模型就多看一遍所有样本，权重矩阵就沿着梯度方向挪动一步。
2. **收敛是“坡度归零”**：随着 Epoch 增加，矩阵逼近最优解，梯度矩阵趋近于零矩阵，参数更新幅度自动趋近于零。
3. **验证集决定何时停**：虽然理论上要无穷多 Epoch 才能完全归零，但实际中当验证集损失不再下降（Early Stopping）时，我们就认为模型已经收敛了。

现在这段内容已经完全适配 Obsidian 的渲染引擎了。如果某个矩阵仍然显示异常，只需在矩阵前后各空一行（如上面的格式），Obsidian 的块级公式 `$$...$$` 是绝对稳定的。