單變數微積分 01 · 導數是什麼;極限與連續
單變數微積分 01 · MIT 18.01 Lec 1–2

導數是什麼;極限與連續

導數有兩個看法:圖形上,它是切線的斜率;物理上,它是瞬間的變化率。這一頁從「機器要怎麼畫切線」出發,得到導數的定義,用它算出 \(1/x\) 和 \(x^n\) 的導數;接著把定義裡藏著的「極限」講清楚:左右極限、連續,以及函數不連續的四種樣子。

▶ Lec 1(52 分) ▶ Lec 2(53 分) 18.01SC session 1–5 預計閱讀 1.5–2 小時

讀完這頁你應該能夠

  1. 說明切線為什麼是「割線的極限」,而不是「只碰到曲線一次的直線」。
  2. 寫出導數的定義 \(f'(x_0) = \lim_{\Delta x\to0}\frac{f(x_0+\Delta x)-f(x_0)}{\Delta x}\),並說明為什麼不能直接代 \(\Delta x = 0\)。
  3. 用定義算出 \(\frac{d}{dx}\frac1x = -\frac1{x^2}\) 和 \(\frac{d}{dx}x^n = nx^{n-1}\),說出 \(O(\Delta x^2)\) 是什麼意思。
  4. 區分平均變化率和瞬間變化率,並用 \(\Delta L\approx\frac{dL}{dh}\Delta h\) 估計量測誤差的影響。
  5. 算左極限、右極限,用三個條件判斷函數在一點是否連續,認出跳躍、可移除、無窮、震盪四種不連續。
  6. 證明「可微就連續」,並舉出連續但不可微的例子。

前置知識檢查

這一頁只用到高中代數。下面四題如果有一題卡住,先複習那一項再往下讀。

1. 通過點 \((2, 5)\)、斜率 \(3\) 的直線方程式是什麼?
點斜式 \(y - y_0 = m(x - x_0)\):\(y - 5 = 3(x - 2)\),也就是 \(y = 3x - 1\)。整頁都會用這個式子寫切線。
2. 把 \(\frac{1}{3.1} - \frac13\) 通分成一個分數。
\(\frac{3 - 3.1}{3.1\times3} = \frac{-0.1}{9.3}\)。第 3 節算 \(1/x\) 的導數時,做的就是這一步,只是把 0.1 換成 \(\Delta x\)。
3. 展開 \((x + h)^2\) 和 \((x + h)^3\)。
\(x^2 + 2xh + h^2\);\(x^3 + 3x^2h + 3xh^2 + h^3\)。第 6 節會用到:只有第二項重要,其他項都帶著 \(h^2\) 以上。
4. \(f(x) = x^2 + 1\),\(f(a + 1)\) 是什麼?
把 \(x\) 換成 \(a + 1\):\((a+1)^2 + 1 = a^2 + 2a + 2\)。導數的定義裡有 \(f(x_0 + \Delta x)\),就是這種代入。

00怎麼讀這一頁、素材對照

這一頁對應 18.01 的前兩堂課。建議的讀法:先看完 Lec 1,讀第 1–6 節;再看 Lec 2,讀第 7–14 節。每節標題旁的時間戳會跳到影片的那一段。

  • 綠線框起來的「手算」,拿紙筆跟著算一次。
  • 每個 demo 前面都寫了要看什麼:先猜結果,再動手拖。
  • 每節最後有一句話摘要和小練習。答得出來再往下讀。
素材對應內容
18.01 錄影(Jerison,2007)Lec 1 導數的幾何意義、\(1/x\)、\(x^n\);Lec 2 變化率、極限、連續
18.01 講義(2006)Lecture 1、Lecture 2;補充 notes C〈Continuity and Discontinuity〉(離線包 Course/static_resources/lec1.pdf、lec2.pdf、c_cntnt_dscntnt.pdf)
18.01SC session 1–5每個 session 的 notes,以及 worked examples:割線與切線、\(|x|\) 的導數、帳戶餘額、連續但不平滑、極限與不連續(自我測驗用到其中幾題)
Strang Highlights of Calculus(RES.18-005)短片 Big Picture of Calculus、Big Picture: Derivatives、Limits and Continuous Functions
Strang Calculus(RES.18-001)第 1–2 章

2006 講義第 2 講最後的兩個三角極限 \(\lim\frac{\sin\theta}{\theta} = 1\)、\(\lim\frac{1-\cos\theta}{\theta} = 0\),影片到 Lec 3 才證明,所以放在第 02 頁。

01切線問題:畫得出來,但機器要怎麼畫? 3:50

為什麼需要它

Jerison 在黑板上畫了一條曲線,挑一點 \(P\),隨手就畫出切線。他問:我是怎麼做到的? 人可以「看」出來,但我們要的是一個機器也能照做的方法:給一個公式 \(f(x)\) 和一個點 \(x_0\),算出切線。

Jerison · Lec 1 6:03 the task that we have now is to figure out how to do it analytically, to do it in a way that a machine could just as well as I did in drawing this tangent line.

直線的方程式是 \(y - y_0 = m(x - x_0)\)。要寫出切線,需要兩樣東西:

  • 點:\(y_0 = f(x_0)\)。把 \(x_0\) 代進公式就有,不需要微積分。
  • 斜率:\(m\)。這是微積分的部分,稱為 \(f\) 在 \(x_0\) 的導數,記作 \(f'(x_0)\)。

切線不是「只碰一次的線」

高中常說切線是「和曲線只交一點的直線」。這個說法不對:曲線可以彎來彎去,切線可以在別處再穿過曲線好幾次;反過來,一條很陡的直線可能只碰一次卻不是切線。9:53

真正的定義是:在曲線上另取一點 \(Q\),連成割線 \(PQ\)。讓 \(Q\) 沿著曲線往 \(P\) 靠近,割線會轉動,最後停在一個位置,那就是切線。10:23

$$\text{切線} = \lim_{Q\to P}\ \text{割線 } PQ$$
一句話帶走:切線是 \(Q\) 趨近 \(P\) 時割線的極限位置;導數 \(f'(x_0)\) 就是切線的斜率。

02差商:割線的斜率,以及導數的定義 12:27

把 \(P\) 和 \(Q\) 的座標寫出來。\(P\) 在 \(x_0\) 上方,\(Q\) 往右移了水平距離 \(\Delta x\)(讀作 delta x,「\(x\) 的改變量」):

  • \(P = (x_0,\ f(x_0))\)
  • \(Q = (x_0 + \Delta x,\ f(x_0 + \Delta x))\)

垂直方向的差是 \(\Delta f = f(x_0+\Delta x) - f(x_0)\)。割線的斜率是「高除以底」:

$$\frac{\Delta f}{\Delta x} = \frac{f(x_0+\Delta x) - f(x_0)}{\Delta x}$$

這個式子叫差商(difference quotient):分子是兩個函數值的差,分母其實也是差(右邊的 \(x\) 減左邊的 \(x\))。讓 \(Q\to P\),就是讓 \(\Delta x\to0\):

導數的定義 $$f'(x_0) = \lim_{\Delta x\to0}\frac{f(x_0+\Delta x) - f(x_0)}{\Delta x}$$

Jerison 把這個式子框起來,說它是這堂課「by far the most important formula」,後面幾乎所有公式都從它推出來。16:19

Demo 1 · 割線怎麼變成切線

怎麼看:
  • 把 \(\Delta x\) 從 1 慢慢拉向 0,看割線(橙)怎麼轉到切線(藍虛線)的位置,讀數裡的差商怎麼逼近 \(f'(x_0)\)。
  • \(\Delta x\) 拉到負的,割線從左邊靠過來,最後停在同一條切線上。
  • 下圖是導數函數 \(f'(x)\)。藍點是切線斜率,空心橙點是目前割線的斜率。拖 \(x_0\),看藍點描出整條 \(f'\)。
  • 選「0.5x³ − x」,比較 \(x_0 = -0.75\)、\(0\)、\(0.75\) 三處:要讓差商離切線斜率不到 0.1,\(\Delta x\) 各要多小?(18.01SC session 1 的例題)
f(x)割線 PQ切線f′(x)(下圖)
一句話帶走:導數 = 割線斜率 \(\frac{\Delta f}{\Delta x}\) 在 \(\Delta x\to0\) 時的極限。
Demo 裡的 18.01SC 例題:\(f(x) = 0.5x^3 - x\),要讓差商離切線斜率不到 0.1,\(x_0 = 0\) 和 \(x_0 = \pm0.75\) 各需要多小的 \(\Delta x\)?
展開可得差商 \(= f'(x_0) + 1.5x_0\,\Delta x + 0.5\,\Delta x^2\)。\(x_0 = 0\) 時一次項消失,誤差只有 \(0.5\Delta x^2\),\(|\Delta x| < 0.44\) 就夠(\(\Delta x = 0.5\) 時差 0.125,還不夠)。\(x_0 = \pm0.75\) 時誤差主要是 \(1.125\,|\Delta x|\),要 \(|\Delta x|\) 小於約 0.08。結論:曲線在那一點附近彎得越厲害(這裡是 \(1.5x_0\) 那一項),\(\Delta x\) 就要越小。
小練習:在 Demo 1 選 x²、\(x_0 = 1\)。\(\Delta x = 0.5\) 和 \(\Delta x = -0.5\) 時差商各是多少?兩者的平均是多少?
\(\frac{1.5^2 - 1}{0.5} = 2.5\),\(\frac{0.5^2 - 1}{-0.5} = 1.5\),平均剛好是 \(2 = f'(1)\)。對 \(x^2\) 來說,左右兩邊的誤差都是 \(\Delta x\),方向相反,所以一平均就抵消了。

03例一:\(1/x\) 的導數 17:06

\(f(x) = \frac1x\)。把它代進差商:

$$\frac{\Delta f}{\Delta x} = \frac{\dfrac{1}{x_0+\Delta x} - \dfrac{1}{x_0}}{\Delta x}$$

如果現在就令 \(\Delta x = 0\),分子 \(\frac1{x_0} - \frac1{x_0} = 0\),分母也是 0,得到 \(\frac00\),什麼都看不出來。導數永遠會遇到這個情況,所以一定要先做代數化簡,讓分母的 \(\Delta x\) 消掉。20:44

化簡分兩步。第一步,把 \(\frac{1}{\Delta x}\) 提到前面,括號裡兩個分數通分:

$$\frac{\Delta f}{\Delta x} = \frac{1}{\Delta x}\left[\frac{x_0 - (x_0+\Delta x)}{(x_0+\Delta x)\,x_0}\right] = \frac{1}{\Delta x}\left[\frac{-\Delta x}{(x_0+\Delta x)\,x_0}\right]$$

第二步,分子的 \(-\Delta x\) 和前面的 \(\frac1{\Delta x}\) 消掉:

$$\frac{\Delta f}{\Delta x} = \frac{-1}{(x_0+\Delta x)\,x_0}$$

現在可以令 \(\Delta x\to0\) 了,分母不再是 0:

$$f'(x_0) = \lim_{\Delta x\to0}\frac{-1}{(x_0+\Delta x)\,x_0} = -\frac{1}{x_0^2}$$
手算

\(x_0 = 3\)。課堂上有學生問最後一步的極限怎麼來,Jerison 就代 \(x_0 = 3\):分母是 \((3 + \Delta x)\cdot3\),\(\Delta x\) 越來越小,分母趨近 9,所以極限是 \(-\frac19\)。23:26

\(\Delta x\)差商 \(\frac{-1}{(3+\Delta x)\cdot3}\)和 \(-1/9\) 的差
0.1−0.1075270.003584
0.01−0.1107420.000369
0.001−0.1110740.000037

\(\Delta x\) 每縮小 10 倍,差距也大約縮小 10 倍。

合理性檢查 21:52:\(-1/x_0^2\) 永遠是負的,對應雙曲線一路往下坡;\(x_0\) 越大,斜率的絕對值越小,對應曲線越往右越平。算完一個導數,先用圖形檢查正負和趨勢,是很好的習慣。

一句話帶走:\(\frac{d}{dx}\frac1x = -\frac1{x^2}\);計算時先化簡消掉分母的 \(\Delta x\),才能取極限。
小練習:用同樣的方法算 \(f(x) = \frac{1}{x+1}\) 在 \(x_0\) 的導數。
差商 \(= \frac{1}{\Delta x}\cdot\frac{(x_0+1)-(x_0+\Delta x+1)}{(x_0+\Delta x+1)(x_0+1)} = \frac{-1}{(x_0+\Delta x+1)(x_0+1)}\),極限 \(-\frac{1}{(x_0+1)^2}\)。就是把 \(1/x\) 的圖往左移 1。

04「把微積分變難」:切線三角形的面積永遠是 2 25:39

Jerison 說微積分名聲不好,是因為題目通常包在情境裡:微積分本身只是一小步,其他都是高中代數和幾何。他用一題示範:\(y = 1/x\) 在第一象限的切線,和兩軸圍成的三角形,面積是多少? 26:39

  1. 唯一的微積分步驟:切線。在 \((x_0, y_0)\),\(y_0 = \frac1{x_0}\),斜率是上一節的 \(-\frac1{x_0^2}\): $$y - y_0 = -\frac{1}{x_0^2}(x - x_0)\qquad(\star)$$
  2. \(x\) 截距:令 \(y = 0\):\(-\frac1{x_0} = -\frac{x}{x_0^2} + \frac1{x_0}\),移項得 \(\frac{x}{x_0^2} = \frac2{x_0}\),所以 \(x = 2x_0\)。
  3. \(y\) 截距:\(y = 1/x\) 和 \(x = 1/y\) 是同一條曲線,把 \(x\)、\(y\) 互換,圖形不變。所以由對稱,\(y\) 截距是 \(2y_0\)。不放心的話,在 \((\star)\) 令 \(x = 0\) 算一次。34:27
  4. 面積:\(\frac12(2x_0)(2y_0) = 2x_0y_0 = 2x_0\cdot\frac1{x_0} = 2\)。和切點在哪裡無關。40:33

Demo 2 · 切線三角形

怎麼看:拖動切點 \(x_0\)。三角形一下變得又高又瘦、一下又矮又胖,但讀數裡的面積一直是 2;兩個截距也一直是切點座標的兩倍。

同一個字母,兩種意思

Jerison 特別指出這題裡藏著一個「刻意的草率」。38:00 第一次用 \(y\) 時,它是曲線 \(y = 1/x\) 上的點;求 \(x\) 截距時令 \(y = 0\),這時的 \(y\) 是切線上的點,代的是 \((\star)\) 不是 \(y = 1/x\)。同一個字母在計算中途換了角色。這樣寫比較省事,大家都這樣做,但要清楚每一步代的是哪一條線的方程式,否則很容易代錯。

一句話帶走:應用題裡微積分通常只有一步(求切線斜率),其餘是代數;同一個字母可能在不同步驟代表不同的線。

05記號:Newton 和 Leibniz 41:41

\(y = f(x)\) 時,\(\Delta y\) 和 \(\Delta f\) 是同一件事。導數有好幾種寫法,意思完全一樣:

寫法來源注意
\(f'(x_0)\)、\(y'\)Newton寫出了在哪一點算
\(\frac{df}{dx}\)、\(\frac{dy}{dx}\)、\(\frac{d}{dx}f\)Leibniz沒寫出在哪一點,要從上下文判斷

Leibniz 的寫法像一個分數 \(\frac{\Delta y}{\Delta x}\) 取極限,提醒你它是「\(y\) 的變化除以 \(x\) 的變化」。後面學 chain rule 時,這個「像分數」的特性會很方便。

06例二:\(x^n\) 的導數,以及「垃圾項」 43:48

\(f(x) = x^n\),\(n = 1, 2, 3, \ldots\)。這次把 \(x_0\) 直接寫成 \(x\)(Jerison 說是為了省黑板):把 \(x\) 想成固定,只有 \(\Delta x\) 在動。

$$\frac{\Delta f}{\Delta x} = \frac{(x+\Delta x)^n - x^n}{\Delta x}$$

需要知道 \((x+\Delta x)^n\) 展開後長什麼樣子。它是 \(n\) 個 \((x + \Delta x)\) 相乘,每個括號挑 \(x\) 或 \(\Delta x\):

  • 全部挑 \(x\):一項 \(x^n\)。
  • 剛好一個括號挑 \(\Delta x\)、其他挑 \(x\):有 \(n\) 種挑法,每種都是 \(x^{n-1}\Delta x\),合起來 \(nx^{n-1}\Delta x\)。
  • 挑兩個以上的 \(\Delta x\):每項至少帶 \((\Delta x)^2\)。全部收成一包,記作 \(O(\Delta x^2)\)。
$$(x+\Delta x)^n = x^n + nx^{n-1}\Delta x + O(\Delta x^2)$$

\(O(\Delta x^2)\) 讀作「\((\Delta x)^2\) 量級的東西」:一堆帶著 \((\Delta x)^2\)、\((\Delta x)^3\)……的項,我們不在乎它們的係數。代回差商:

$$\frac{\Delta f}{\Delta x} = \frac{x^n + nx^{n-1}\Delta x + O(\Delta x^2) - x^n}{\Delta x} = nx^{n-1} + O(\Delta x)$$

除掉一個 \(\Delta x\) 之後,垃圾項還帶著至少一個 \(\Delta x\),所以 \(\Delta x\to0\) 時它消失。Jerison:「in math, junk is something that goes away」。49:26

冪次規則 $$\frac{d}{dx}x^n = nx^{n-1}$$
手算

\(n = 3\),\(x = 2\),公式給 \(3\cdot2^2 = 12\)。用 \(\Delta x = 0.1\) 算差商:\(\frac{2.1^3 - 8}{0.1} = \frac{9.261 - 8}{0.1} = 12.61\)。

多出來的 0.61 就是垃圾項:\((x+\Delta x)^3\) 展開後除以 \(\Delta x\),剩下 \(3x\Delta x + \Delta x^2 = 0.6 + 0.01 = 0.61\)。\(\Delta x = 0.01\) 時它變成 \(0.0601\),大約縮小 10 倍,所以寫成 \(O(\Delta x)\)。

推廣到多項式 49:56:每一項分開微分、常數倍照抄,例如 \(\frac{d}{dx}(x^3 + 5x^{10}) = 3x^2 + 50x^9\)。(為什麼可以分開微分,下一頁會講。)

課後有學生問:二項式定理是不是只在 \(\Delta x\to0\) 時才成立?Jerison 回答:不是,二項式定理是對任何數都成立的完整公式,連垃圾項的係數都寫得出來;只是這裡不需要它們。50:27

一句話帶走:\((x+\Delta x)^n\) 只有前兩項重要,其餘是 \(O(\Delta x^2)\),除以 \(\Delta x\) 後在極限中消失,所以 \(\frac{d}{dx}x^n = nx^{n-1}\)。
小練習:\(n = 0\) 和 \(n = -1\) 時,\(nx^{n-1}\) 給出什麼?和你知道的結果一致嗎?
\(n = 0\):\(x^0 = 1\) 是常數,公式給 \(0\cdot x^{-1} = 0\),常數的導數確實是 0。\(n = -1\):公式給 \(-x^{-2}\),正是第 3 節算的 \(1/x\) 的導數。Lec 2 開頭 Jerison 也指出了這兩個特例。Lec 2 10:08
在 DGM 哪裡用到:「留下前幾項,其餘丟進 \(O(\cdot)\)」就是 Taylor 展開的想法,見補充課 A §01;本系列第 04 頁會正式講線性與二次近似。

07導數是變化率:南瓜落下 Lec 2 2:14

Lec 2 換一個看法。把差商 \(\frac{\Delta y}{\Delta x}\) 看成平均變化率:\(x\) 是時間的話,它就是這段時間內的平均速度。取極限 \(\frac{dy}{dx}\),就是瞬間變化率。

量變化率
電荷 \(q\)\(\frac{dq}{dt}\) = 電流
距離 \(s\)\(\frac{ds}{dt}\) = 速度
溫度 \(T\)(隨位置 \(x\))\(\frac{dT}{dx}\) = 溫度梯度(預報天氣時很重要:溫差造成氣流)12:13

MIT 的萬聖節傳統是從教室所在的大樓頂樓丟南瓜。Jerison 把樓高簡化成 80 公尺(實際約 300 英尺),高度是 6:55

$$h(t) = 80 - 5t^2\quad(\text{公尺,}t\text{ 是秒})$$

\(t = 0\) 在頂樓;\(t = 4\) 時 \(5\cdot4^2 = 80\),落地。

手算

平均速度(整段 0 到 4 秒):\(\frac{\Delta h}{\Delta t} = \frac{0 - 80}{4 - 0} = -20\) 公尺/秒。負號代表往下。8:32

落地瞬間的速度:\(h'(t) = 0 - 5\cdot2t = -10t\)(常數的導數是 0,\(t^2\) 的導數是 \(2t\)),所以 \(h'(4) = -40\) 公尺/秒,是平均速度的兩倍,約時速 90 英里。10:38

用越來越短的最後一段時間算平均速度,會逼近 \(-40\):

時間區間\(h\) 的變化平均速度
[3, 4]35 → 0−35
[3.9, 4]3.95 → 0−39.5
[3.99, 4]0.3995 → 0−39.95

在 Demo 1 選「h(t) = 80 − 5t²」、把 \(x_0\) 拉到 4,就能看到這個過程。觀眾真正在乎的是落地瞬間有多快,不是平均速度,這正是導數回答的問題。

2006 年的講義用英制:樓高 400 英尺,\(y = 400 - 16t^2\),5 秒落地,平均 80 英尺/秒、落地 −160 英尺/秒(約時速 110 英里)。數字不同,結論一樣:落地速度是平均速度的兩倍。

一句話帶走:差商是一段區間的平均變化率;導數是區間縮到 0 時的瞬間變化率。

08量測的敏感度:誤差會被放大多少 12:43

變數不一定是時間。Jerison 用 GPS 的簡化模型(「平地球」,第一次作業的題目):衛星正下方的地面點已知,你和衛星的距離 \(h\) 用無線電訊號量出來,系統再從 \(h\) 推算你離那個地面點多遠,記作 \(L\)。

\(h\) 的量測一定有誤差 \(\Delta h\)(主要來自電離層)。問題是:\(L\) 會跟著錯多少?把差商反過來用:

$$\frac{\Delta L}{\Delta h}\approx\frac{dL}{dh}\quad\Longrightarrow\quad\Delta L\approx\frac{dL}{dh}\,\Delta h$$

導數是「放大倍數」:\(h\) 錯 1 公尺,\(L\) 大約錯 \(\frac{dL}{dh}\) 公尺。Jerison 說這類計算每天都用在讓飛機降落。16:04

手算(本頁自己的數字,不是作業題)

平地球模型是一個直角三角形:衛星高度 \(s\)、斜邊 \(h\)、底邊 \(L = \sqrt{h^2 - s^2}\)。取 \(s = 4\),用差商估計導數:

情況\(h \to h + 0.01\)\(L\) 的變化\(\frac{\Delta L}{\Delta h}\)
離得遠5 → 5.013 → 3.01664≈ 1.66
幾乎在正下方4 → 4.010 → 0.28302≈ 28.3

人幾乎在衛星正下方時,\(h\) 的一點點誤差會讓 \(L\) 錯 28 倍。精確的 \(\frac{dL}{dh}\) 要用下一頁的 chain rule 才算得出來,但差商已經告訴我們放大倍數大概多少。

一句話帶走:輸入有小誤差 \(\Delta h\),輸出的誤差大約是 \(\frac{dL}{dh}\,\Delta h\);導數越大,量測越敏感。
在 DGM 哪裡用到:訓練神經網路時,參數動一小步 \(\Delta\theta\),loss 大約改變 \(\frac{d\,\text{loss}}{d\theta}\,\Delta\theta\)。gradient descent 就是靠這個「放大倍數」決定往哪邊走。多變數版本見補充課 A §02。

09極限:好算的極限,以及導數永遠是 0/0 18:09

導數的定義裡有極限,現在把極限講清楚一點。

好算的極限:直接代入就好。例如 18:40

$$\lim_{x\to4}\frac{x+3}{x^2+1} = \frac{4+3}{4^2+1} = \frac{7}{17}$$

導數的極限永遠不好算:把定義寫成 \(\lim_{x\to x_0}\frac{f(x)-f(x_0)}{x-x_0}\),直接代 \(x = x_0\) 一定得到 \(\frac00\)。所以一定需要某種消去(第 3、6 節做的就是這件事)。20:13

關鍵是:\(x\to x_0\) 的極限,從來不看 \(x = x_0\) 那一點,只看 \(x\) 靠近但不等於 \(x_0\) 時函數往哪裡去。這一點在第 11 節(連續)和第 14 節(證明)都會用到。

10左極限與右極限 21:20

  • 右極限 \(\lim_{x\to x_0^+}f(x)\):只從右邊靠近(\(x > x_0\))。
  • 左極限 \(\lim_{x\to x_0^-}f(x)\):只從左邊靠近(\(x < x_0\))。

一般的(雙邊)極限存在,若且唯若左右極限都存在而且相等。

手算

Lec 2 的例子 23:25:

$$f(x) = \begin{cases}x + 1, & x > 0\\ -x + 2, & x < 0\end{cases}$$
  • 右極限:從右邊來用 \(x + 1\),\(\lim_{x\to0^+}(x+1) = 1\)。
  • 左極限:從左邊來用 \(-x + 2\),\(\lim_{x\to0^-}(-x+2) = 2\)。

兩個不相等,所以 \(\lim_{x\to0}f(x)\) 不存在。注意整個計算沒有用到 \(f(0)\),題目甚至沒有定義 \(f(0)\)。25:31 如果補上 \(f(0) = 1\)(實心點畫在右邊那段),\(f(0)\) 就剛好等於右極限。

一句話帶走:左右極限各自只看一邊;兩邊都存在且相等,雙邊極限才存在。

11連續的定義 27:13

連續 $$f\text{ 在 }x_0\text{ 連續}\iff\lim_{x\to x_0}f(x) = f(x_0)$$

這一行其實包含三個條件:

  1. 極限存在:左極限、右極限都存在,而且相等。
  2. \(f(x_0)\) 有定義。
  3. 兩者相等。

這個定義看起來像廢話(「靠近時的值等於那一點的值」),但它不是,因為左邊的極限是不看 \(x_0\) 那一點算出來的,右邊卻只看那一點。兩個獨立算出來的數相等,才是連續。連續的函數正好就是「極限可以直接代入」的那種:第 9 節的「好算的極限」。29:50

12不連續的四種樣子 30:54

Jerison 帶大家參觀不連續函數的「動物園」。對照上一節的三個條件,看每一種是哪個條件壞掉:

種類左右極限例子
跳躍都存在,但不相等第 10 節的分段函數(左 2、右 1)
可移除都存在而且相等,但 \(f(x_0)\) 沒定義或值不對\(\frac{\sin x}{x}\)、\(\frac{1-\cos x}{x}\) 在 0
無窮至少一邊是 \(\pm\infty\)\(\frac1x\) 在 0
其他(醜的)至少一邊根本不存在,連 \(\pm\infty\) 都不是\(\sin\frac1x\) 在 0
  • 跳躍:看起來很技術性,但 Jerison 舉了 MIT 教授 Robert Merton 的例子:他在得到諾貝爾經濟學獎的工作裡,就認真處理了股價模型是「從左邊連續」還是「從右邊連續」。時間上左邊是過去、右邊是未來,差別很大。32:02
  • 可移除:圖上只缺一個洞,把那一點補上(或改成)極限值,就變連續。\(\lim_{x\to0}\frac{\sin x}{x} = 1\)、\(\lim_{x\to0}\frac{1-\cos x}{x} = 0\) 現在還沒證明,下一頁才證。學生問為什麼,Jerison 說:如果你不覺得意外,那才奇怪。36:30
  • 無窮:\(\lim_{x\to0^+}\frac1x = +\infty\),\(\lim_{x\to0^-}\frac1x = -\infty\)。這時寫「\(\lim_{x\to0}\frac1x = \infty\)」是錯的,不只是草率:兩邊去的方向相反。Jerison 的比喻:正無窮是無限多的錢,負無窮是無限多的債。39:16
  • 醜的:\(\sin\frac1x\) 在 0 附近無限次上下震盪,左右極限都不存在。這門課不會處理它們。43:33

Demo 3 · 從左右兩邊靠近

怎麼看:
  • 把「距離 δ」往右拉(δ 越來越小),橙點從左邊、藍點從右邊靠近 \(x = 0\)。看讀數裡兩邊的函數值往哪裡去。
  • 「跳躍」:兩邊各自停在一個數,但不是同一個。「可移除」:兩邊停在同一個數,那一點卻是空心的洞。
  • 「無窮」:一邊衝向 \(+\infty\)、一邊衝向 \(-\infty\)。「sin(1/x)」:δ 再小,數值還是亂跳。
  • 「|x|」是連續的;它的毛病在導數,第 14 節會用到。
從左邊:x = −δ從右邊:x = +δ
一句話帶走:不連續就是「極限存在、\(f(x_0)\) 有定義、兩者相等」至少一項失敗;看是哪一項失敗,就知道是哪一種。
小練習:\(f(x) = \frac{x^2-1}{x-1}\) 在 \(x = 1\) 是哪一種不連續?怎麼修好?
\(x \ne 1\) 時 \(f(x) = x + 1\),左右極限都是 2,但 \(f(1)\) 沒定義(\(\frac00\)),所以是可移除的不連續。補上 \(f(1) = 2\) 就連續了。(這是 notes C 的例子。)

13導數的圖,長得不像原函數 40:21

把 \(f(x) = \frac1x\) 和 \(f'(x) = -\frac1{x^2}\) 上下畫在一起:\(f\) 在右半邊是正的、往下走;在左半邊是負的、也往下走。\(f'\) 則兩邊都是負的,在 0 附近衝向 \(-\infty\)。

這看起來很怪,但導數記錄的是斜率,不是高度。左半邊的 \(1/x\) 從接近 0 的地方一路往下掉到 \(-\infty\),一直在下坡,而且越靠近 0 越陡,所以斜率是負的、越來越負。右半邊也在下坡,只是越往右越平。兩邊的斜率都是負的,所以 \(f'\) 整條都在橫軸下方。Jerison 的提醒:「The derivative function looks nothing like the function, necessarily.」40:51 在 Demo 1 選 1/x 或 0.5x³ − x,拖動 \(x_0\),看下圖的藍點怎麼描出 \(f'\)。

順帶一提:\(\frac1x\) 是奇函數(\(f(-x) = -f(x)\)),它的導數 \(-\frac1{x^2}\) 是偶函數。奇函數的導數一定是偶函數,反過來也一樣。42:31

一句話帶走:\(f'\) 的高度是 \(f\) 的斜率;不要期待兩張圖長得像。

14可微就連續 45:10

定理 若 \(f\) 在 \(x_0\) 可微(\(f'(x_0)\) 存在),則 \(f\) 在 \(x_0\) 連續。

下一頁證明乘積規則和商規則時要用到它。證明只有一行。

證明

要證的是 \(\lim_{x\to x_0}f(x) = f(x_0)\),等價於 \(\lim_{x\to x_0}\bigl(f(x) - f(x_0)\bigr) = 0\)。把它乘以再除以 \((x - x_0)\):

$$\lim_{x\to x_0}\bigl(f(x)-f(x_0)\bigr) = \lim_{x\to x_0}\frac{f(x)-f(x_0)}{x-x_0}\cdot(x-x_0)$$

第一個因子的極限是 \(f'(x_0)\)(這就是可微的假設),第二個因子的極限是 0。所以整個極限是 \(f'(x_0)\cdot0 = 0\)。證畢。

可疑的地方 48:19:乘以再除以 \((x - x_0)\),看起來像是乘以 \(\frac00\)。但第 9 節說過,\(x\to x_0\) 的極限從來不看 \(x = x_0\) 那一點,所以 \(x - x_0\) 雖然很小,卻永遠不是 0,這一步完全合法。

反過來不對

連續不一定可微。\(f(x) = |x|\) 在 0 連續(Demo 3 選 |x|),但差商在右邊是 \(\frac{|\Delta x|}{\Delta x} = 1\)、在左邊是 \(-1\),左右不相等,所以 \(f'(0)\) 不存在:圖形在 0 有一個尖角。18.01SC session 2 的例題問的就是這件事;notes C 也指出,\(|x|\) 連續,但它的導數在 0 有跳躍不連續。

一句話帶走:可微 ⇒ 連續;連續不一定可微(尖角)。所以不連續的地方一定不可微。
在 DGM 哪裡用到:神經網路常用的 ReLU \(\max(0, x)\) 和 \(|x|\) 一樣,在 0 連續但有尖角、沒有導數。自動微分在那一點直接規定一個值,實務上幾乎不會剛好落在 0,所以不影響訓練。Normalizing flow 則要求變換處處可微而且可逆,才能用導數算密度怎麼變,見 CS236 第 7 講。

15在 deep generative models 哪裡用到

這一頁在 DGM 的樣子
導數 = 斜率 = 變化率梯度是多變數版本;score \(\frac{d}{dx}\log p(x)\) 是 log 密度的斜率,指向機率變大的方向。見補充課 A §02
差商 \(\frac{f(x+h)-f(x)}{h}\)檢查梯度程式有沒有寫錯的標準做法(gradient check)就是拿差商和自動微分的結果比對
\(\Delta L\approx\frac{dL}{dh}\Delta h\)gradient descent:參數走一小步,loss 大約改變「梯度 × 步長」
\(O(\Delta x^2)\)Taylor 展開、Euler 法的誤差階數,見補充課 A §01
連續、可微ReLU 的尖角;flow 要求可微可逆

常見誤解

誤解:「切線就是和曲線只交一點的直線」。切線可以在別處再穿過曲線;一條只碰一次的直線也可能不是切線。切線是割線的極限(第 1 節)。
誤解:「算導數時直接令 \(\Delta x = 0\)」。一定得到 \(\frac00\)。要先化簡,把分母的 \(\Delta x\) 消掉,再取極限(第 3 節)。
誤解:「\(\lim_{x\to0}\frac1x = \infty\)」。右極限是 \(+\infty\)、左極限是 \(-\infty\),雙邊極限不存在。這不是草率,是錯的。相對地,\(\lim_{x\to0}\frac1{x^2} = \infty\) 是對的,因為兩邊都往 \(+\infty\)。
誤解:「函數往下走,導數也往下走」。導數的高度是斜率,和函數的高度、走勢都不必相似(第 13 節)。
誤解:「連續就可微」。\(|x|\) 連續但在 0 不可微。只有反方向成立:可微 ⇒ 連續(第 14 節)。
講義的筆誤:2006 年 Lecture 2 講義第 3 頁的分段函數寫成「\(x + 1,\ x > 0\);\(-x,\ x \ge 0\)」,第二行的條件應該是 \(x \le 0\)(圖上 \(f(0) = 0\) 的實心點在左邊那段)。

自我測驗

1. 用定義算 \(f(x) = x^2\) 在 \(x_0\) 的導數,並寫出 \(x_0 = 3\) 的切線方程式。
\(\frac{(x_0+\Delta x)^2 - x_0^2}{\Delta x} = \frac{2x_0\Delta x + \Delta x^2}{\Delta x} = 2x_0 + \Delta x\to2x_0\)。\(x_0 = 3\):點 \((3, 9)\)、斜率 6,切線 \(y - 9 = 6(x - 3)\),即 \(y = 6x - 9\)。
2. (18.01SC 例題)帳戶餘額 \(f(t) = -5t^2 + 60t + 120\) 美元,\(t\) 是月份。\(f'(1)\)、\(f'(10)\) 各是多少?哪個月餘額最高?
\(f'(t) = -10t + 60\)。\(f'(1) = 50 > 0\),二月比一月多;\(f'(10) = -40 < 0\),年底在減少,所以不是一路增加。\(f'(t) = 0\) 在 \(t = 6\),餘額最高 \(f(6) = 300\) 美元,那時 \(f' = 0\)。
3. (18.01SC 例題)找常數 \(a, b\),使 \(f(x) = ax + b\)(\(x > 0\))、\(\sin2x\)(\(x \le 0\))在 0 連續但不可微。
連續:右極限 \(b\) 要等於 \(f(0) = \sin0 = 0\),所以 \(b = 0\)。不可微:左邊 \(\sin2x\) 在 0 的斜率是 2(下一頁會證明 \(\frac{d}{dx}\sin2x = 2\cos2x\)),右邊的斜率是 \(a\),要有尖角就要 \(a \ne 2\)。答案:\(b = 0\)、任何 \(a \ne 2\)。
4. (18.01SC 例題)哪些要用單邊極限?求出每個極限:(a) \(\lim_{x\to0}\sqrt x\) (b) \(\lim_{x\to-1}\frac1{x+1}\) (c) \(\lim_{x\to1}\frac1{(x-1)^4}\) (d) \(\lim_{x\to0}|\sin x|\) (e) \(\lim_{x\to0}\frac{|x|}{x}\)
(a) 單邊:\(\sqrt x\) 只在 \(x\ge0\) 有定義,\(\lim_{x\to0^+}\sqrt x = 0\)。(b) 單邊:右 \(+\infty\)、左 \(-\infty\),雙邊不存在。(c) 雙邊:兩邊都是 \(+\infty\)。(d) 雙邊:0。(e) 單邊:右 1、左 −1,雙邊不存在(跳躍)。
5. 從 80 公尺丟南瓜,\(h = 80 - 5t^2\)。什麼時候的瞬間速度剛好等於整段的平均速度 −20 公尺/秒?
\(h'(t) = -10t = -20\),\(t = 2\) 秒,剛好是落地時間 4 秒的一半。(第 06 頁的均值定理會說明:一定有某個時刻的瞬間速度等於平均速度。)
6. \(f(x) = \frac{|x|}{x}\) 在 0 是哪一種不連續?\(g(x) = x\sin\frac1x\)(\(x \ne 0\))在 0 呢?
\(f\):左 −1、右 1,跳躍。\(g\):\(|x\sin\frac1x| \le |x|\to0\),左右極限都是 0,但 \(g(0)\) 沒定義,所以是可移除的;補上 \(g(0) = 0\) 就連續。乘上 \(x\) 把 \(\sin\frac1x\) 的亂跳壓扁了。

延伸閱讀

  • 18.01 Fall 2006 講義 Lecture 1、Lecture 2(離線包 lec1.pdf、lec2.pdf):和影片內容幾乎一樣,例子改用英制,Lecture 2 最後多了兩個三角極限的圖解(第 02 頁會講)。
  • 18.01 補充 notes C〈Continuity and Discontinuity〉(c_cntnt_dscntnt.pdf):四種不連續的圖,以及 \(|x|\)、\(\tan x\) 等例子。
  • 18.01SC session 1–5 的 worked examples(離線包 MIT18_01SCF10_ex01prb.pdf–ex05prb.pdf,附解答):自我測驗 2–4 題的來源。

下一頁:02 微分規則:三角函數、乘積、商、chain rule