MODULE 01 — ATLAS & SELF-CHECK

全景地圖:主線十六關,其實只有一個運算在重複

這關不教新東西。它把前面十五關擺成一張圖 —— 線性代數把一份資料壓成一張矩陣 C機率統計讓那張 C 能算機率、 最佳化把它變成要被最小化的目標 —— 回答那些「跨主題才會冒出來」的問題,用十八題測驗確認你不是「看懂了」而是「真的懂了」, 最後誠實列一張這間實驗室還沒教的清單。

整條主線,一句話

一句話骨架

內積問「你們同方向嗎」 → 拿一欄資料跟自己內積,就是變異數 → 拿兩欄互相內積,就是共變異數 → 把所有欄兩兩配對排成方陣,就是共變異數矩陣 C → 問 C「哪個方向最散」, 答案是它的特徵向量,那件事的名字叫 PCA

機率統計接手:把「一堆點」換成「一個分布」—— 原本 C 只是描述形狀的一張帳, 補上機率之後它可以算機率(某個範圍裡到底會有多少比例的點); 再把它反過來當一把尺,量出來的就是馬氏距離

最佳化再接手:把 C 從「描述」變成「要被最小化的目標」—— wCw 從此不是讀數而是成本; 再加上「錢要用完、不能做空」這些約束,畫出來就是有效邊界

線性代數 —— 把一份資料壓成一張矩陣

機率統計 × 線代 —— 讓那張矩陣能算機率

最佳化 —— 把那張矩陣當成要壓低的成本

整條線只有一個動作在重複:兩個東西相乘再加總。變的只是「誰跟誰」、「除以幾」、 以及「你想把算出來的那個數字變大還是變小」。

整份教材的樞紐:同一張 C 有三種用法

而且本實驗室每一種用法各給了一整關:

三個式子裡的 C 是同一個 C。 變的只有兩件事:你把它夾在中間還是取反矩陣、你要最大化還是最小化。 這一句話就是整份教材的骨頭,其他都是肉。

wᵀCw 不是最佳化 03 關發明的 很多人在最佳化 03 關第一次看到 σp2 = wCw 會覺得它是天上掉下來的。它的出生地是機率統計 03 關: 那一關從最小的例子開始問「Var(aX + bY) 等於多少」, 攤開來是三項 —— a2Var(X) + b2Var(Y) + 2ab·cov(X,Y) —— 第三項就是那個「交叉項」。把 a, b 收成向量 w、把三項的係數排成方陣,這一整串逐格就是 wCw機率統計 03 #matrix-form 有逐格對照)。 所以它不是新公式,而是「標準差不能相加」這句老話的正式版02 關欠的那筆帳)。
走到這裡最容易糊掉的一件事 十五關跑完,最常打結的不是某一個公式,而是同一個符號在不同主題裡指的東西不一樣。 最典型的一題:特徵向量到底是「矩陣的」還是「資料集的」? 04 關算的是一個 2×2 動作矩陣的特徵向量、05 關算的是一堆資料點的主軸、 機率統計 05 關又拿同一組向量當橢圓的軸 —— 這三個看起來完全不像同一件事。下一節就是專門來拆這個。

特徵向量是矩陣的,還是資料集的?

直接回答

特徵向量只有「方陣」才有。資料集本身沒有特徵向量。

「特徵向量」這個問題只有在你能寫下 Av = λv 的時候才成立 —— 左邊是「矩陣吃一個向量、吐出一個同維度的向量」。n×2 的資料表沒辦法吃自己的向量: 它吃一個 2 維向量會吐出 n 維的東西,形狀就對不上,方程式根本寫不出來。

所以:一份資料集必須先被壓成一個方陣,才輪得到特徵向量。壓法不只一種:

  • 共變異數矩陣 C = XcXc / (n−1) —— 最常見,特徵向量=資料主軸(PCA)
  • Gram / 核矩陣 XX(或 XX)—— 沒去中心化的版本,特徵向量是「含原點位置」的主方向
  • 圖的鄰接矩陣 —— 節點 × 節點,特徵向量=節點重要度(PageRank 家族)
  • 馬可夫轉移矩陣 —— 狀態 × 狀態,λ=1 的特徵向量=跑久了會停在哪的穩態分佈

看出來了嗎?這四個都是方的,而且都是「把一份資料折成一張兩兩關係表」。 資料集沒有特徵向量,但資料集的摘要表有。

同一條式子 Av = λv,兩種讀法

這是 04 關跟 05 關看起來像兩件事的真正原因:矩陣可以是「一個動作」,也可以是「一份資料的摘要」。 式子完全一樣,但每個符號的物理意義不同。

你在問什麼 矩陣=一個動作(04 關那種) 矩陣=一份資料的摘要(05 關那種)
這矩陣哪來的? 你(或物理定律)寫下來的規則:一步之後系統怎麼變、一幀之後座標怎麼變。 資料算出來的:拿去中心化後的資料表,每兩欄做一次內積、除以 n−1
它在幹什麼? 把輸入向量搬到別的地方 —— 拉長、壓扁、剪歪、轉一圈。是個函數。 什麼都不搬。它只是一張帳:每一格記著「這兩欄有多常一起動」。
Av = λv 讀成什麼? v 這個方向丟進去,出來還在同一條線上,只是長度乘了 λ。」 v 這個方向上,資料的散開程度是 λ,而且這個方向不會跟其他方向互相污染。」
λ 的物理意義? 拉伸倍率(無單位)。>1 放大、<1 縮小、負的翻面、=1 原地不動。 那個方向上的變異數(單位=原單位的平方)。一定 ≥ 0,因為變異數不會是負的。
v 的意義? 不轉向的方向 —— 這個動作作用在它身上時懶得改它的方向。系統的「骨架」。 資料最散開的方向 —— 把頭歪到這個角度看資料雲,它看起來最長。
一定對稱嗎?特徵向量互相垂直嗎? 不一定。一般矩陣的特徵向量可以歪歪地擠在一起(甚至只有一個)。 一定對稱(因為 cov(x,y)=cov(y,x)),所以特徵向量保證互相垂直 —— 這就是主軸能當新座標軸的原因。
λ 可能是複數嗎? 會。純旋轉就沒有實特徵向量 ——「沒有任何方向不被轉走」。見 04 關 不會。實對稱矩陣的特徵值保證是實數,而且保證 ≥ 0。所以 PCA 永遠算得出答案。
典型用途 PageRank 排名、馬可夫穩態、控制系統穩定性(看 |λ| 有沒有超過 1)、振動模態、對角化加速矩陣次方 PCA 降維、因子模型(金融的風險因子)、eigenfaces、白化(whitening)、共線性診斷
為什麼這件事值得單獨講 工程上這兩種矩陣的來源完全不同:一個是你寫的 code(動作),一個是你收的 log(資料摘要)。 但它們共用同一個求解器。你在 numpy 裡打 np.linalg.eigh(C) 的時候, 那個函式根本不知道 C 是「一個轉場動畫」還是「三十天的股價共變異數」—— 它只知道你給了它一個對稱方陣。「先把問題壓成方陣」才是真正的功夫,特徵分解只是最後一行。
機率統計那組又給 C 加了第三個身分 上面兩欄講的是「動作」跟「資料摘要」。機率統計 01 關再補一刀: 你算出來的那張 C樣本的(用手上這十二個人算的), 背後還有一張你永遠看不到的母體矩陣 Σ (大寫 sigma,不是加總符號,指的是「全世界所有人」那張表)。 兩張不一樣,而且差多少跟樣本數有關 —— 這就是為什麼最佳化 03 關的有效邊界「畫得出來,但不保證明年還在原地」: C 本身是估出來的(機率統計 01 #estimate)。 符號約定記一次就好:x̄、s2C樣本算出來的數字,μ、σ2、Σ母體的真值。

從資料表到主軸 —— 以及 C 的另外兩條出路

左邊那一直線是 05 關那一整套操作的形狀變化史;右邊接的是後面兩組從同一張 C 分出去的兩條路。 注意方陣是在第三步才出現的 —— 在那之前,「特徵向量」這個詞是無效的。

這張圖在幹嘛

你會看到什麼:左邊一直線往下是線性代數的主流程青=原始資料表藍=去中心化後橘=共變異數矩陣 C);右邊是同一張 C 的三種用法紫=看形狀,連 05青=當尺,連 12桃=當目標,連 10/15,最下面多一張是加了約束之後的有效邊界)。 每張卡右上角的 n × 2 這種標記讀作「幾列 × 幾欄」;箭頭旁的字是那一步在做什麼。 左下角那張虛線框不是流程的一步,是讀圖說明。

你可以動什麼:這張是靜態流程圖,沒有滑桿。但右邊四張卡跟那條紫色虛線都可以點, 點下去直接到對應的那一關(滑上去會先顯示它要帶你去哪)。

要看出什麼:兩件事。第一, 綠色那條分界線以上全是長方形(n 列 × 2 欄), 以下全是「已經被壓成方陣」之後的世界 —— 所以「特徵向量」這個詞在前兩張卡上根本無效。 第二,右邊三條分岔的起點是同一張卡:差別只在你對 C 做什麼(夾在中間 / 取反矩陣 / 當成要壓低的成本)。

左邊的形狀標註是重點:n × 2 → n × 2 → 2 × 2。降維那個「維」是欄數不是列數; 而變成方陣的那一刻,欄數就決定了矩陣邊長。 那條紫色虛線從「去中心化後」那張卡直接抵達主軸, 省掉「壓成方陣」那一步(去中心化還是得做,所以它不是從最上面那張卡出發), 那條路的名字叫 SVD,就在第 07 關

那條紫色虛線捷徑:SVD SVD(奇異值分解)可以直接吃長方形的資料表,不用先做成方陣 —— 而它算出來的右奇異向量,跟共變異數矩陣特徵分解算出來的主軸, 在數學上是同一件事的兩種算法(而且 SVD 的數值穩定性更好,實務上 sklearn 的 PCA 底層就是走 SVD)。 第 07 關A = UΣV 拆成 「轉一下、拉一下、再轉一下」三個動作, 並且讓你親眼看到 σ12 ÷ (n−1) 真的等於 λ107 #vs-eigen)。 唯一的前置條件:要看懂 UV 是什麼, 得先有「正交矩陣 Q」這個詞 —— 所以順序是 06 → 07。 順帶把最容易誤讀的符號釘死:A = UΣV 裡的 Σ 是「一個對角線放奇異值的矩陣」, 跟上面那個「母體共變異數矩陣 Σ撞名但完全無關,也跟加總符號無關。

同一個東西,三個圈子的三種說法

為什麼你看幾何的解釋跟看統計的解釋會覺得「這是兩門課」?因為它們在講同一件事, 但用的名詞、單位、關心的問題都不同。下面分成三張表把三種語言並排放 (一張二十八列的表沒人讀得完)—— 滑過任一列會整列高亮,方便你橫著讀完一個概念。

先講清楚三組撞名的符號,不然三張表會越看越亂
  • σ 有兩個意思。前面線性代數與機率統計裡的 σ標準差; 07 關的 σi奇異值(橢圓第 i 根半軸有多長)。 兩者只有在「對去中心化資料表做 SVD」時才有換算關係: σi2 ÷ (n−1) = λi
  • λ 有兩個意思。04 關的 λ特徵值(那個方向上的變異數); 最佳化 02 關的 λLagrange 乘子(約束鬆一單位能換到多少改善)。 兩者完全無關,純粹是希臘字母被用完了。看到 λ 先問「這裡在講方向還是講約束」。
  • Σ 有三個意思:加總符號母體共變異數矩陣 (對應樣本的那張 C)、以及 SVD 裡裝奇異值的對角矩陣。 看上下文,不要看字形。

還有一組不是撞名、但更常搞混: s2C從手上這批樣本算出來的μσ2Σ母體的真值(你永遠看不到,只能估)。 機率統計 01 #sample-vs-pop 整節就在講這件事。

表一 · 線性代數(01–07)

這十五列的共同點:全部只需要「長度」跟「夾角」。沒有機率,也沒有「要變好」。 表裡的 rank(A)06 關, 「這個矩陣的輸出實際上撐得開幾維」)、Q正交矩陣06 關,只轉不拉不歪,所以 QQ = II 是「什麼都不做」的那個單位矩陣)。

概念 幾何看(形狀、影子、角度) 統計看(平均、離差、機率) 工程看(訊號、風險、系統)
內積 u·v u 打在 v 上的影子長度」乘上「v 的長度」。同向為正、垂直為 0、反向為負。 兩欄離差乘積的總和 —— 也就是「一起偏高/一起偏低」累積下來的票數。 相似度分數。embedding 檢索、attention 權重、匹配濾波器(matched filter)全是它。
長度平方 u·u 畢氏定理:每個座標平方加起來,就是斜邊長的平方。 離差平方和(SS)。除以 n−1 就變成變異數。 訊號能量、L2 loss、平方誤差 —— 所有「越大越糟」的懲罰項。
中心化 x − x̄ 把整團資料的重心平移到原點,方向資訊留下、位置資訊丟掉。 只保留「比平均高多少 / 低多少」,把絕對水位拿掉。 去直流(DC offset)、baseline 校正、去掉大盤只留個股超額報酬。
變異數 σ2 中心化向量長度的平方,再除以 n−1 平均離差平方 —— 資料有多散。 訊號功率、波動率的平方、雜訊量。
標準差 σ 中心化向量的長度,除以 √(n−1) 回到原單位的散開程度,可以直接跟原始數字比。 誤差棒、延遲抖動(jitter)、年化波動率 —— 講給人聽的那個風險數字。
共變異數 cov(x,y) 兩個中心化向量的內積,除以 n−1 兩欄一起偏離平均的程度,有正負號。 對沖配對、感測器串擾、兩路訊號的同步程度。
相關係數 r 兩個中心化向量的夾角餘弦 cos θ,所以必然落在 −1 到 1。 把共變異數除掉兩邊標準差,變成無單位、可跨欄比較的強度。 特徵去重(|r| > 0.9 就砍一個)、指標互相關、多重共線性警報。
共變異數矩陣 C 一顆橢圓:長軸方向=資料最散的方向,胖瘦=兩軸的散開比例。 所有欄兩兩配對的共變異數表;對角線是各欄自己的變異數。 投資組合風險矩陣、Kalman 濾波的不確定度、白化用的那個矩陣。
特徵向量 v 被這個矩陣作用後方向不變的那條線。 (對 C 而言)資料最散開的方向,也就是主成分。 PageRank 的排名向量、結構的振動模態、eigenfaces 的那些臉。
特徵值 λ 在那個方向上被拉長幾倍(無單位的倍率)。 (對 C 而言)那個方向上的變異數,一定 ≥ 0。 穩定性判準(|λ| > 1 就會發散)、能量佔比、矩陣條件數。
投影 projv(u) 正上方照光時,u 落在 v 那條線上的影子(帶正負號)。 x 能解釋掉 y 的那一份 —— 迴歸的擬合值。 降維後的座標、beamforming、最小平方解、訊號分解成基底。
正交 夾角剛好 90°,內積 0,影子長度是 0。 線性上完全不相關 —— 知道一個,對猜另一個一點幫助都沒有。 可以獨立轉的旋鈕、互不串擾的通道、不共線的特徵(模型才不會爆)。
rank(A) 這個矩陣的輸出實際上撐得開幾維。2×2 的秩 2 = 還是整個平面,秩 1 = 整個平面被壓成一條線。 資料表真正獨立的欄數。三欄裡有一欄是另兩欄相加,秩就是 2,而 C 會有一個 λ = 0 多重共線性診斷、矩陣可不可逆、系統能控制幾個自由度、低秩壓縮能砍到幾層。
正交矩陣 Q 只轉不變形的動作:所有長度不變、所有夾角不變。反矩陣就是轉置(QQ = I)。 換一組新的座標軸(每軸互相垂直、長度 1)來看同一份資料 —— 總變異數完全不變,只是重新分配到各軸上。 旋轉與反射、換基底、QR 分解(數值穩定的解法)、白化後的那個旋轉、姿態表示。
奇異值 σi 單位圓被這個矩陣壓成橢圓後,橢圓各半軸的長度σ1 是最長的那根。 對去中心化資料表 Xc 而言,σi2 ÷ (n−1) 就是第 i 個特徵值 λi,也就是那一軸的變異數。 條件數 σ1n(數值穩不穩)、低秩壓縮留幾層、雜訊底噪該在哪裡截斷。

表二 · 機率統計 × 線代(01–05)

這一組只做一件事:把「一堆已經發生的點」換成「一台會生點的機器」。 所以這九列的「統計看」那一欄,重點永遠是你手上的數字 vs 你想知道的真值之間那道縫。

概念 幾何看(形狀、面積、切面) 統計看(樣本 vs 母體) 工程看(訊號、風險、系統)
隨機變數 X 畫出來不是一顆點,是整條軸上的一片濃淡 —— 哪裡濃就是哪裡常出現。 一個還沒發生的數字,只知道「哪些值多、哪些值少」。已經發生的那些叫樣本 x1xn 一次 API 呼叫的延遲、一顆感測器的讀值。你手上的 log 是它的樣本,它本人是那個「機制」。
期望值 E[X] 密度那塊面積的重心橫座標 —— 剪下來用一根手指頂住,頂得起來的那個位置。 長期平均會收斂到的那個數。它是分布的性質(寫成 μ),不是資料的統計量(那個叫 x̄)。 無限次重跑之後的平均延遲/平均損益。不是最常見的值,也不保證真的發生過。
母體 vs 樣本 母體是整條密度曲線,樣本是從曲線底下隨機灑出來的有限幾顆點 x̄, s2, C 是拿來 μ, σ2, Σ 的。÷(n−1) 就是為了讓估計平均起來不偏低。 你手上永遠只有樣本(上週的 log),要決策的卻是母體(下週的表現)。A/B 測試整套都在打這一仗。
標準誤 SE = σ/√n 把「平均數」自己也當成一個會抖的量 —— 它的分布比原始資料窄 √n 不是「資料有多散」(那是 σ),而是你算出來的那個平均有多不可靠 誤差棒、信賴區間、「這個 5% 提升是真的還是雜訊」。要把不確定砍半得多收 4 倍資料。
密度函數 f(x) 一條曲線,「面積」才是機率;高度只是「這附近有多擠」,單位是「每單位 x 的機率」。 直方圖把長條寬度縮到 0、同時把高度改成「比例 ÷ 寬度」的極限。整條曲線下面積 = 1。 延遲分布圖;「bucket 大小換一下結論就變」的那個坑 —— 改看密度就跟 bucket 無關了。
z 分數 z = (x−μ)/σ 把整條軸先平移再縮放:中心落到 0,一個標準差剛好一格。 「離平均幾個標準差」,無單位,所以身高跟考試分數可以直接比。|z| > 2 大約是最外面 5%。 異常門檻、指標標準化(05 關 PCA 前處理就是逐欄算 z)、跨服務比較不同量級的抖動。
Var(X+Y) 的交叉項 2cov 兩根向量相加的長度平方 —— 餘弦定理裡那個 2|u||v|cos θ 就是交叉項本人。 變異數不能直接相加,除非 cov = 0。正相關比各自加起來更抖,負相關會互相抵銷。 兩個服務串起來的總延遲抖動、投資組合的分散效果、雙路備援到底有沒有真的變穩。
聯合分布與獨立 f(x,y) 從「一條曲線」升級成一座山。獨立=這座山剛好是兩條曲線相乘撐出來的,每一刀切面形狀都一樣。 獨立的定義是 f(x,y) = f(x)f(y),比「cov = 0」強得多:cov 只看線性,獨立管所有形狀。 Naive Bayes 敢把機率相乘的那個假設、特徵能不能分開建模、快取命中與延遲是不是真的無關。
馬氏距離 dM 先把資料雲揉成正圓(除掉各方向的散開程度),再量普通直線距離。等距線是橢圓而不是圓。 「離平均幾個標準差」的多維版本 —— 用 C−1 同時校正各方向的尺度相關。 離群偵測門檻、Kalman 濾波的殘差檢定、感測器異常判定、多指標一起看的漂移警報。

表三 · 最佳化(01–03)

最佳化把前面所有讀數翻轉一次:原本是「算出來給你看」,現在是「要被推到最好」。 同一個 wCw,在機率統計 01–05 是讀數、在最佳化 01–03 是成本。

概念 幾何看(地形、等高線、相切) 統計看(要被最小化的那個量) 工程看(訊號、風險、系統)
目標函數與可行域 目標是一片地形(等高線圖),可行域是地圖上被允許站的那塊區域。最優解=區域裡最低的那一點。 把「要變好」寫成一條明確的式子:組合變異數、殘差平方和、負對數概似。 loss function 與 constraint。沒寫下目標函數的「調參數」其實是瞎試,因為連「更好」都還沒定義。
梯度 f 站在地形上,指向最陡上坡的那根箭頭;長度=有多陡。往反方向走就是下降。 沒有約束時,最低點的必要條件是 f = 0(地形變平)。但那只是必要,鞍點也滿足。 gradient descent 每一步的方向、backprop 算的東西;學習率就是「這根箭頭要走多長」。
Lagrange 乘子 λ 相切時的那個比例:最優點上目標的梯度跟約束的梯度指同一條線,λ 是兩者的長度比。 把「有約束的最佳化」改寫成無約束的 f − λg,就能繼續用「梯度為 0」那一套。 影子價格:約束鬆一單位,目標能改善多少。預算多一塊錢值不值得,λ 就是答案。(跟 04 關的特徵值 λ 無關。)
約束最佳化 wCw 在一條線或一顆球面上找二次型的極值 —— 答案落在「等高線剛好碰到約束」的那一點。 在「權重加起來等於 1」之下把組合變異數最小化,就是最小風險組合;換成最大化就回到 PCA。 投資組合最佳化、beamforming 權重、正則化下的最小平方、任何「資源有限下求最好」。
三張表只有一件事 橫著讀完會發現:「幾何欄」永遠在講長度、角度跟地形,「統計欄」永遠在講平均、離差跟不確定, 「工程欄」永遠在講能量、風險跟決策。三欄之所以能一一對應,是因為 「除以 n−1 的內積」=「長度與角度」=「一起動的程度」 從頭到尾是同一個運算 —— 機率統計 01–05 只是把它從「已發生的點」搬到「會生點的機器」上,最佳化 01–03 只是把它從「讀數」變成「成本」。 你不是學了二十八個概念,你是學了一個運算的二十八種問法。

什麼情況下該掏出哪個工具

前面十五關都是「這個工具怎麼運作」。這張表反過來:先給情境,再給工具。 真實工作裡你拿到的是情境,不是題目。表格分三段 —— 機率統計 01–05 那一段特別值得看,因為那些大多是「你其實已經在做、但一直做得不太對」的事。

情境(你真正想知道的事) 該用 為什麼是它 回去看
線性代數(01–07)—— 把一份資料壓成一張 C
兩個使用者品味像不像,但一個給分很寬鬆(都打 8~10 分)、一個很嚴格(都打 3~5 分) cos 相似度 內積會被「打分大方」這件事放大。除掉兩邊長度之後只剩方向,寬鬆度就被消掉了。 01 #cos
想知道一段訊號裡「跟某個已知模式重合的部分」有多少,並把它抽出來 投影 投影就是「只保留 v 方向那一份」,剩下的垂直分量正好是沒被解釋掉的殘差 01 #proj
想確認兩個特徵是不是真的互不相干、可以分開調整而不互相影響 內積是否為 0(正交) 內積 0 = 幾何上垂直 = 統計上不相關。這是「兩顆旋鈕互不干擾」的數學定義。 01 #ortho
兩個班平均分一樣,你想知道哪一班「穩」、哪一班有人特別高特別低 標準差 σ 平均數看不出散開。標準差跟原始分數同單位,可以直接說「上下大概 12 分」。 02 #std-vs-var
想知道兩檔股票能不能互相避險(一個跌的時候另一個會不會撐住) 共變異數(要的才有效) 避險要的是「反向一起動」。共變異數保留正負號跟量級,這裡的符號就是答案 03 #lab-cov
「氣溫 vs 冰品銷量」跟「氣溫 vs 空調用電」,哪一組關係更緊? 相關係數 r 兩組單位完全不同(杯 vs 度),共變異數的數字沒法比。r 無單位,才能跨組比較。 03 #corr
手上兩個特徵各自看都正常,但你懷疑「它們合起來」才是真正在動的東西 共變異數矩陣的特徵向量 單欄變異數只看得到 x 軸、y 軸兩個方向。特徵向量會找出斜的那個真正主方向。 05 #meaning
資料有 30 個欄位,但你直覺覺得它們其實在講三件事 PCA PCA 會告訴你前幾軸吃掉多少變異數比例。若前 3 軸就 90%,你的直覺就被量化證實了。 05 #reduce
要餵進 PCA 的欄位單位差很多(年薪是六位數、年資是一位數) 先標準化,再 PCA 不標準化的話主軸幾乎一定指向「年薪」,因為它的數字大 —— 那是單位造成的假訊號。 05 #scale-trap
一個系統反覆套同一個規則跑很多輪,想知道它最後會停在哪 λ = 1 的特徵向量(穩態) 不斷相乘之後,最大 |λ| 的方向會吃掉一切。轉移矩陣的最大 λ 恰好是 1,那個方向就是終點。 04 #power
想知道這個系統會不會跑久了就爆掉(發散) 看最大 |λ| 是否 > 1 每跑一輪,該方向就乘上 λ。|λ| > 1 是指數爆炸、< 1 是指數衰減、= 1 是持平。 04 #power
同一個線性動作要套 1000 次,直接乘 1000 次太慢 對角化 換到特徵向量座標系,動作就退化成「每軸各乘自己的 λ」。1000 次只是把 λ 取 1000 次方。 04 #diag
PCA 跑出來兩軸的變異數比例是 52% / 48% 別硬解讀主軸 兩個 λ 接近時主軸方向極度不穩定,資料抖一下就轉九十度。這種時候「主軸的意義」是雜訊。 05 #scan
三個特徵裡有一個剛好是另兩個加起來的,模型一跑係數就亂飛 算矩陣的秩 秩 < 欄數 = 有一欄沒帶新資訊。這時共變異數矩陣會有一個 λ = 0、而且不可逆,任何要用 C−1 的方法都會當場翻車。 06 #rank
想換一組新座標軸來看同一份資料,但不希望長度跟角度被扭曲 正交矩陣 Q Q 只轉不變形(QQ = I),所以總變異數一滴都不會變 —— 「換角度看」跟「改動資料」因此可以徹底分開。要轉回去也只是轉置。 06 #ortho-matrix
資料表 5000 列 × 300 欄,共變異數矩陣又大又算得不穩 直接對資料表做 SVD SVD 不用先壓成方陣(少一次平方,條件數不會被惡化),右奇異向量就是主軸。sklearn 的 PCA 底層走的就是這條。 07 #vs-eigen
機率統計 × 線代(01–05)—— 讓那張 C 能算機率
手上只有五筆資料,算出來的標準差能不能信 標準誤 SE = s/√n 標準差講的是「資料有多散」,你問的是「我這個估計有多不穩」—— 那是另一個量。n = 5 的時候 SE 大到幾乎任何結論都講不得;而 SE 只跟 √n 走,想把不確定砍半得收 4 倍資料。 機率統計 01 #estimate
手上這批到底是「全部」,還是「抽出來的一部分」 決定 ÷n 還是 ÷(n−1) 是全部(母體)就 ÷n;是抽出來的(樣本)要 ÷(n−1),否則會系統性低估 —— 因為你的離差是拿「樣本自己的平均」量的,而那個平均已經被這批資料拉到最貼合的位置了。 機率統計 01 #sample-vs-pop
一次實驗看到「提升 5%」,要不要相信 平均數自己的分布(CLT) 樣本平均本身是隨機變數;而且不管原始資料長什麼形狀,它都會逼近常態、寬度是 σ/√n有了這個形狀才回答得出「5% 落在雜訊範圍內嗎」 機率統計 02 #clt
直方圖的長條寬度換一下,結論就跟著變 改看密度函數 長條高度是「這個 bucket 裡有幾筆」,會隨 bucket 寬度亂跳。密度把高度除以寬度,於是面積才是機率,跟你怎麼切 bucket 無關。 機率統計 02 #pdf
要跟人解釋「這個值算不算異常」 單欄看 z 分數;多欄且相關看馬氏距離 z 把「離平均幾個標準差」講成一個無單位的數字,一句話就講完。但兩個欄位本身相關(資料雲是斜橢圓)時,逐欄算 z 會同時漏抓真異常又誤判正常點 —— 那時要用 C−1 一起校正尺度與相關。 機率統計 02 #z機率統計 05 #mahalanobis
兩個服務串起來,總延遲的波動有多大 Var(X+Y) 的三項,別漏交叉項 直覺會把兩邊的標準差相加,那是錯的。正確的是變異數相加再加 2cov:兩邊常一起塞車就比你想的更抖,一邊塞另一邊反而順就會互相抵銷。 機率統計 03 #variance-add
幾檔資產各自都很抖,合起來會不會反而比較穩 wCw,看交叉項的正負 這正是交叉項在幫忙的情況。只要相關不是 +1,組合波動就一定小於「各自波動的加權和」—— 分散效果不是玄學,就是那個 2ab·cov 在扣分 機率統計 03 #portfolio
模型能不能假設特徵獨立(例如 Naive Bayes 直接把機率乘起來) 看聯合分布,不是看 cov cov = 0 只保證沒有線性關聯;獨立要求 f(x,y) = f(x)f(y),管的是所有形狀。一個馬蹄形的關係可以 cov = 0 卻強烈相依,這時把機率相乘會錯得很難查。 機率統計 04 #independent
已經知道身高是 175,想問體重的合理範圍 條件分布(在山上切一刀) 逐欄看邊際分布會漏掉「同時發生」這件事。要問的是「x 已經是這個值的條件下,y 這個值常不常見」—— 那是把聯合分布這座山切一刀的切面。 機率統計 04 #conditional
要判斷一筆新資料算不算異常,但兩個欄位本身就高度相關(資料雲是斜橢圓) 馬氏距離 用普通直線距離會把「沿著橢圓長軸的正常點」誤判成離群,又漏掉「往窄邊偏一點」的真異常。C−1 會先把橢圓拉回正圓再量。 機率統計 05 #mahalanobis
最佳化(01–03)—— 把那張 C 當成要壓低的成本
調參數調不出來、卡在一個下不去的地方 先問目標函數是不是凸的 凸的地形只有一個谷底,往下走一定走到全域最優;非凸的地形有一堆局部谷底,換個起點就給你不同答案。「調不出來」跟「已經最好了」在非凸地形上長得一模一樣 —— 先確認凸性,再怪自己。 最佳化 01 #convex
梯度算出來不是 0,但我確定這就是最優解 有約束時的條件是相切,不是梯度為 0 「梯度為 0」只在無約束時成立。被約束擋住時,最優點的梯度通常不是 0,而是被約束的法向量抵住 —— 幾何上就是等高線跟約束曲線剛好相切。 最佳化 02 #tangent
預算多給一單位,能換到多少改善(值不值得) Lagrange 乘子 λ(影子價格) λ 不是計算的副產品,它就是那個答案:約束放寬一單位,最優目標值改善 λ。λ 很小=這條約束其實沒卡住你,加預算是浪費。 最佳化 02 #multiplier
手上三檔股票,要決定各放多少比例,讓總波動最小 在約束下最小化 wCw 這不是「挑最好的一檔」而是「挑配置」。目標是二次型(跟 PCA 同一個東西),約束是「權重加起來等於 1」,解落在有效邊界上 —— 而那是一整條線,不是一個點。 最佳化 03 #frontier

自我驗收:十八題

每題考的是理解,不是背誦 —— 所有錯的選項都是「聽起來很順、但把兩個概念搞混」的版本。 選了立刻給回饋。答錯不會鎖死,可以再選;但分數只算第一次就對的題數

這區怎麼用 十八題按課程順序排:Q1–Q8 考 01–05Q9–Q11 考 06–07Q12–Q16 考機率統計 01–04Q17–Q18 考最佳化 02–03。 每題點一個選項就立刻給回饋:答對會鎖住並解釋「為什麼是它」; 答錯不鎖,會告訴你「你可能把哪兩個概念搞混了」,並附一條回去重玩的連結。 十八題全解開之後,最上面那條計分列會列出你第一次就答錯的那幾關 —— 那份清單就是你的複習表。

費曼測試:講給國中生聽

規則只有一條:不准用專有名詞解釋專有名詞。 「共變異數就是衡量兩個隨機變數共同變異的程度」——這種句子零分,它只是把字拆開又裝回去。 先自己在心裡講一遍,再點卡片翻面比對。

這區怎麼用 二十張卡,正面是名詞 + 符號 + 它出自哪一關,背面是「講給國中生」的版本。 正確用法是先自己講一遍、再點開比對(點卡片任一處,或用鍵盤 Enter/空白鍵翻面)—— 直接翻答案等於沒測。卡片按課程順序排,而符號與關卡標記的顏色就是分組, 所以這排卡片本身也是一張分組圖例: 藍=線性代數(01–07)青=機率統計 × 線代(01–05)紫=最佳化(01–03)。 往下滑就是照著課程順序複習一遍。

如果你翻開背面的反應是「我剛才講的比這個爛」,那很正常,這一頁就是拿來當對照組的。 如果反應是「這句我根本沒想到」,那個詞就是你的漏洞 —— 回去那一關再玩一次互動區。

你現在會什麼了

能力寫,不是用名詞寫 —— 名詞背得出來不算會。

線性代數:把一份資料壓成一張矩陣

機率統計 × 線代:讓那張矩陣能算機率

最佳化:把那張矩陣當成要壓低的成本

跨主題:一句話帶走整份教材

下一段路:這間實驗室還沒教的

前面十五關把「一份靜態資料表 → 一張 C → 拿它做三件事」這條線走完了。 下面四張卡是真的還沒教的東西 —— 每張只寫「它是什麼」跟「它接在本教材哪個接口上」, 不展開,因為展開就是另外四關。

還沒教

隨機過程與時間序列

本教材每一筆資料都假設彼此獨立、而且來自同一個分布(i.i.d.)。 真實的時間序列不是:今天的延遲跟昨天的延遲相關(自相關),而且分布本身會隨時間漂移。 接口是機率統計 01 關那個 i.i.d. 假設最佳化 03 關那句「歷史報酬 ≠ 未來報酬」 —— 那句話的正式版就在這裡:C 是用過去的樣本估的, 而過去只有在 i.i.d. 成立時才代表未來。

還沒教

非線性方法(kernel PCA、t-SNE)

全站從頭到尾只抓線性關係:內積、投影、直線、平面。 所以一旦資料彎成弧形或纏成兩圈,主軸就會說謊。 接口是05 關那個「資料彎曲時線性方法整套失效」的坑機率統計 04 關「cov = 0 卻強烈相依」的反例 —— 那些反例正是這一整族方法存在的理由:先把資料搬到一個「彎得開」的空間, 再在那裡做我們已經會的線性的事。

還沒教

迴歸與最小平方的完整版

零件你已經齊了:最小平方解就是把目標向量投影到 「模型做得到的那個平面」上,殘差必然垂直於那個平面(又是內積 0); 單變數斜率就是 cov(x,y) / var(x)。 沒教的是把它拼成一套:多變數的 (XX)−1Xy、 係數的標準誤(接機率統計 01 關的 SE)、 共線性下係數為什麼亂飛(接06 關的秩)、 以及正則化為什麼能救它(接最佳化 02 關的約束)。

還沒教

不乖的 C:負特徵值與數值穩定性

本教材永遠假設 C 很乖:特徵值 ≥ 0、算得出 C−1。真實世界會給你「欄數比樣本數多」、 「兩欄幾乎共線」、「浮點誤差跑出 −10−17 的特徵值」, 於是 C−1 炸開、 wCw 算出負的波動。 接口是06 關的秩不足機率統計 05 關非得用 C⁻¹機率統計 01 關的「C 是估出來的」。 沒教的是應對手法:條件數、Cholesky、shrinkage(把估出來的 C 往對角線拉回去)。

C 估得夠準」那一張的具體案例已經有了:實戰:五萬預算怎麼分拿一張真人白板走完全部流程,然後把月數從 3 拉到 60 —— 親眼看 λ=0 消失、det Σ 離開 0、C⁻¹ 從算不出來變成算得出來。

這套教材的邊界,講清楚

主線十六關從頭到尾只靠向量的兩種關係:長度、還有夾角。 線性代數用它壓出一張 C、機率統計讓那張 C 能算機率、 最佳化把它變成要壓低的成本。而這三段都成立的前提有三個, 而且它們都會在真實資料上破掉:關係是線性的、樣本是 i.i.d. 的、 C 估得夠準。上面那四張卡,就是這三個前提各自破掉之後的世界。

另一個洞更大:全站幾乎都是 2 維,因為 2 維畫得出來。真實資料是 300 維,而 300 維沒辦法畫 —— 到那時你唯一能倚賴的就是「內積、投影、特徵向量、期望值、梯度」這幾個不依賴維度的定義。 這也正是為什麼這套教材從頭到尾逼你用「影子」、「一起動」、「地形」去理解,而不是用圖去記: 圖會在第四維消失,直覺不會。