導數:斜率與變化率
這是微積分這一層的第一關(共五關),也是最該先讀的一關 ——
因為另外四關(積分、多變量、
規則、應用)都踩在它上面。
導數回答的問題只有一句:x 動一點,y 跟著動多少。
最佳化 03 關把它設成 0 去找最低風險、
最佳化 02 關拿它當影子價格、
最佳化 01 關拿它讓機器自己走下坡 —— 都是同一個數字換場合。
這一關是微積分 01,不算在主線十六關裡,隨時可以插隊;後面用到它的地方都會連回這一頁。
① 這關在解什麼問題:先說導數拿來幹嘛
基礎 01 關與前面主線十六關給了你什麼 你已經親手量過斜率(基礎 01 ⑥ 拖著點量 ex 的坡度)、親手看過梯度歸零 (最佳化 01 ⑤ 把藍點拖到谷底,箭頭縮到消失)、 親手用切線估過影子價格(最佳化 02 ⑤ 的中央差分)。 操作全部做過,名字一個都沒給。這一關只補名字與算法,不引入任何新的線性代數或機率概念。
「導數」這個詞本身不值得背。值得記的是它能拿來做四件事 —— 而這四件事你在後面關卡全部會遇到:
- 找最佳點:斜率 = 0 的地方就是谷底或山頂。 最佳化 03 ⑥ 的最低風險組合,就是把導數設 0 一行解出來的。
- 量變化率:「多給一單位預算能省多少」= 最佳化 02 ⑤ 的影子價格 λ;「密度是 CDF 的斜率」= 機率統計 02 ④。
- 讓機器自己走下坡:梯度下降每一步都在問「往哪邊斜、斜多少」—— 最佳化 01 ⑤⑥。這是機器學習訓練的全部機制。
- 用一個數字預測附近:ln(1 + r) ≈ r(④)—— 日報酬在 1% 以內時,log 報酬幾乎等於百分比報酬。
四件事的共同形狀都是「x 動一點,y 跟著動多少」。 這一關把那個「多少」變成一個可以算、也可以現場量出來的數字。
導數在主線十六關的哪些地方已經被用掉了
下面這張表不是清單,是這一關存在的理由。每一列都是「已經用了、但沒教」:
| 在哪 | 用到什麼 | 你需要哪一節 |
|---|---|---|
| 02 ⑤ | 「平方可微,它的導數是 2x,梯度下降愛它」 | ② 差商 |
| 基礎 01 ⑥ | 中央差分現場量 ex 與 ln x 的坡度 | ② · ③ |
| 最佳化 02 ④ · ⑤ | 相切、切線斜率、中央差分 h = 0.001 現場驗 λ | ② |
| 最佳化 02 坑 4 | 「影子價格是切線,不是弦」:走遠了就系統性低估 | ④ 線性近似 |
| 最佳化 03 ⑥ | 「拋物線一定有唯一最低點,把導數設 0 直接解出來」 | ②;多維版在 多變量關 ③ |
| 機率統計 02 ⑨ · 實戰 ③ | ln、exp 的斜率; ln(1+r) ≈ r 的來歷 | ③ · ④ |
另外三個大用途 ——「面積 / 累積」、「多變數的斜率」、 「不必每次算極限的規則」—— 在另外幾關,見下面那張分工表。
本頁符號對照表
這一頁只有 6 個符號,其中兩個你在 最佳化 02 ⑤ 已經見過:
微積分這一層有五關,你在第 01 關
五關沒有先後綁定(除了多變量關與規則關預設你讀過這一關)。卡在哪一關就讀對應那一關:
| 關 | 它回答什麼 | 誰在用 |
|---|---|---|
| 導數(你在這裡) | 「這一點斜多少」 | 最佳化 01 的梯度、最佳化 02 的影子價格、最佳化 03 的「導數設 0」、基礎 01 量過的 eˣ 斜率 |
| 積分 | 「這一段總共多少」 | 機率統計 02 的面積 = 機率、機率統計 05 的尾巴、機率統計 01 的臨界值、期望值 |
| 多變量 | 「兩個以上的變數怎麼斜」 | 最佳化 01 ⑤ 的 ∇f、最佳化 01 ④ 的凸性、最佳化 03 ⑦ 的 2Cw、最佳化 02 的相切 |
| 規則 | 「不算極限,直接寫下導數」 | 02 ⑤ 的 2x、最佳化 02 ② 的 2(x−2)、機率統計 05 ⑤ 的 λe−λt、反向傳播 |
| 應用 | 「這些工具在 ML 與交易的哪裡」 | 選擇權 Delta / Gamma、softmax 與交叉熵、log 報酬的期望 |
把「上升 ÷ 前進」的那一步切到無限細,除出來的數字就是導數。 它有兩個身分:① 一個數字(這一點多陡)、② 一把尺(拿它預測附近的值)。
剩下的篇幅都在回答兩個問題:這個數字怎麼量出來、量出來能拿去做什麼。
② 導數 = 斜率的極限:把「上升 ÷ 前進」切到無限細
上一節給了你什麼 ① 節告訴你:你在 基礎 01 ⑥ 已經量過斜率了, 做法是「把 x 往左右各推 0.001,看高度差多少,再除以推的距離」。 這一節要做的只有一件事:把那個動作寫成式子,然後問「如果那一步推到無限小,會怎樣」。
順便先給一個名字:極限。你一直在用它 —— 機率統計 02 ② 那句「組距 → 0、樣本數 → ∞」、 基礎 01 ⑤ 那個 (1+1/n)n 收斂到 2.718、 以及這一節接下來要做的 h → 0,全部是同一個動作: 把某個東西一路推向極端,然後問「數字往哪裡靠」。 「極限」就是給這個「逼近」的動作一個名字,它不是新的操作。
先看「兩點之間」的斜率:這你一定會
地圖上的坡度怎麼算?上升 ÷ 前進。曲線上任兩點也一樣:
f(x + h) —— 往右走 h 之後那一點的高度。
分子 f(x + h) − f(x) = 上升了多少(可以是負的,那就是下坡)。
分母 h = 前進了多少。
整個式子有名字:差商(difference quotient)—— 「差」除以「差」的商。
這條線叫割線(穿過曲線上兩點的直線)。它算出來的是那一段的平均坡度, 不是「你站的那一點」的坡度。兩者差多少,取決於 h 有多大。
再把 h 縮小:割線會轉成切線
如果 h 一路縮小,右邊那顆點會沿著曲線滑回來,割線也跟著轉。 它會停在一個固定的角度上 —— 那個角度就是「你站的那一點」的坡度。下面這張圖讓你親手縮它。
—
—
把 x = 3、f(x) = x² 的那一排數字抄下來, 因為它是這一節的全部證據:
| h | 上升 f(3+h) − f(3) | 差商(上升 ÷ h) | 差多少 |
|---|---|---|---|
| 1 | 7.000000 | 7.000000 | 大 1.000 |
| 0.5 | 3.250000 | 6.500000 | 大 0.500 |
| 0.1 | 0.610000 | 6.100000 | 大 0.100 |
| 0.01 | 0.060100 | 6.010000 | 大 0.010 |
| 0.001 | 0.006001 | 6.001000 | 大 0.001 |
最後一欄有個很難忽視的規律:差出來的量剛好就是 h 本身。 所以 h 一路縮下去,那個誤差也一路縮下去,而差商停在 6。
為什麼是 6:這次不用量,用代數算
上面那張表是量出來的。同一件事可以算出來,而且只用到國中的乘法公式。 以 f(x) = x² 為例,一步都不跳:
= ( (x + h)² − x² ) / h
= ( x² + 2xh + h² − x² ) / h
= ( 2xh + h² ) / h
= 2x + h 第二行:把 (x+h)² 展開成 x² + 2xh + h²。
第三行:x² 一正一負消掉了 —— 這是關鍵,消掉之後分子每一項都帶 h。
第四行:分子分母各除一個 h(此時 h 還不是 0,所以除得下去)。
結果是 2x + h:差商不是一個常數,它跟著 h 變。
現在把 h 推向 0。2x + h 裡的 h 消失, 剩下 2x。代 x = 3:2 × 3 = 6 —— 跟上面那張表量到的完全一樣。
這是全部微積分最容易被誤讀的一句話,值得停下來三十秒。
如果直接把 h = 0 代進原式,你會得到 (f(x) − f(x)) / 0 = 0 / 0 —— 沒有意義。 所以我們不代 0,而是問:「h 越來越小的時候,這個數字往哪裡靠?」
上表回答了這個問題:7 → 6.5 → 6.1 → 6.01 → 6.001,它往 6 靠。 這個「往哪裡靠」的答案叫極限(limit)。機率統計 02 ② 那句「組距 → 0、樣本數 → ∞」用的是同一個字, 基礎 01 ⑤ 那個 (1+1/n)n 收斂到 2.718 也是同一個字。
這一頁不做 ε-δ 的形式定義(那是給要證明定理的人用的)。 「數字往哪裡靠」這個直覺,配上你剛剛親手縮過的那根滑桿,已經足夠支撐後面所有關卡。
把名字補上:導數、切線、微分
limh→0 —— 「當 h 趨近 0 時,後面這個東西趨近的值」。
同一件事的另外三種寫法:df/dx、dy/dx、 d/dx f(x)。意思完全一樣, d 是「無限小的一段差」(跟 Δ 相對,Δ 是「有限的一段差」)。
「求 f′ 的動作」叫微分(differentiate); 可微就是「這個極限存在」,也就是 02 ⑤ 講平方時用的那個詞。
而切線就是「斜率剛好是 f′(x)、又穿過 (x, f(x)) 的那條直線」—— 也就是上面那條桃紅虛線。它不是「只碰一點的線」(那個描述在很多曲線上會出錯), 它的定義就是「割線在 h → 0 時的極限位置」。
上面那條式子往右推一步,叫前向差分(forward difference)。實務上更常用的是兩邊各推半步:
這叫中央差分(central difference)。基礎 01 ⑥ 與 最佳化 02 ⑤ 用的都是它,h 都是 0.001。
為什麼要繞這一下?因為它準得多。同樣 h = 0.001 量 x² 在 x = 3 的斜率:
- 前向差分:6.001 —— 誤差 0.001,跟 h 同一個數量級。
- 中央差分:6.000000 —— 誤差是 10−13 級的浮點殘渣。
直覺上的理由:前向差分永遠偏向「右邊那一段」的坡度,偏差是單向的; 中央差分左右各偏一次、方向相反,兩個偏差互相抵掉。 代價只是多算一次函數值。要在程式裡量斜率,就用中央差分。
③ ex 與 ln x 的導數:基礎 01 關量過的那兩件事,現在給名字
基礎 01 關給了你什麼 基礎 01 ⑥ 你已經拖著點量過兩條曲線的坡度, 量到的結果是「ex 的斜率就是自己」與 「ln x 的斜率是 1/x」。 當時那一頁只能說「量出來的」。現在那個量出來的東西有名字了,叫導數 —— 所以那兩句話可以寫成正式的式子。
第二條的意思:ln 一路變慢 —— 在 x = 1 坡度是 1, 到 x = 100 只剩 0.01。
x > 0 的限制是因為 ln 只吃正數 (基礎 01 ⑧ 坑 1)。
—
—
為什麼 ex 微分之後是自己:一行差商就看得出來
把 ② 節的差商套到 ex 上,用的是 基礎 01 ④ 那條「指數相加=底數相乘」:
重點:提出來的 ex 跟 h 完全無關, 所以整條式子是「ex 乘上一個只跟 h 有關的數」。
剩下的問題只有一個:(eh − 1)/h 在 h → 0 的時候是多少? 代幾個數字進去看(自己按計算機也可以):
| h | eh − 1 | (eh − 1) / h |
|---|---|---|
| 1 | 1.718282 | 1.718282 |
| 0.1 | 0.105171 | 1.051709 |
| 0.01 | 0.010050 | 1.005017 |
| 0.001 | 0.001001 | 1.000500 |
| 0.0001 | 0.000100 | 1.000050 |
它往 1 靠。所以整條差商往 ex × 1 靠 —— 導數就是自己。
順序不要弄反:不是「e 剛好有這個性質」,是「有這個性質的那個底就叫 e」。
基礎 01 ⑤ 用連續複利算出 (1 + 1/n)n → 2.718281828…。 把 h = 1/n 代進去,那條式子等價於 (1 + h)1/h → e,兩邊取 ln 再整理, 得到的就是 (eh − 1)/h → 1。 連續複利、e 的定義、「微分之後不變」是同一件事的三種說法。
換成別的底就會多一個常數:d/dx 2x = 2x · ln 2 ≈ 2x × 0.693。 基礎 01 ⑥ 那句「哪個底讓這個常數剛好是 1,答案就是 e」, 現在你看得到那個常數是從哪一步跑出來的。
為什麼 ln x 的導數是 1/x:鏡射之後斜率取倒數
基礎 01 ③ 那張圖說過:ex 與 ln x 沿著 y = x 互相鏡射。 鏡射把「橫向」與「縱向」對調,所以斜率會變成倒數:原來「前進 1、上升 3」的地方, 鏡射過去就是「前進 3、上升 1」。
把這件事寫下來:設 y = ln x,那麼 x = ey。
第二步:鏡射就是把 dx/dy 翻成 dy/dx,也就是取倒數。
所以 ln x 在 x 這一點的坡度是 1/x。 在 x = e 驗一次:ex 在 y = 1 的坡度是 e ≈ 2.718, 而 ln x 在 x = e 的坡度是 1/e ≈ 0.368 —— 兩個相乘剛好是 1。
這條 1/x 解釋了 基礎 01 ⑦ 那張對數刻度圖為什麼有用:它對大數字越來越不敏感, 剛好符合我們看大數字的方式(我們在意的是「幾倍」,不是「差多少」)。 全景 01 關提到的「負對數概似」也踩在同一條性質上: 機率相乘取 log 變相加,而 log 的導數乾淨(1/x), 梯度下降才推得動它。
④ 線性近似:導數不只是一個數字,它是一把尺
前面幾節給了你什麼 ② 節之後,你會把導數當成「那一點的斜率」。這一節多給它一個身分: 用它去猜附近的值。而你已經被這件事咬過一次 —— 最佳化 02 關坑 4 用數字證明過 「影子價格 λ 是切線,不是弦」: 同樣多接一整單位,在 b = 6 只低估 16.7%,在 b = 4 卻低估 50%。 那一節缺的就是這一節的名字。
切線就是「假裝曲線是直的」
f(a) —— 起點的高度。
f′(a) —— 在 a 這一點的斜率(② 節量的那個數)。
(x − a) —— 你要往旁邊走多遠。
整條式子讀作:「從已知的那一點出發,照當地的坡度直線走過去」。 它有三個名字:線性近似、切線近似、一階泰勒展開 —— 同一件事。
—
—
最常用的一個特例:ln(1 + r) ≈ r
把上面那條式子套在 f(x) = ln(1 + x)、切點 a = 0 上。 需要兩個數字:f(0) = ln 1 = 0, 以及 f′(0) —— 由 ③ 節,ln(1+x) 的斜率是 1/(1+x),代 x = 0 得 1。所以:
| r | ln(1 + r) 真值 | 近似值 r | 相對誤差 | 能用嗎 |
|---|---|---|---|---|
| 1 % | 0.009950 | 0.010000 | 0.50 % | 可以,誤差可忽略 |
| 5 % | 0.048790 | 0.050000 | 2.48 % | 看用途 |
| 20 % | 0.182322 | 0.200000 | 9.70 % | 已經不該用 |
| 50 % | 0.405465 | 0.500000 | 23.32 % | 不行 |
誤差從 0.5% → 2.5% → 9.7% → 23%:r 放大幾倍,相對誤差就跟著放大幾倍 (因為誤差 ≈ ½r²,除以 r 之後還剩一個 r)。 這就是「小的時候能用、大的時候不能用」的量化版本 —— 實戰 ③ 的日報酬幾乎都在 1% 以內,所以那裡兩者可以混著談; 三個月累積 20% 以上就不行了。
線性近似丟掉的是彎曲。彎多少由 f″(多變量關 ③)決定,而誤差大約是:
兩個立刻對得上的地方:
- 最佳化 02 關坑 4:同樣多接一整單位, λ 在 b = 6 低估 16.7%、在 b = 4 低估 50%。 差別不在步子大小,在那裡的曲線彎得多兇 —— 誤差 ≈ ½·f″·(步子)², f″ 大的地方,同樣一步就錯得多。而方向永遠一樣: 凸函數往上彎,切線只會低估。
- 機率統計 02 ⑨ 的 E[exp Y] ≠ exp(E[Y]): 差的那個 es²/2 因子,來源同樣是二階項 (s² 就是變異數)。「E 穿不過非線性」與「線性近似有誤差」是同一件事的兩種說法。
⑤ 這關回答了什麼
一句話說,導數到底是什麼?
它是「上升 ÷ 前進」,只是那個「前進」被縮到無限小。 兩點之間的斜率你本來就會算(② 的差商); 導數就是把右邊那點滑回來、割線轉成切線之後停在的那個數字。
它有兩個身分,兩個都要記:① 一個數字 ——「這一點有多陡」; ② 一把尺 —— 用它可以猜附近的值(④ 的線性近似)。 最佳化 02 關的影子價格用的是第二個身分。
「h → 0」跟「把 h 代 0」差在哪?
差在後者沒有意義。直接代 h = 0 會得到 0 / 0;h → 0 問的是 「h 越來越小的時候,這個數字往哪裡靠」。
② 那張表就是答案:7 → 6.5 → 6.1 → 6.01 → 6.001,它往 6 靠。 這個「往哪裡靠」叫極限。機率統計 02 ② 的「組距 → 0」、 基礎 01 ⑤ 的 (1+1/n)n → e 用的是同一個字。
為什麼程式裡量斜率要用中央差分,不用定義本身?
因為同樣的 h,中央差分準十個數量級。量 x² 在 x = 3 的斜率、h = 0.001:前向差分給 6.001 (誤差跟 h 同級),中央差分給 6.000000(誤差 10−13 級)。
理由是偏差方向:前向差分永遠偏向右邊那一段,偏差是單向的; 中央差分左右各偏一次、方向相反,兩個偏差互相抵掉。 代價只是多算一次函數值 —— 基礎 01 ⑥、 最佳化 01 ⑤、最佳化 02 ⑤ 全站的量測器都是這樣寫的。
ex 為什麼微分之後還是自己?ln x 為什麼是 1/x?
第一件事是定義,不是巧合。任何指數函數的差商都可以拆成 bx · (bh − 1)/h —— 後面那塊只跟 h 有關。 所以每個指數函數的導數都是「自己乘上一個常數」,而讓那個常數剛好是 1 的底就叫 e(③)。
第二件事是鏡射:ln 是 ex 沿 y = x 的鏡射(基礎 01 ③), 鏡射把橫向與縱向對調,所以斜率取倒數 → 1/x。 在 x = e 對帳:2.718 與 0.368 相乘剛好 1。
為什麼 ln(1+r) ≈ r?什麼時候就不能這樣用了?
因為在 a = 0 這一點,ln(1+x) 的高度是 0、 斜率剛好是 1,所以切線就是 y = r(④)。
能不能用看誤差表:r = 1% 時相對誤差 0.5%(可忽略)、 5% 時 2.5%(看用途)、20% 時 9.7%(不該用)、50% 時 23%(不行)。 誤差跟 r² 成正比,所以「小的時候好用、大的時候壞得很快」。 實戰 ③ 的日報酬都在 1% 以內,那裡才可以混著談。
這一關跟主線十六關、跟另外四關的關係是什麼?
對主線十六關:它不引入新概念,只把 02、基礎 01、最佳化 02、最佳化 03 已經在用的動作命名。 ① 那張表列了六個位置。
對另外四關:積分關(面積與累積)是這一關的反面 —— 導數問「這一點多陡」,積分問「這一段總共多少」,而 基本定理說它們互為逆操作。 多變量關(梯度與極值)是這一關的升維版 —— 把「一條曲線的斜率」換成「一座山的斜率」,那就是最佳化 01 關的 ∇f。 規則關(微分規則與鏈式法則)是這一關的續集 —— 這裡講「導數是什麼」,那裡講「怎麼不用每次算極限就寫下它」,而鏈式法則就是反向傳播。 應用關(ML 與交易)是出口 —— Delta 就是這一關的 f′、Gamma 就是二階導數。
你是為了 13 / 最佳化 03 關的梯度來的:往 多變量關(梯度與極值), 那裡把 ∂f/∂x、∇f、 ∇(½vᵀAv) = Av 一次算完。
你是為了 09 / 機率統計 05 關的面積來的:往 積分關(面積與累積), 那裡把 ∫ 與「面積 = 機率」接起來。
你是為了最佳化 02 關的 λ 來的:直接回 最佳化 02 ⑤ —— 現在那段中央差分程式碼有名字了,而 ④ 也告訴你它為什麼「只在附近可信」。
你是想知道「學這個能幹嘛」:往 應用關 —— 選擇權的 Delta / Gamma、softmax 與交叉熵、log 報酬的期望值, 三個互動都踩在這一關與 規則關上面。