老師說鏈式法則裡某個 dydx 不能理解為 dy 除以 dx,為什麼?
這事兒剛開始是比較不好理解。
這事兒得從這位大佬開始講起:
萊布尼茨的發明
我們知道導數是這樣定義的:
但在數學大佬的眼裡,這玩意不
美觀
啊!!在許多時候,數學家眼裡
。但這式子不簡潔。
從導數的定義上看它不可避免的問題就是要求
商
,但無奈又不能把極限分別寫進分子和分母裡去!於是Leibniz就想出了這麼個玩意:
,並解釋道:它是“
由 #FormatImgID_4# 的變化而引起的 #FormatImgID_5# 的無窮變化量
”(
)與“
#FormatImgID_7# 的無窮小變化量
”
的
商
。那麼用這個記法就可以很好地體現出導數定義裡
商
的形式了。
上述解釋的關鍵在於:
必須是因
改變了
而引起的變化,這個記號才有意義
翻譯幾下就是:
#FormatImgID_12# 不能獨立於 #FormatImgID_13# 而變化!
反例其實很好找:
此時
是和
無關的,
是和
無關的。
因此如果寫成這樣就肯定錯了:
反過來,如果滿足我們上述的條件,那麼實際上它是可以作為“商”來處理的
注意:下面所有的推導都必須保證這個“商”所對應的極限必須存在!
比如我們熟悉的反函式求導:
再比如鏈式法則:
注意:鏈式法則是可以任意增長的(有限次)。
比如我們令
,
甚至於:
我們可以這樣處理:
這個過程中,我們就可以看成不斷地同時“乘”、“除”
,因為每一步的新增項都
沒有破壞分子是因其自變數改變而產生的無窮小量這一條件
。
目前深度學習的所謂Back propagation其實就是這個法則(當然需要用到偏導數)。
還有由引數方程確定的函式的求導問題
其反函式類似:
這裡與複合函式鏈式法則完全相同,
由於 #FormatImgID_33# 都是由 #FormatImgID_34# 的變化而產生的無窮小量
,因此仍然可以同時“乘”、“除”
。
鳴謝:
萊布尼茨發明的部分敘述參考了:Is dy/dx not a ratio?
特別感謝@愛拼才會贏 幫我多次指正打叉部分的錯誤!
感謝 @不想打輔助 幫忙找出鏈式法則裡一處筆誤。
關於萊布尼茨記號的歷史實在是太長了,有很多數學家的工作在裡面,包括Bernoulli兄弟在內的大數學家在後來都對此進行了完善。有興趣的同學可以去看《古今數學思想》第二冊82-92頁。
dy/dx的定義就是y對x的導數,如果你非要問dx或dy是什麼的話…dx是實數軸R典則座標的餘切叢(cotangent bundle)的一個截面(section),dy也是一個section,具體用座標寫出來就是(dy/dx)dx,兩個section的除法沒有意義,這些你學了微分流形就懂了
做個補充,一維流形R上的cotangent bundle是line bundle,因為有一個never vanishing section dx,所以又是平凡的,對於任意一個section s,用座標寫出來,s=f·dx,這樣定義s/dx=f是well defined的,特別的如果s是dy,這裡的f就是d/dx(y)也就是y對x的導數,這樣dy就是可以除dx的。注意第一不能推廣到高維;第二底下除的section可以換,但是必須是never vanishing的。
定義 1:
量
稱為函式
在點
處的導數。
定義 2:
定義在
上的函式
在集
的極限點
處可微的,如果
。
這其中
是線性函式(正比例函式),而
在
時是
,即滿足
。
稱量
為自變數的增量;稱量
為函式
相應於自變數的增量
的增量。
定義 3:定義 2
中關於
的線性函式
稱為函式
在點
處的微分,並用符號
表示。
這也就是說
是一個依賴
的
的線性函式,往往提及這個函式的時候會省略
寫為
。
由
定義 2
可以推出
,那麼微分的式子可以寫成
。此時取
,則得到
,也就是“自變數的微分就是變數的增量”。微分的式子由變為
,這是兩個線性函式的等式,也一樣我們可以省略
記作
。
回到這個式子:
,對其自然是可以做除法的:
,在每一個
上這倆線性函式取值的比值總是
,於是用
標記導數
。
理解上自然可以理解為
除以
,不過需要清楚這倆的本質是什麼。但是視
是一個整體符號也是不影響微積分的學習的,甚至可以避免想當然。
在這條回答之前的一條匿名回答已經說了,
B. A. 卓裡奇的《數學分析》
[1]
第一卷對著一問題講得很清楚,實際上也是這一條回答的參考文獻。
可以是可以,只不過允許這種理解容易引起誤解,在學生還不能正確理解微積分時會得不償失。首先我說明為什麼在一些場合下允許將
理解為對
做除法。
對於滿足函式關係
的變數
參考導數記號,我們寫出
暫且不考慮可行性,將
看作是可以參與運算的元素,那麼
接下來,說明這種看法的可行性。
此時
被看作是平等的事物,既然
可以作為除數,那麼
也可以。運用導數的定義,可以求出當
可逆時
在
處的導數值,於是
結合前面的等式,對於
的運算的確和實數的運算保持一致。
從另一個角度考慮,複合函式求導法則可以記為設
則
也體現出對於
指定這種運算是合理的。
不過,僅僅這樣還不能確定這種合理在數學上的準確性。事實上,現代數學的確找到了嚴格定義函式的微分的方法
[1]
,但是這遠遠超過了高等數學的範圍,甚至在大多數時候不是本科數學的內容。
我以一個常見的錯誤來說明過分追求直觀理解的弊端。習慣上,表示二階導數
為什麼是這樣呢?可以不嚴格地理解為
截止到這裡還沒有太大問題。但是設
則可以驗證
這就不是能簡單解釋的事情了。採取不嚴格的觀點,會得到
然而這是錯的。除非嚴格推導,否則難以說明產生錯誤的原因,從而引起費解。
雖然以不嚴格的方式引入微分不符合數學的標準,但是這樣做可以簡化一些書寫,甚至為解決數學問題提供線索,這可能是在高等數學課上提及微分的原因。
不過我認為,為了這點好處不值得冒著讓一些學生學不懂數學的風險而引入不嚴格的微分。老師不希望學生將
理解為對
做除法,也可能是出於這種考慮。
何況在高等數學課的環境下,對於定理的嚴格證明不做要求。即便對此不做評價,此時提供的所謂直觀理解,是不是應該以不容易產生誤解為準則?
這個問題,要徹底理解需要從微分的定義出發(也並不難)。但理解了定義的就不再需要問這個問題,問這個問題的都是暫時沒理解定義的。
而且類似問題在數學中其實非常常見:現代數學雖然極端講究嚴謹,但數學家都是懶人,日常表達中經常會使用一些並不嚴謹或者過於簡略的notation,必須對相關領域和上下文有充分理解的人才能準確理解其意義。這樣其實對新手非常不友好。
最簡單的例子,當自變數“顯而易見”時,導數常被寫成
的形式。而使用中,很多時候這個自變數指的什麼並不明確。或者說作者自己很清楚,讀者並不一定清楚。中學教材這類的東西因為被反覆修改過,類似問題少一點,研究生階段各種教授給提綱PostDoc寫出來的講義裡面類似問題隨處可見。說白了就是人都懶,數學家也不例外。
回到
這個問題:
把
寫成
,這種寫法非常不好。會讓人產生錯覺
是
。再配合上比如chain rule寫成:
會更加深這種錯覺。事實上
絕不是
,只是如果用這種容易引起誤解的寫法,某些場合會湊巧看起來是對的。
一個比較簡單的理解方法是,始終記住
的更準確寫法是:
,其中
是一個整體,這個算符表示括號裡的東西“對x求導”。這個算符的逆運算也不是
,而是
這樣很多其他的寫法就會有道理很多。比如不知道有多少人想過,為什麼二階導寫作
而不是
,也不等於
?按剛說的那樣就很好理解,求兩次導是
操作兩次,也就是
,平時寫作
歸根到底就是早期有些數學家和數學教育家習慣不好,非要把運算物件
寫到算符
的內部去。這樣扭曲了這個運算的意義,後面進一步衍生出了一些
這樣的寫法後,迷惑了無數人。
到了偏微分以後,能理解這一層的人比例高了,就基本沒人寫
這種東西了。當然也是因為歧義實在太大任何人都無法忽視。
我當然知道把dy和dx當作獨立的物件,在有些場景下是work的。可以用的時候確實很香。那又怎麼樣呢,不改變我說的:這種用法的使用條件其實比較苛刻,想正確使用的要求其實很高,不推薦給初學者這樣解釋,因為會引起非常多困惑。如果錯誤的以為dy和dx像普通的代數量一樣可以隨意進行各種加減乘除操作,那是完全得不償失的。
至於問這個dy/dx為什麼不是
的人,我只能說,by definition就不是,區別實在是太多了,這都意識不到我也不知道怎麼講了。
至於dy和dx拆開可以用的時候,要如何理解,或者怎麼理解適用範圍,我很喜歡這個答案:
dy/dx 這是一個整體,可以確定一個極限,為什麼可以將其分開(請再看一下問題補充說明)?
從易理解到更抽象但普適性更強的解釋都有。我就不再重複了。