有效邊界:在約束裡找最優
玩完這關,你會知道 wTCw 這個從 05 關就一直出現的式子, 最後一次出現時的身分是什麼 —— 它不再是「描述資料形狀的一個量」,而是你要動手去壓到最小的那個目標。
① 這關在解什麼問題
機率統計 05 關把共變異數矩陣 C 變成一把尺: 同一個 wTCw,量的是「這個點按照資料自己的形狀來算,算遠不算遠」。 但那時候 C 還是個被描述的對象 —— 資料長那樣,我們就照著量。
這關反過來:C 變成目標函數。我們不再問「這團資料多散」, 而是問「我可以自己決定 w,那我要挑哪一個 w 才能讓 wTCw 最小」。 同一個式子,從「量測工具」變成「要被壓下去的東西」。這是整套教材的收尾。
先講具體的麻煩,不要先講數學。
你手上有 10 萬元,眼前有三個標的。三個的平均報酬和波動你都算得出來了 —— 02 關的平均數、02 關的標準差、03 關的共變異數矩陣,工具全都有。問題是:
該各放多少錢?
- 三份各 33333 元?聽起來公平,但憑什麼?
- 全押報酬最高的那一檔?那你要吞下它的波動。
- 全押最穩的那一檔?那你放棄了報酬。
- 「7 萬 / 2 萬 / 1 萬」跟「6.8 萬 / 2.1 萬 / 1.1 萬」哪個好?你憑什麼判斷?
而且選項有無窮多個 —— 只要三份加起來等於 10 萬,任何一種分法都是候選。 你沒辦法一個一個試過來。
這不是直覺題,這是一道幾何題:所有「加起來等於 10 萬」的分法, 在空間裡構成一塊有形狀的區域;每一種分法對應到「(風險, 報酬) 平面」上的一個點; 而「最好的分法」就是那塊區域映過去之後的某一條邊界。 這關給你的工具叫 有效邊界(efficient frontier)。
這關的例子是投資組合,但你不需要任何金融背景。下面五個詞就是全部:
| 詞 | 符號 | 就是在講 |
|---|---|---|
| 報酬率 | μ | 一年下來賺幾 %。μ 唸 mu,就是 02 關的平均數。 |
| 波動率 | σ | 報酬每年上下亂跳的幅度。σ 唸 sigma,就是 02 關的標準差。「風險」在這關一律指這個。 |
| 權重 | w | 錢怎麼分。w = (0.7, 0.2, 0.1) 就是「7 萬 / 2 萬 / 1 萬」。加起來一定是 1。 |
| 相關係數 | ρ | 兩個標的是不是一起漲跌。ρ 唸 rho,就是 03 關的 corr,範圍 −1 ~ +1。 |
| 放空 | wi < 0 | 權重是負的。實務上是「借來賣掉」,這關你只要當成允許權重取負值就好。 |
另外兩個到 ⑧ 才會用到:無風險利率 rf(放定存的報酬,波動 0)、 夏普比率 Sharpe(每承受一單位波動換到多少超額報酬,等於 (μ − rf) / σ)。
② 從你已經會的東西開始:報酬會平均,風險不會
這一節只有一件事要講清楚,而它就是整關的引擎。
先看資料
下面三檔資產的平均報酬、波動、相關係數全部是我編的合成數字,
挑成「一檔中庸、一檔穩、一檔猛」而且相關結構合理(ETF 跟科技股高度連動、債券跟股票微負相關),
為的是讓圖形好看懂。不要拿去做任何投資判斷。要換成你自己的數字,
改檔案裡 ASSET 與 RHO 兩個陣列就行,全頁所有圖與數字都會跟著重算。
| 資產 | 平均報酬 μ | 波動 σ |
|---|---|---|
| ■ 大盤 ETF | 8.0 % | 15.0 % |
| ■ 投資級債券 | 3.0 % | 5.0 % |
| ■ 科技股 | 14.0 % | 28.0 % |
| 配對 | ρ | 意思 |
|---|---|---|
| ETF ↔ 債券 | −0.15 | 幾乎沒關係,還微微反向 |
| ETF ↔ 科技股 | +0.75 | 高度同漲同跌 |
| 債券 ↔ 科技股 | −0.05 | 基本無關 |
把它們裝成 03 關那個共變異數矩陣。 每一格是 Cij = ρij σi σj, 對角線就是 σi2(因為 ρii = 1):
報酬會平均,風險不會 —— 這就是全部
假設你把錢按 w = (w1, w2, w3) 分好。組合的兩個統計量:
兩件事要在這裡就講清楚:
- μp 只看每檔自己的報酬:報酬就是加權平均,沒有任何交互作用。 一半 ETF 一半債券,報酬就是 (8+3)/2 = 5.5%,沒有折扣也沒有紅利。
- σp2 吃 C 的每一格:那些非對角線的 Cij 會進來, 而且它們可以是負的。這就是「分散風險」在數學上的全部內容 —— 沒有魔法,就是加總的時候有幾項是負的。
最小的例子:兩個數字,一次手算
先只用 ETF 和 債券,各放一半。 兩檔的時候 wTCw 只有 4 項(2×2),可以整個攤開來算:
風險(先算變異數,最後才開根號):
σp2 = 0.52×225 + 0.52×25 + 2×0.5×0.5×(−11.25)
↑ ETF 自己 ↑ 債券自己 ↑ 兩者的共變異數(負的!)
= 56.25 + 6.25 − 5.625 = 56.875
開根號: σp = √56.875 = 7.54 %
如果風險也會加權平均: 0.5×15 + 0.5×5 = 10.00 %
7.54 < 10.00,白賺 2.46 個百分點。報酬照加權平均給你 5.5%, 但風險比加權平均少了將近四分之一。多出來的那一塊,完全來自 2 w1 w2 C12 這一項是負的(−5.625)。
所以「分散投資有用」不是一句雞湯,它就是 wTCw 展開後非對角線那幾項的符號。 而那幾項是什麼?03 關算過 —— 共變異數,也就是中心化之後的內積。
本頁會出現的符號,先在這裡對一次
後面每個符號第一次出現的地方都會就地再解釋一遍,但你可以隨時滑回這張表:
| 符號 | 唸法 | 是什麼 | 在哪解釋 |
|---|---|---|---|
| w | 權重向量:錢怎麼分。三檔就是三個數字,加起來 = 1 | ① | |
| w1 w2 w3 | 分別是 ETF / 債券 / 科技股 的權重。下標就是「第幾檔」 | ④ | |
| 1 − w | 只有兩檔時,一檔放 w,另一檔自動是 1 − w | ③ | |
| μi | mu | 第 i 檔的平均年報酬(%) | ② |
| μp | 組合(portfolio)的平均報酬 = μTw。下標 p = 組合 | ② | |
| σi | sigma | 第 i 檔的波動率,也就是報酬的標準差(%) | ② |
| σp | 組合的波動率 = √(wTCw)。圖上的橫軸一律是它 | ② | |
| σp2 | 組合的變異數(波動率的平方)。單位是 %2 | ② | |
| ρij | rho | 第 i、j 檔的相關係數(−1 ~ +1) | ①、③ |
| C | 共變異數矩陣,3×3。第 (i, j) 格 = ρijσiσj | ② | |
| Cij | C 的第 i 列第 j 行那一格 | ② | |
| wTCw | 二次型。這裡等於組合的變異數 σp2 | ② | |
| Σ | 大寫 sigma | 「把後面的東西全部加起來」 | ② |
| 1 | 粗體一 | 全 1 向量 (1,1,1)。所以「加起來等於 1」寫成 1Tw = 1 | ④ |
| t | 目標報酬:我指定「我要 t % 的報酬」,然後去找最小風險的 w | ⑥ | |
| d | 權重空間裡那條可行直線的方向向量(⑥ 現場推出來 = (11, −6, −5)) | ⑥ | |
| w0 | 那條直線上隨便一個已知的點(起腳點) | ⑥ | |
| s | 沿著那條直線走多遠的參數。w = w0 + s·d | ⑥ | |
| s0 | 只是湊出 w0 用的中間量(起腳點裡第 3 檔占多少)。跟上面那個 s 無關,只是名字像 | ⑥ | |
| s* | s star | 星號=「最佳的那一個」。s* 就是讓風險最小的那個 s | ⑥ |
| dTCd | 把 d 代進二次型的結果,一個正數(因為 C 正定)。它是拋物線的開口大小 | ⑥ | |
| MVP | Minimum Variance Portfolio,整個可行區裡風險最小的那一點 | ⑥ | |
| c | ⑦ 的等高線水準:wTCw = c 那一圈橢圓 | ⑦ | |
| λ | lambda | 拉格朗日乘子。⑦ 只給它的幾何意義(相切),不展開推導 | ⑦ |
| 2Cw | 風險等高線在該點的法向量(垂直於橢圓的方向)。⑦ 圖上那支紫箭頭 | ⑦ | |
| 判別式 | 一元二次方程 ax2+bx+c 的 b2−4ac。>0 兩解、=0 一解(相切)、<0 無解 | ⑦ | |
| C−1 | C inverse | C 的反矩陣。C−11 就是「解 C z = 1 得到的那個 z」 | ⑥ |
| rf | 無風險利率:波動為 0 的那個選項(定存),本頁設 1.5 % | ⑧ | |
| Sharpe | 夏普 | (μp − rf) / σp,每單位波動換到的超額報酬 | ⑧ |
| ddof=1 | 算標準差時除以 n−1(樣本版)。全站統一,見 02 關 | ③ |
藍 = 第一個東西(大盤 ETF)
橘 = 第二個(投資級債券)
桃 = 第三個(科技股;「第三檔」全站沒有標準語意色,本頁借用次軸色)
綠 = 結果(你組出來的那個組合、最優解)
青 = 隨機撒出來的資料點
紫 = 有效邊界與風險等高線(兩者都是 C 的二次型幾何)
紅 = 不該選的(被支配的那一段、以及 MVP 這個「極端端點」)
③ 兩檔的最小例子:把 ρ 從 +1 拉到 −1
三檔太多,先只留 ETF 和 債券, 一個滑桿決定 ETF 放多少(另一檔自動補到 1)。這樣整個問題只剩一個自由度, 你可以把它從頭到尾拉一遍。
- 你會看到什麼:
- 左圖是 60 個月的報酬走勢 —— 藍=ETF 每個月漲跌幾 %、 橘=債券、綠(粗)=按你的權重混完之後的組合。 右圖是 (風險, 報酬) 平面:橫軸 σp、縱軸 μp, 紫弧=w 從 0 走到 1 掃出來的所有組合,綠點=你現在這一個。
- 你可以動什麼:
- w 滑桿=ETF 佔幾 %;ρ 滑桿=硬把兩檔的相關係數改成你指定的值 (左圖的橘線會跟著重新生成,右圖的弧會換形狀)。三顆按鈕直接跳到 ρ = +1 / 0 / −1。
- 要看出什麼:
- 紫弧往左凸出去多遠,就是分散賺到多少。ρ = +1 時弧線塌成一條直線(凸出去 0,分散完全無效); ρ = −1 時弧線折成 V 字、尖端碰到縱軸(σp = 0,風險被完全抵消)。
三個必須自己拉一次的位置
| 把 ρ 設成 | 右圖的弧變成 | w = 50% 時的 σp | 怎麼解釋 |
|---|---|---|---|
| +1 | 一條直線(貼在灰虛線上) | 10.00 % | 兩檔完全同步,混起來只是把兩根尺按比例接起來。分散完全無效。 |
| 0 | 微彎的弧 | 7.91 % | 互不相關就已經有效果了 —— 不需要「反向」,只要「不同步」。 |
| −1 | 折成兩段直線,尖端碰到縱軸 | 5.00 % | 完全反向。在 w = 25% 那一點 σp 精準等於 0,報酬還有 4.25%。 |
ρ = −1、w = 25% 那個「零風險」值得手算一次,因為它看起來太不真實:
= 14.0625 + 14.0625 − 28.125 = 0
白話:ETF 波動是債券的 3 倍,所以配 1 份 ETF 對 3 份債券, 兩邊的漲跌幅剛好一樣大;ρ = −1 代表方向永遠相反 → 完全抵銷。
弧線的彎曲程度就是 ρ。而弧線往左彎多少,就是你不花錢白拿到的風險折扣。
順便一個漂亮的小結果:兩檔時風險最小的權重是 w* = (σ22 − ρσ1σ2) / (σ12 + σ22 − 2ρσ1σ2) (星號只是「最佳的那一個」的習慣寫法)。把數字代進去會發現: 只要 ρ < σ2/σ1 = 5/15 = 1/3,w* 就是正的, 也就是「加一點波動大的 ETF 進去,反而讓整體更穩」。ρ 一旦超過 1/3, 不准放空的話最穩的作法就變回 100% 押債券了 —— 這個門檻在滑桿上真的拉得出來(紅圈會滑到弧線最下端)。
我要的是「ρ 說多少就真的是多少」,所以不能亂 random 完就算。做法四步:
1. 用固定種子的 LCG + Box-Muller 產兩條長度 60 的常態序列 raw1、raw2
// LCG = 一行遞推式的偽隨機數產生器;Box-Muller = 把均勻分布轉成常態分布
// 固定種子 → 每次打開這一頁看到的線一模一樣,可重現
2. z1 = 標準化(raw1) // 減平均、除標準差(ddof = 1)→ 平均 0、σ 剛好 1
3. z2 = 標準化(raw2 − cov(z1, raw2)·z1) // 把 raw2 裡「跟 z1 平行」的成分減掉
// ↑ 這一步就是 01 關的投影:減掉投影分量之後兩者正交,cov(z1, z2) = 0
4. 要 ρ 就令 zB = ρ·z1 + √(1−ρ²)·z2 // 這一步叫 Cholesky:把相關結構灌進去
// 驗算:var(zB) = ρ² + (1−ρ²) = 1 ✔ cov(z1, zB) = ρ ✔ 兩個都精準成立
月報酬 r_i = μ_i/12 + (σ_i/√12)·z // 年化參數轉月:報酬除 12、波動除 √12
因為第 3 步用了 01 關的投影把兩條序列弄成正交, 第 4 步的 √(1−ρ²) 才會剛好讓變異數回到 1。 這也是為什麼讀數盤裡「公式算的 σp」和「序列實測的 σp」 兩個數字會一路貼在一起(差 < 0.000001)—— 它們本來就是同一件事的兩種算法: 一個是先算 C 再套公式,一個是把 60 個月的組合報酬直接量一次標準差。
為什麼波動要除 √12 而不是除 12:變異數會相加(12 個月加起來 = 12 倍), 標準差是變異數開根號,所以是 √12 倍。這是 02 關「變異數才是可加的那個量」的直接後果。
④ 「加起來是 10 萬」在空間裡長什麼樣子
回到三檔。你的錢有限這件事,寫成數學是一行:
關鍵在於:這一行不是一句規定,它是空間裡的一塊形狀。看維度:
- 兩檔:w1 + w2 = 1 在平面上是一條直線。
再加上「不能放空」(w1, w2 ≥ 0),就只剩那條直線的一段:從 (1, 0) 到 (0, 1)。 - 三檔:w1 + w2 + w3 = 1 在 3D 裡是一張平面(無限大)。
再加上不能放空,就是那張平面被切出來的一個三角形 —— 三個頂點剛好是「全押某一檔」。
那個三角形有名字,叫 單純形(simplex)。它就是「資金預算」這句話的字面幾何長相。
- 你會看到什麼:
- 左圖是兩檔的情況:w1 對 w2 的平面上, 那條斜線就是 w1 + w2 = 1;紫實線段=不放空的部分,灰虛線=要放空才到得了的部分。 右圖是三檔:三根虛線是 w1/w2/w3 三根座標軸(斜著畫才看得出 3D), 中間那片半透明紫三角形就是單純形,外圈虛線三角形是「每檔可以放空 25%」時平面延伸出去的範圍。
- 你可以動什麼:
- 兩張圖上的綠色圓點都可以直接用滑鼠拖。 左圖的點只能沿著那條線滑(滑桿也能拉,可以拉到負值);右圖的點會被限制在三角形內。
- 要看出什麼:
- 不管你怎麼拖,右邊讀數盤的合計永遠是 1.000000 —— 你不是在調三個獨立的數字, 你是在一個二維的三角形上移動。三檔資產、三個權重,自由度只有 2。
「錢加起來要等於 10 萬」=「w 被關在一個三角形裡」。 這句話是這關的地基:你要找最優的 w,找的範圍不是整個 3D 空間,而是一張 2D 三角形。 等高線跟這塊區域怎麼碰,決定了答案長什麼樣(⑦ 會用到)。
順便一個名詞:三角形內一點的三個權重,數學上叫重心座標(barycentric coordinates)。 「離哪個頂點越近,該檔權重越大」,正中心就是三等分。這也是為什麼右圖能只用二維拖曳就唯一決定三個權重 —— 因為那三個數字本來就只有 2 個自由度。
⑤ 把三角形整片丟到 (風險, 報酬) 平面上
現在把 ④ 的三角形和 ② 的兩條公式接起來。做法蠢得很直接:
→ 算 μp = μTw 和 σp = √(wTCw)
→ 在右邊的 (σp, μp) 平面上點一個點
重複 2000 次。
三角形是二維的,(σ, μ) 平面也是二維的,所以這是一個 2D → 2D 的映射。 映過去之後那團點的形狀,就是你所有可能的下場。
- 你會看到什麼:
- 左圖是 ④ 那個三角形(這次拉平了正面看,不再傾斜),裡面撒滿 2000 個青色權重點, 三個角標著「全押哪一檔」。右圖是同樣這 2000 組在 (σp, μp) 平面上的落點 —— 一片彎彎的、往左上翹起來的雲(教科書叫它 bullet,子彈)。三個角落對應右圖三個被特別標出來的端點。
- 你可以動什麼:
- 滑鼠移到右圖的雲上面,最接近的那一點會被紅圈圈起來,同時左圖會亮出它的權重位置; 反過來拖左圖的綠點,右圖的綠點也會跟著跑。兩張圖是同一件事的兩個視角。 按鈕可以重撒一批、或只留 60 點看清楚單點。
- 要看出什麼:
- 雲的左上緣是一條乾淨的邊,右下方則是一層有厚度的肉。
左上緣以外撒不出任何點 —— 那裡是做不到的;而肉裡面的每一點,
都可以在同樣報酬下往左找到更好的。這條左上緣就是 ⑥ 要講的有效邊界。
另外注意:這層肉比你想像的薄(在同一個報酬水準上,σ 的可能範圍只有 2~3 個百分點)。 為什麼這麼薄,⑥ 會給你答案 —— 因為報酬一旦被固定住,可行的權重就只剩一條線段了。
子彈的形狀不是誰設計的,是 wTCw 這個二次函數在三角形上的值域。
三個必須注意的細節:
- 三角形的三條邊映過去就是子彈的三條邊界弧 —— 因為在三角形的邊上,某一檔的權重是 0,剩下兩檔,那就退回 ③ 那種兩檔的弧線。③ 的圖是這張圖的一條邊。
- 雲的左緣有一整段比任何單一資產都靠左:最穩的債券 σ = 5.0%, 但雲裡面有點的 σ 只有 4.5% 左右。混起來比最穩的那一檔還穩 —— 這就是 ② 那個「非對角線是負的」在三檔版本上的效果。
- 只有三檔的時候,這片雲一定是薄的。算一次就知道為什麼:固定報酬 8% 之後, 可行的權重只剩一條線段(⑥ 會現場推),而那條線段的兩個端點分別是 「100% ETF」(σ = 15.0%)和「54.5% 債券 + 45.5% 科技」(σ = 12.9%), 最小值是 12.6% —— 整個範圍只有 12.6% ~ 15.0% 這 2.4 個百分點。 資產檔數越多,自由度越大,雲才會胖起來變成教科書那種飽滿的子彈。
⑥ 有效邊界 = 子彈的左上緣(附解法)
先給白話定義,一句話:
有效邊界 = 「同樣風險之下,報酬最高的那些點」的集合。 (等價說法:同樣報酬之下,風險最低的那些點。兩種說法掃出同一條線。)
為什麼只有這條線值得看?因為其他點都被支配(dominated)了。假設有兩個組合, 風險都是 12%,一個報酬 8%、一個報酬 6% —— 那 6% 那個沒有任何理由被選: 你付了一樣的代價,拿到比較少。它被支配了。
把「被支配的」全部刪掉,剩下的就是邊界。這也解釋了邊界下半部為什麼不算有效: 子彈最左邊那一點(MVP,Minimum Variance Portfolio,風險最小的組合)以下, 還有一段弧往左下走 —— 那一段的每一點,都可以在同樣的 σ 下往上找到報酬更高的對應點 (就是它在 MVP 上方的鏡像點)。所以下半段整條都被支配,我把它畫成紅色虛線提醒你不要選。
- 你會看到什麼:
- 青雲=⑤ 那 2000 組隨機權重(背景參考)。 紫實線=有效邊界;紅虛線=被支配的下半段; 紅方塊=MVP;綠點=你用滑桿指定的目標報酬 t 之下的最佳解, 它身上那條綠色水平虛線就是「報酬固定在 t」這個條件,而線上那一段粗粗的淡綠色 就是「這個報酬水準下 σ 真正能走到的範圍」(也就是 ⑤ 那片肉在這一層的厚度)。 另外那顆青點=隨機雲裡「報酬至少跟你一樣高」的那些組合中最靠左的一顆,用來對照。 左上角有圖例。
- 你可以動什麼:
- 目標報酬 t 滑桿。每動一格,程式就現場解一次 「在 μTw = t 且 1Tw = 1 且 w ≥ 0 之下,讓 wTCw 最小」, 右邊會顯示解出來的三個權重。三顆按鈕直接跳到 MVP 與兩個端點。
- 要看出什麼:
- 綠點永遠在青點的左邊(隨機撒的點不會剛好命中最優)——
這就是「邊界是雲的左包絡線」的意思:邊界不是畫上去的裝飾,
它是每一個報酬水準上「往左推到底」的結果。
再把 t 拉到 MVP 以下(紅虛線那一段):連線會變紅,因為那時候青點報酬更高、風險還更低, 兩邊都贏你 —— 那就是「被支配」的現場證據。
還有一件事:那段粗淡綠很短(大概 2~3 個百分點)。這就是 ⑤ 說「雲很薄」的原因 —— 報酬固定住之後,你只剩一條線段可以走。
那條邊界是怎麼算出來的(自寫解法,逐行說明)
這裡不用套件、不用梯度下降。三檔資產的情況有精確解,而且推導只需要你已經會的東西。 關鍵觀察是數自由度:
條件 1:1Tw = 1 (預算:錢要剛好花完)
條件 2:μTw = t (我指定我要 t % 的報酬)
3 − 2 = 1 → 滿足這兩個條件的 w 構成一條直線(不是一片區域!)
兩張平面相交是一條直線 —— 這就是 06 關講秩那件事的直接應用。 一旦知道可行集只是一條直線,事情就變成一維最小化:沿著這條直線走, 找 wTCw 最小的位置。而一維二次函數的最小值 —— 那是國中的配方法。
// ---- 步驟 1:找出那條直線的方向 d ----
// 沿著 d 走不能破壞任何一個條件,也就是 1·d = 0(總和不變)且 μ·d = 0(報酬不變)。
// 兩個條件、三個未知數 → 用外積(cross product)一次拿到:
d = (1,1,1) × (μ₁,μ₂,μ₃) = (μ₃−μ₂, μ₁−μ₃, μ₂−μ₁)
= (14−3, 8−14, 3−8) = (11, −6, −5)
// 驗算:11−6−5 = 0 ✔ 8×11 + 3×(−6) + 14×(−5) = 88−18−70 = 0 ✔
// 白話:d 就是「賣掉 6% 債券 + 5% 科技股、買進 11% ETF」這個動作。
// 做這個動作,你的總投入沒變、期望報酬也沒變 —— 只有風險會變。
// 所以「找最優權重」=「決定這個動作要做幾次」,就這麼一個數字。
// ---- 步驟 2:找直線上任何一個點 w₀(起腳點)----
// 隨便找一個滿足兩個條件的解就好。最省事:只用第 1、3 檔湊出報酬 t
// s0 —— 一個純粹的中間量,意思是「起腳點裡第 3 檔占多少」。
// 它跟步驟 3 那個 s(沿著直線走多遠)是兩個不同的東西,只是名字像。
s0 = (t − μ₁) / (μ₃ − μ₁) // 需要 μ₁ ≠ μ₃,本頁 8 ≠ 14 ✔
w₀ = (1 − s0, 0, s0) // 總和 = 1 ✔ 報酬 = μ₁ + s0(μ₃−μ₁) = t ✔
// 例:t = 8 → s0 = 0 → w₀ = (1, 0, 0),也就是「先全押 ETF」,再沿著 d 走。
// ---- 步驟 3:沿著直線最小化(配方法,精確解)----
// 直線上的點寫成: w(s) = w₀ + s·d ← s 就是「這個動作做幾次」,可正可負
// f(s) = w(s)ᵀ C w(s)
// = w₀ᵀCw₀ + 2s·(dᵀCw₀) + s²·(dᵀCd) ← 這是一條開口向上的拋物線
// 因為 C 是正定的(機率統計 05 關講過:任何非零向量的 wᵀCw 都 > 0),所以 dᵀCd > 0,
// 拋物線一定有唯一最低點,把導數設 0 直接解出來:
s* = −(dᵀCw₀) / (dᵀCd) // 拋物線頂點
// ---- 步驟 4:把「不能放空」夾進來 ----
// w(s) 的第 i 個分量是 s 的一次函數: w₀ᵢ + s·dᵢ ,要求它落在 [下界, 上界]
// 每個 i 給出一個 s 的區間 → 三個區間取交集,得到可行的 [sLo, sHi]
// f 在這個區間上是凸的(拋物線),所以:
s = clamp(s*, sLo, sHi) // 夾住即最優
// 頂點在區間內 → 取頂點;在區間外 → 取最近的端點
// 交集為空 → 這個 t 根本做不到(例如 t = 20%,三檔最高才 14%)→ 回傳 null
return w₀ + s·d
這是一個帶等式與不等式約束的二次規劃(QP),一般情況要用 active-set 或內點法。 但只有三檔資產時可行集降到一維,QP 退化成「一條拋物線 + 一次區間夾擠」: 精確、無迭代、不會不收斂、不用調參數。上面那 4 步就是完整解法,沒有省略也沒有近似。
資產一多(N 檔、N > 3)自由度變成 N−2,就不能這樣偷懶了,那時才需要真的 QP solver。 但幾何是一樣的:可行集是一個仿射子空間,目標是一族橢球,最優解在橢球第一次碰到子空間的地方。 ⑦ 就是在畫這句話。
MVP 怎麼算?MVP 不指定 t、只求風險最小。如果允許放空,它有純代數解 w = C−11 / (1TC−11) (分母只是讓權重加總回到 1 的正規化);本頁那組數字算出來是 (19.15%, 85.30%, −4.45%),σ = 4.41% —— 注意第三檔是負的,所以不准放空時這個解不合法。 不放空的 MVP 我改用「對 t 做三分搜尋」找:σ(t) 沿著邊界是凸函數, 三分搜尋(每次砍掉 1/3 區間)保證收到全域最小。結果是 (13.30%, 86.70%, 0%),σ = 4.49%。 科技股權重被夾到 0 —— 約束真的在作用。
有效邊界不是一條猜出來的曲線,是「對每一個報酬水準各解一次最小化」的解軌跡。 而每一次的最小化,都只是把一條拋物線的頂點求出來、再夾進一個區間。
還有一個值得記住的數字:不放空的 MVP 風險 4.49%, 比最穩的那一檔(債券 5.0%)還低。混三檔比只買最穩的那一檔更穩 —— 這件事在 ② 已經算過原理,在這裡看到它的極值。
⑦ 為什麼最優解一定在「相切」的地方
這是本關的幾何高潮,也是整套教材裡 wTCw 最後一次變身。
為了畫得出來,這一節退回兩檔(ETF + 債券), 這樣權重空間剛好是一張紙:橫軸 w1、縱軸 w2。 然後把兩樣東西畫在同一張紙上:
- 風險的等高線:所有「風險一樣大」的權重組合。 wTCw = c 這條線就是一圈橢圓(c 是你指定的風險水準)—— 跟機率統計 05 關那個橢圓是同一個東西、同一個 C、同一個二次型, 只是那時候軸上是「資料座標」,這時候軸上是「錢的比例」。 c 越大 → 橢圓越大 → 風險越高。橢圓的長軸短軸方向就是 C 的特徵向量方向(05 關), 而它歪掉的原因就是 C 的非對角線不是 0(03 關)。
- 約束:w1 + w2 = 1,一條斜 45° 的直線(④ 講過)。
現在把 c 從很小慢慢調大,橢圓從原點長出來。第一次碰到那條直線的瞬間 —— 那一點就是最小風險組合。而在那一瞬間,橢圓跟直線是相切的。
- 你會看到什麼:
- 座標是權重平面(不是報酬平面!):橫軸 w1 = ETF 比例、縱軸 w2 = 債券比例。 紫橢圓=風險等高線 wTCw = c(另外三圈更淡的是更小的 c,看得出它是「從原點長出來」的); 灰線=預算約束 w1+w2=1(粗實線段=不放空的部分); 綠點=橢圓與直線的交點。
- 你可以動什麼:
- c 滑桿(風險水準)。從左往右拉,橢圓長大。讀數盤會即時報「現在有幾個交點」。 「跳到剛好相切」按鈕會把 c 設成解析解算出來的臨界值,讓你對照滑桿掃到的結果。
- 要看出什麼:
- 交點數會走過 0 → 1 → 2 三個階段。0 個=這個風險太低,做不到; 2 個=這個風險有兩種達成方式,代表你還可以更省; 恰好 1 個=臨界,那就是最優解 —— 而那一點橢圓與直線相切, 圖上會冒出兩支箭頭(兩邊的法向量)指向同一個方向。
相切這件事的代數長相(一行結論,不推導)
相切的幾何定義是:兩條曲線在接觸點的法向量互相平行。分別寫出來:
本頁的數字可以直接驗:解析解的切點是 w = (0.133028, 0.866972),代進去算 Cw 得到 (20.177752, 20.177752) —— 兩個分量完全相等, 所以 Cw 真的平行於 (1, 1),λ = 20.177752。 而且 λ 剛好等於那時候的 wTCw = σp2 (因為 wTCw = wT(λ1) = λ·1Tw = λ·1 = λ), 開根號 σp = 4.4920% —— 就是 ⑥ 那個不放空 MVP 的風險。兩節的答案在這裡對上。
(為什麼兩節答案會一樣:⑥ 算出不放空 MVP 的第三檔權重是 0, 等於它根本沒用到科技股,所以那題實際上就是這裡的兩檔問題。)
上面只給了幾何直覺 + 一行結論式。完整的拉格朗日推導 (寫出 L(w, λ) = wTCw − λ(1Tw − 1)、 對 w 偏微分、解 KKT 條件、處理不等式約束的互補鬆弛)不在本關範圍,本頁也不會出現。
你在這關要帶走的是那個畫面:橢圓長大,碰到線,就停。 有了這個畫面之後再去讀任何一本最佳化教科書,那些符號才會有意義。
wTCw 這個式子在這套教材裡出現了四次, 每次身分不同,但幾何是同一個橢圓:
| 關卡 | w 是什麼 | wTCw 是什麼 |
|---|---|---|
| 05 PCA | 一個單位方向 | 資料往這個方向的變異數 → 要最大化(找主軸) |
| 機率統計 05 橢圓 | 一個位移(點離中心多遠) | 用資料形狀當尺量出來的距離 → 畫成等高線(橢圓) |
| 最佳化 03 ② | 錢的比例 | 組合報酬的變異數 |
| 最佳化 03 ⑦ | 錢的比例 | 要最小化的目標函數,在 1Tw = 1 之下 |
05 求最大、最佳化 03 求最小,而差別只在約束不同: 05 的約束是 ‖w‖ = 1(一個單位圓,圓的法向量是 w 自己, 所以相切條件變成 Cw = λw —— 那正是特徵向量的定義); 最佳化 03 的約束是 1Tw = 1(一條直線/一張平面,法向量是常數 1, 所以條件是 Cw = λ1)。
同一個二次型,換一個約束,「最優方向」就換成別的東西。這是整套教材最值得帶走的一句話。
⑧ 約束一改,可行區就跟著改
到這裡你應該已經接受一件事:答案是「目標」跟「約束」兩邊夾出來的。 ⑦ 已經看過改目標(c 變大)會怎樣,這一節改約束,看可行區與邊界怎麼跟著變形。
- 你會看到什麼:
- 左圖是權重空間(跟 ⑤ 同一個三角形):紫色實線圍出來的就是目前允許的區域, 灰虛線三角形是「原本不放空」的參考範圍,青點是在新區域裡撒的權重。 右圖是 (σ, μ) 平面:青雲=那些權重的下場、 紫線=新的有效邊界、紅方塊=新的 MVP。 淡紫虛線一律是「什麼都不開」時的原始邊界,方便你比對外推了多少。
- 你可以動什麼:
- 三顆開關,可以單獨開也可以疊著開:(a) 允許放空、 (b) 單一標的上限 40%、(c) 加入無風險資產(1.5%)。 每按一次,左右兩張圖與所有數字都會重算。按鈕亮起=開啟。
- 要看出什麼:
- 三種約束造成三種不同的形變:放空讓區域往外爆開、 上限讓三角形被削角削到只剩正中央一塊倒過來的小三角形、無風險資產讓邊界多長出一條直線。 而「最優解」的位置每次都跟著搬家 —— 「最優」永遠是相對於約束而言的。
三個開關各自在幹什麼
拿掉 wi ≥ 0 之後,權重不再被關在三角形裡, 整張平面都可以去(左圖的點會跑到三角形外面)。效果:
- 邊界兩端無限延伸:報酬可以超過 14%(放空債券、加碼科技股),代價是 σ 也跟著衝上去。這是最明顯的變化。
- MVP 往左移一點:從 (13.30%, 86.70%, 0%) σ = 4.49% 變成 (19.15%, 85.30%, −4.45%) σ = 4.41%。放空一點科技股讓風險再降 0.08 個百分點。
- 但中段幾乎沒變:例如 t = 8% 時,不放空的解 (24.73%, 41.05%, 34.21%) 本來就三個都是正的 —— 約束沒有在擋你,所以放開它也沒有好處。約束只在「它真的擋住你」的時候才有代價。
技術細節:放空模式的隨機點是在「每檔權重 −50% ~ +150%」的範圍內撒的 (不然點會噴到畫面外),但紫色邊界是真正無界的解,只畫到畫面邊緣為止。
加上 wi ≤ 0.4,每個約束都砍掉三角形的一個角 (「靠近某個頂點」=「那一檔權重大」)。三檔的時候這一刀特別狠:
因為 3 × 0.4 = 1.2,只比 1 多 0.2,所以反推出每一檔至少要放 20% (另外兩檔頂多吃掉 80%)。三個角被削掉之後,三道切口在中間互相碰上, 所以剩下的不是六邊形,而是一個上下顛倒的小三角形 —— 它的三個頂點就是 (40, 40, 20)、(40, 20, 40)、(20, 40, 40) 這三種「兩檔頂到上限、一檔墊在下限」的組合。 邊長是原本的 1/5,面積只剩 1/25 = 4%(也可以這樣算:三個角各切掉 0.62 = 36%, 三對兩兩重疊的部分各 0.22 = 4% 要補回來,1 − 3×0.36 + 3×0.04 = 0.04)。
後果非常具體:報酬被硬夾在 7.20% ~ 9.40% 之間 (下限是 40/40/20 押在最保守的組合、上限是 40% ETF + 20% 債 + 40% 科技)。 而 MVP 從 σ = 4.49% 惡化到 σ = 10.82%(40%, 40%, 20%) —— 風險最小的那個組合(要放 86.7% 債券)被禁止了,你只能退到那個小三角形的角上。 「上限」聽起來像在保護你,數學上它是在沒收你的選項。
多一個選項:報酬 rf = 1.5%、波動 0 的定存。 它在 (σ, μ) 平面上就是縱軸上的一個點 (0, 1.5)。
如果你把錢分成「一部分定存 + 一部分某個風險組合 P」,混出來的點會落在 (0, rf) 與 P 的連線上 —— 是直線而不是弧線。 原因回到 ②:定存的 σ = 0,跟任何東西的共變異數也是 0, 所以 wTCw 裡的非對角線項整批消失, σp 退化成單純的比例縮放(把 60% 的錢放在 P 上,風險就是 P 的 60%)。
那該挑哪個 P?挑讓這條直線最陡的那個 —— 斜率 (μP − rf) / σP 就是夏普比率。 而最陡的那條線剛好與原本的弧形邊界相切(又是相切!同一個 ⑦ 的道理: 直線繞著 (0, rf) 往上轉,第一次碰到可行區的地方就停)。 這條線叫資本配置線(capital allocation line), 切點是本頁數字下的 (20.95%, 71.05%, 8.00%),σ = 5.82%、μ = 4.93%、夏普 = 0.588。
對照一下就知道它好在哪:全押債券的夏普只有 (3−1.5)/5 = 0.300, MVP 是 0.482,切點組合 0.588。而且開了這個開關之後, 切點右上方那一整段原本的弧線全部被直線超越(同樣風險、更高報酬), 弧線那一段當場變成被支配的。
「最優」不是資料的性質,是「資料 + 約束」的性質。C 和 μ 一個數字都沒改, 光是改允許的範圍,最優解就從 (13, 87, 0) 跳到 (40, 40, 20)。
所以工程上真正該問的問題不是「最優解是多少」,而是「我加的這條約束,讓我付了多少代價」。 上面每個設定的 MVP 風險就是那個代價的數字:允許放空 4.41% → 原始 4.49% → 加上限 10.82%。
⑨ 工程師的「原來如此」
「最小化一個二次型,在一組線性約束之下」是工程裡最常見的最佳化形狀之一。 把「錢怎麼分」換成別的東西,同一套幾何立刻換一個領域:
- 感測器融合 / 卡爾曼濾波:好幾個感測器測同一件事,各有噪音、噪音之間還互相關聯。 「怎麼加權平均這幾個讀數,讓結果的變異數最小」—— 就是 min wTCw s.t. 1Tw = 1, 跟本頁的 MVP 是同一道題(這裡「權重加起來要等於 1」對應的不是預算, 而是「估計不能有系統性偏移」)。卡爾曼增益就是那個 C−11 形狀的解。
- 波束成形(beamforming):麥克風陣列或天線陣列要壓掉噪音、又要保住目標方向的訊號。 目標是最小化輸出功率 wTRw(R = 訊號的共變異數矩陣), 約束是「目標方向的增益固定為 1」。這叫 MVDR,形狀跟本頁一模一樣,連解的長相都一樣。
- Ridge 回歸 / 正則化:最小化「誤差平方 + 係數平方」也是二次型 + 約束。 「正則化係數越大 → 解被壓得越靠近原點」對應到本頁「約束越緊 → 解被推到區域邊界」。 坑 2 的 shrinkage 也是同一個思路。
- 資源配額 / 容量規劃:把流量分給 N 台機器,總量固定(一條線性約束), 要最小化「總延遲的變異」,而機器之間的負載是相關的(尖峰時一起塞車 → 非對角線是正的)。 「相關性高的機器不算真正的備援」就是本頁 ρ → 1 那個結論換一套詞。
共同的可移植結論只有一句:看到「二次型 + 線性約束」,就去畫等高線與約束的相切點。 不用背公式,那個畫面本身就是解法。
⑩ 踩坑
歷史報酬不是未來報酬。本頁整套機器的輸入是 μ 和 C,而實務上這兩個都是拿過去的資料估的。 C(波動、相關性)還算有點延續性;μ 幾乎沒有 —— 一檔資產過去五年平均漲 14%, 這件事對「未來五年會漲幾 %」的預測力低到接近沒有。
所以你會看到一個荒謬的現象:你用了精確解、算到小數第六位、畫出漂亮的邊界, 而整條邊界的縱軸位置建立在一個幾乎沒有預測力的數字上。 數學是對的,輸入是猜的。這條坑排第一名,因為它讓後面所有精度都變成裝飾。
想看這條坑在一組真實白板數據上長什麼樣(μ 算了卻沒進權重、Σ 直接不可逆)→ 實戰:五萬預算怎麼分
C 的估計誤差會讓權重亂跳。C 有 N(N+1)/2 個獨立參數 (3 檔是 6 個,50 檔就是 1275 個),你卻只有有限的歷史資料去估它。 估出來的 C 帶著噪音,而最佳化特別擅長利用噪音 —— 哪一對資產的相關係數剛好被低估,最佳化就會拼命往那一對加碼, 因為在它看來那裡有「免費的分散效果」。
結果就是有名的「誤差最大化器(error maximizer)」:資料多加一個月,權重就大搬家。 標準對策是 shrinkage(Ledoit-Wolf 那一類)—— 把估出來的 C 往一個結構簡單的目標 (例如「所有相關係數都等於平均值」)拉一點回去,用一點偏差換掉大量變異。 同一個 trade-off 你在 Ridge 回歸看過。
危機的時候 ρ 會一起衝向 1,分散當場消失。③ 已經給你看過 ρ = 1 時弧線塌成直線 —— 那就是市場崩盤時的樣子。平時彼此無關的資產,在流動性危機裡會因為 「所有人同時要賣東西換現金」而同步下跌,相關係數從 0.2 跳到 0.8。
糟糕的地方在於:你最需要分散的那一天,正好是分散失效的那一天。 用整段歷史算出來的平均 ρ 會系統性低估這件事。想看清楚就分開算兩個 C: 平時的、以及「跌幅最大的那 10% 月份」的,兩個擺在一起看。
邊界對輸入極度敏感。接坑 1 和坑 2 講具體的:把科技股的平均報酬從 14% 改成 15% (只動 1 個百分點,在估計誤差裡根本是雜訊),整條邊界的形狀與每個 t 對應的權重都會跟著搬動; 對 50 檔資產的真實問題,這種敏感度會放大到「權重表整張換掉」。
所以實務上很少直接用裸的最佳解。常見做法:加上限(就是 ⑧ 的開關 b —— 它存在的理由不是風控漂亮,而是強迫解不要太極端)、對 μ 做 shrinkage、 或乾脆退回等權重 1/N。
補一個本頁算出來的難堪事實:等權重 (⅓, ⅓, ⅓) 的 σ = 13.45%, 而同樣報酬(8.33%)下的最佳解 σ = 13.42% —— 精心最佳化只贏了 0.03 個百分點,而這 0.03 遠小於你估 μ 和 C 的誤差。 「1/N 很難打敗」是有原因的。
⑪ 這關回答了什麼
有效邊界到底是什麼?
是一條「解軌跡」:對每一個報酬水準 t,各解一次「最小風險的權重」,把答案畫在 (σ, μ) 平面上連成的線。
更直觀的說法在 ⑤:把所有可能的權重組合都映到 (風險, 報酬) 平面, 會得到一團子彈形的點雲;有效邊界就是這團雲的左上緣。 「左」代表同報酬下風險最低,「上」代表同風險下報酬最高。
它不是一條擬合出來的曲線,也不是經驗法則 —— 它是 min wTCw 在 1Tw = 1、 μTw = t 之下的解,隨 t 掃出來的軌跡。解法在 ⑥, 三檔的情況有精確解、不需要迭代。
邊界以外沒有點(做不到),邊界以內的點全部被支配(有更好的選擇)。所以能討論的只剩這條線。
為什麼分散有用?這跟共變異數有什麼關係?
因為報酬會加權平均,風險不會。把 wTCw 展開就一目了然:
那個粗體的部分就是共變異數 Cij。 所以「分散風險」在數學上的全部內容是:共變異數矩陣的非對角線可以是負的, 而變異數的加總會把它們算進去。沒有任何額外機制。
具體數字在 ②:ETF + 債券各一半,風險從加權平均的 10.00% 掉到 7.54%, 少掉的 2.46 個百分點完全來自 2w1w2C12 = −5.625 這一項。
再往回追一層:共變異數本身就是中心化之後的內積。 所以「分散有用」最終追到 01 關 —— 兩個方向夾角大於 90°,內積就是負的。 ③ 那個 ρ 滑桿拉到負值時看到的「弧線往左凸」,就是這個夾角的視覺化。
預算約束為什麼是一條線或一張平面?
因為 w1 + w2 + … = 1 是一個線性等式, 而線性等式的解集合天生就是「平的」東西 —— 這在 06 關講仿射子空間時定義過。
維度用減法就能算:未知數個數 − 約束個數。
- 兩檔:2 − 1 = 1 → 一條直線(④ 左圖)
- 三檔:3 − 1 = 2 → 一張平面;再加上 w ≥ 0 就切成一個三角形(④ 右圖)
- 三檔又指定了報酬:3 − 2 = 1 → 又變回一條直線, 這正是 ⑥ 那個解法能精確求解的原因
寫成內積更好記:1Tw = 1。「跟全 1 向量的內積等於 1」—— 01 關講過,固定與某個向量的內積,就是固定在它方向上的投影長度, 而那是一整片垂直於它的平面。所以預算約束的法向量是 (1, 1, 1):斜著切過第一象限的那張平面。
為什麼最優解一定在相切的地方?
用反證最快。假設橢圓(風險等高線)跟約束直線交叉成兩個交點, 那代表在這條直線上有一整段落在橢圓內部 —— 而橢圓內部的風險比橢圓上更低。 所以只要有兩個交點,你就一定還能更省,這個 c 不可能是最優。
反過來如果完全不相交,代表這個風險水準 c 太低,直線上沒有任何一點做得到。
兩邊夾殺,最優只能發生在剛好一個交點的臨界狀態,也就是相切。 ⑦ 的滑桿就是在讓你親手走過 0 → 1 → 2 這三個階段。
相切寫成代數是 Cw = λ·1(兩邊法向量平行),那個 λ 就是拉格朗日乘子。 本頁可以直接驗:切點 w = (0.133028, 0.866972) 代進去, Cw = (20.177752, 20.177752),兩個分量一模一樣, 確實平行於 (1, 1)。完整的拉格朗日推導不在本關,⑦ 有標明。
這跟 PCA 裡那個 wTCw 是同一個東西嗎?
式子完全同一個,C 也是同一種矩陣(共變異數矩陣)。差在三件事:w 的身分、要最大還是最小、約束是什麼。
| 05 關 PCA | 最佳化 03 關(本關) | |
|---|---|---|
| w 是 | 一個單位方向(往哪看) | 錢的比例(怎麼分) |
| wTCw 是 | 資料往那個方向的變異數 | 組合報酬的變異數 |
| 要 | 最大化(找最散開的方向) | 最小化(找最穩的分法) |
| 約束 | ‖w‖ = 1(一個單位圓) | 1Tw = 1(一條直線/一張平面) |
| 相切條件長成 | Cw = λw → 特徵向量 | Cw = λ1 → 解 C−11 再正規化 |
兩邊的解都長成「Cw = λ·(某個東西)」,因為兩邊都是相切條件: 目標的等高線碰到約束集。PCA 的約束是圓,而圓的法向量就是 w 自己, 所以條件變成 Cw = λw —— 那就是特徵向量的定義。 本關的約束是平面,法向量是常數 1,所以條件是 Cw = λ1。
換一個約束,「特徵向量」就換成別的東西。這是 ⑦ 那張對照表的重點。
那為什麼實務上這套常常失效?
因為數學是精確的,輸入是猜的。四個具體原因(⑩ 有完整版):
- μ 沒有預測力:整條邊界的縱軸位置來自歷史平均報酬,而它對未來的預測力接近於零。這條最致命。
- C 的估計誤差被放大:最佳化會主動去找「相關係數看起來最低」的那一對加碼, 而那常常只是噪音。這就是「error maximizer」的名號來源,對策是 shrinkage。
- ρ 在危機時一起衝向 1:你最需要分散的那天,分散剛好失效(③ 的 ρ = 1 就是那天的樣子)。
- 解對輸入極度敏感:μ 動一個百分點,權重表就換一批。
但這不代表這套沒用 —— 它的價值在幾何直覺,不在小數點: 「相關性高的資產不算真正的備援」、「加一條約束一定有代價,而代價可以量出來」、 「同樣報酬下往左推到底」這幾件事,是拿掉數字之後還站得住的。
實務上真正在用的是加了一堆約束、shrinkage 過、甚至退回等權重的版本 —— 而你要判斷那些修補合不合理,得先懂沒修補的原版長什麼樣。這就是這一關的用途。
MVP(最小變異數組合)跟切點組合(最大夏普)差在哪?我該挑哪個?
MVP 完全不看報酬,切點組合看的是「性價比」。
MVP 解的是 min wTCw s.t. 1Tw = 1 —— 注意 μ 根本沒進到式子裡。所以它是「不管賺多少,我只要最穩」。 本頁不放空的 MVP 是 (13.30%, 86.70%, 0%),σ = 4.49%、μ = 3.67%。
切點組合要先有一個無風險利率 rf 當比較基準,解的是 max (μTw − rf) / √(wTCw), 也就是「從 (0, rf) 出發的那條線最陡」。本頁在 rf = 1.5% 之下是 (20.95%, 71.05%, 8.00%),σ = 5.82%、μ = 4.93%、夏普 0.588(MVP 的夏普只有 0.482)。
怎麼挑:如果你可以自由借貸無風險資產,就挑切點組合 —— 因為你可以沿著資本配置線(⑧ 的開關 c) 自由調整「定存 + 切點組合」的比例,任何風險水準都能拿到最高報酬,MVP 會被這條直線超越。 如果不能(多數人的實際情況),那就在弧形邊界上按自己能承受的 σ 挑一點,MVP 是最保守的那一端。
十關一句話串起來:
內積 → 變異數其實是內積 → 共變異數也是內積 → 把它們裝成矩陣 C → C 的特徵向量 = 資料主軸(PCA)→ 補完空間語言 → SVD 拆解任何矩陣 → 拿 C 當尺量距離 → 在約束下最佳化 wTCw。
從頭到尾只有一個式子在變身:wTCw。 05 關要它最大、機率統計 05 關拿它當距離、最佳化 03 關要它最小。 C 一直是同一個 C,變的只有你問它什麼問題、以及你被什麼約束住。
這是本實驗室目前的最後一關。想把十關的關係重新攤開來看、 或者做一次費曼測試檢查自己是不是真的懂了,回 全景 01 全景地圖與自我驗收。