首页
/
每日頭條
/
職場
/
微積分求導兩個基本公式
微積分求導兩個基本公式
更新时间:2024-11-13 05:48:59

全文共3893字,預計學習時長10分鐘

微積分求導兩個基本公式(算法中的微積分)1

圖源:unsplash

就業市場上,機器學習工程師總是受到質疑,人們不相信他們數學功底深厚。事實上,所有機器學習算法的本質都是數學問題,無論是支持向量機、主成分分析還是神經網絡最終都歸結為對偶優化、譜分解篩選和連續非線性函數組合等數學問題。隻有徹底理解數學,才能正真掌握這些機器學習算法。

Python中的各種數據庫能幫助人們利用高級算法來完成一些簡單步驟。例如包含了K近鄰算法、K均值、決策樹等算法的機器學習算法庫Scikit-learn,或者Keras,都可以幫助人們構建神經網絡架構,而不必了解卷積神經網絡CNNs或是循環神經網絡RNNs背後的細節。

然而,想要成為一名優秀的機器學習工程師需要的遠不止這些。在面試時,面試官通常會問及如何從零開始實現K近鄰算法、決策樹,又或者如何導出線性回歸、softmax反向傳播方程的矩陣閉式解等問題。

本文将回顧一些微積分的基本概念助你準備面試,如一元和多元函數的導數、梯度、雅可比矩陣和黑塞矩陣。同時,本文還能為你深入研究機器學習、尤其是神經網絡背後的數學運算打下良好的基礎。這些概念将通過5個導數公式來展示,絕對是面試必備幹貨。

微積分求導兩個基本公式(算法中的微積分)2

微積分求導兩個基本公式(算法中的微積分)3

導數1:複合指數函數

微積分求導兩個基本公式(算法中的微積分)4

指數函數非常基礎常見,而且非常有用。它是一個标準正函數。在實數ℝ中eˣ > 0,同時指數函數還有一個重要的性質,即e⁰ = 1。

另外,指數函數與對數函數互為反函數。指數函數也是最容易求導的函數之一,因為指數函數的導數就是其本身,即(eˣ)’ = eˣ。當指數與另一個函數組合形成一個複合函數時,複合函數的導數就變得更為複雜了。在這種情況下,應遵循鍊式法則來求導,f(g(x))的導數等于f’(g(x))⋅g’(x),即:

微積分求導兩個基本公式(算法中的微積分)5

運用鍊式法則可以計算出f(x)= eˣ²的導數。先求g(x)=x²的導數:g(x)’=2x。而指數函數的導數為其本身:(eˣ)’=eˣ。将這兩個導數相乘,就可以得到複合函數f(x)= eˣ²的導數:

微積分求導兩個基本公式(算法中的微積分)6

這是個非常簡單的例子,乍一看可能無關緊要,但它經常在面試開始前被面試官用來試探面試者的能力。如果你已經很久沒有溫習過導數了,那麼很難确保自己能夠迅速應對這些簡單問題。雖然它不一定會讓你得到這份工作,但如果你連這麼一個基本問題都回答不上,那你肯定會失去這份工作。

微積分求導兩個基本公式(算法中的微積分)3

導數2:底數為變量的複變指數

微積分求導兩個基本公式(算法中的微積分)8

複變指數函數是一個經典面試問題,尤其是在計量金融領域,它比科技公司招聘機器學習職位更為看重數學技能。複變指數函數迫使面試者走出舒适區。但實際上,這個問題最難的部分是如何找準正确的方向。

當函數逼近一個指數函數時,首先最重要的是要意識到指數函數與對數函數互為反函數,其次,每個指數函數都可以轉化為自然指數函數的形式:

微積分求導兩個基本公式(算法中的微積分)9

在對複變指數函數f(x) = xˣ求導前,要先用一個簡單的指數函數f(x) = 2ˣ來證明複變函數的一種性質。先用上述方程将2ˣ 轉化為exp(xln(2)),再用鍊式法則求導。

微積分求導兩個基本公式(算法中的微積分)10

現在回到原來的函數f(x)=xˣ,隻要把它轉化為f(x)=exp(x ln x),求導就變得相對簡單,可能唯一困難的部分是鍊式法則求導這一步。

微積分求導兩個基本公式(算法中的微積分)11

注意這裡是用乘積法則(uv)’=u’v uv’來求指數xln(x)的導數。

通常情況下,面試官提問這個函數時不會告訴你函數定義域。如果面試官沒有給定函數定義域,他可能是想測試一下你的數學敏銳度。這便是這個問題具有欺騙性的地方。沒有限定定義域,xˣ既可以為正也可以為負。當x為負時,如(-0.9)^(-0.9),結果為複數-1.05–0.34i。

一種解決方法是将該函數的定義域限定為ℤ⁻ ∪ ℝ⁺ \0,但對于負數來說,函數依然不可微。因此,為了正确推導出複變指數函數xˣ的導數,隻需要把該函數的定義域嚴格限定為正數即可。排除0是因為此時導數也為0,左右導數需相等,但在這種情況下,此條件是不成立的。因為左極限是沒有定義的,函數在0處不可微,因此函數的定義域隻能限定為正數。

微積分求導兩個基本公式(算法中的微積分)12

在繼續以下内容之前,先考考你,這裡有一個比複變指數函數f(x) = xˣ更高級的函數f(x) = xˣ²。如果你理解了第一個例子背後的邏輯和步驟,再加一個指數應該毫無難度,可以推導出以下結果:

微積分求導兩個基本公式(算法中的微積分)13

微積分求導兩個基本公式(算法中的微積分)3

導數3:多元輸入函數的梯度

微積分求導兩個基本公式(算法中的微積分)15

到目前為止,前面讨論的函數導數都是從ℝ映射到ℝ的函數,即函數的定義域和值域都是實數。但機器學習本質上是矢量的,函數也是多元的。

下面這個例子最能闡釋這種多元性:當神經網絡的輸入層大小為m和輸出層大小為k時,即f(x) = g(Wᵀx b),此函數是線性映射Wᵀx(權陣W和輸入向量x)和非線性映射g(激活函數)按元素組成的。一般情況下,該函數也可視作是從ℝᵐ到ℝᵏ的映射。

我們把k=1時的導數稱為梯度。現在來計算以下從ℝ³映射到ℝ的三元函數:

微積分求導兩個基本公式(算法中的微積分)16

可以把f看作是一個函數,它從大小為3的向量映射到大小為1的向量。

微積分求導兩個基本公式(算法中的微積分)17

圖源:unsplash

多元輸入函數的導數被稱為梯度,用倒三角符号∇(英文為nabla)表示。從ℝⁿ映射到ℝ的函數g的梯度是n個偏導數的集合,每個偏導數都是一個n元函數。因此,如果g是一個從ℝⁿ到ℝ的映射,其梯度∇g是一個從ℝⁿ到ℝⁿ的映射。

要推導出函數f(x,y,z) = 2ˣʸ zcos(x)的梯度,需要構造一個矢量的偏導數:∂f/∂x,∂f/∂y和∂f/∂z,結果如下:

微積分求導兩個基本公式(算法中的微積分)18

需要注意,此處也需要利用公式進行等值轉化,即2ˣʸ=exp(xy ln(2))。

總之,對于一個從ℝ³映射到 ℝ的三元函數f,其導數是一個從ℝ³映射到ℝ³的梯度∇ f。從ℝᵐ映射到ℝᵏ(k > 1)的一般式中,一個從ℝᵐ映射到ℝᵏ的多元函數的導數是一個雅可比矩陣,而非一個梯度向量。

微積分求導兩個基本公式(算法中的微積分)3

導數4:多元輸入輸出函數的雅可比矩陣

微積分求導兩個基本公式(算法中的微積分)20

上一節中已經提到從ℝᵐ映射到ℝ的函數的導數,是一個從ℝᵐ映射到ℝᵐ的梯度。但如果輸出域也是多元的,即從ℝᵐ映射到ℝᵏ(k > 1),那又當如何?

這種情況下,導數為雅可比矩陣。可以把梯度簡單視為一個m x 1的特殊雅可比矩陣,此時m與變量個數相等。雅可比矩陣J(g)是一個從ℝᵐ到ℝᵏ*ᵐ的映射,其中函數g從ℝᵐ映射到ℝᵏ。這也就是說輸出域的維數是k x m,即為一個k x m矩陣。換言之,在雅可比矩陣J(g)中,第i行表示函數gᵢ的梯度∇ gᵢ。

假設上述函數f(x, y) = [2x², x √y]從ℝ²映射到ℝ²,通過推導該函數的導數可以發現函數的輸入和輸出域都是多元的。在這種情況下,由于平方根函數在負數上沒有定義,需要把y的定義域限定為ℝ⁺。輸出雅可比矩陣的第一行就是函數1的導數,即∇ 2x²;第二行為函數2的導數,即∇ x √y。

微積分求導兩個基本公式(算法中的微積分)21

雅可比矩陣在深度學習中的可解釋性領域中有一個有趣用例,目的是為了理解神經網絡的行為,并分析神經網絡的輸出層對輸入的靈敏度。

雅可比矩陣有助于研究輸入空間的變化對輸出的影響,還可以用于理解神經網絡中間層的概念。總之需要記住梯度是标量對向量的導數,雅可比矩陣是一個向量對另一個向量的導數。

微積分求導兩個基本公式(算法中的微積分)3

導數5:多元輸入函數的黑塞矩陣

微積分求導兩個基本公式(算法中的微積分)23

目前僅讨論了一階導數求導,但在神經網絡中,會經常讨論多元函數的高階導數。其中一種特殊情況就是二階導數,也被稱為黑塞矩陣,用H(f)或∇ ²(微分算符的平方)表示。從ℝⁿ映射到ℝ的函數g的黑塞矩陣是從ℝⁿ到ℝⁿ*ⁿ的映射H(g)。

現在分析一下我們是如何将輸出域從ℝ轉化為ℝⁿ*ⁿ。一階導數,即梯度∇g,是一個從ℝⁿ到ℝⁿ的映射,其導數是一個雅可比矩陣。因此,每一個子函數的導數∇gᵢ都由n個從ℝⁿ映射到ℝⁿ的函數組成。可以這樣想,就好比是對展開成一個向量的梯度向量的每個元素都求導,從而變成向量中的向量,即為一個矩陣。

要計算黑塞矩陣,需要計算交叉導數,即先對x求導,再對y求導,反過來也可以。求交叉導數的順序會不會影響結果,換句話說,黑塞矩陣是否對稱。在這種情況下,函數f為二次連續可微函數(用符号²表示),施瓦茲定理表明交叉導數是相等的,因此黑塞矩陣是對稱的。一些不連續但可微的函數,不滿足交叉導數等式。

構造函數的黑塞矩陣就相當于求一個标量函數的二階偏導數。以f(x,y) = x²y³為例,計算結果如下:

微積分求導兩個基本公式(算法中的微積分)24

可以看到交叉導數6xy²實際上是相等的。先對x求導得到關于x的偏導數2xy³,再對y求導得到關于y的偏導數6xy²。對于x或y的每個一元子函數,對角元素都為fᵢ。

此類函數的拓展部分将讨論從ℝᵐ映射到ℝᵏ的多元函數的二階導數的情況,可以将其視為一個二階雅可比矩陣。這是一個從ℝᵐ到ℝᵏ*ᵐ*ᵐ的映射,即一個三維張量。與黑塞矩陣相似,為了求出雅可比矩陣的梯度(求二階微分),要對k x m矩陣的每一個元素微分,得到一個向量矩陣,即為一個張量。雖然不太可能要求面試者進行手動計算,但了解多元函數的高階導數相當重要。

微積分求導兩個基本公式(算法中的微積分)25

本文回顧了機器學習背後重要的微積分基礎知識,列舉了幾個一元和多元函數的例子,讨論了梯度、雅可比矩陣和黑塞矩陣,全面梳理了機器學習面試中可能出現的概念和涉及的微積分知識,希望你能面試順利!

微積分求導兩個基本公式(算法中的微積分)26

留言點贊關注

我們一起分享AI學習與發展的幹貨

如轉載,請後台留言,遵守轉載規範

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
廣州市衛生職業學院簡介(廣州衛生職業技術學院師生一行到我院參觀交流)
廣州市衛生職業學院簡介(廣州衛生職業技術學院師生一行到我院參觀交流)
     6月19日,廣州衛生職業技術學院創新創業學院唐濤副院長、鐘小芳老師帶領學生到我院參觀交流,創新創業學院院長助理農鳳清帶領創新與創業服務協會成員熱情接待并交流座談。      參觀交流   農鳳清對廣州衛生職業技術學院師生的到來表示熱烈歡迎,并就創新創業學院的基本情況、SYB課程設置等方面做了介紹。   随後,入駐我院的創業團隊,研發智能護理床的井佳...
2024-11-13
園區孵化器招商崗位能做嗎(如何做好園區招商工作)
園區孵化器招商崗位能做嗎(如何做好園區招商工作)
     園區招商就是一場企業資源的争奪戰,決定這場戰争勝負的因素很多,其中,招商人員在招商引資工作中起着關鍵的作用,其能力和素質的高低對于園區招商成功與否至關重要。那麼,園區招商人員要如何做好園區招商工作呢?   1、具有敏銳的信息捕捉嗅覺   招商的第一步,就是獲取招商信息,所以,捕捉項目信息至關重要,其次,還要學會對獲取來的信息進行分類和篩選,做到憑感...
2024-11-13
關于公務員面試的技巧與方法(公務員面試不要露怯)
關于公務員面試的技巧與方法(公務員面試不要露怯)
  公務員,這個鐵飯碗,有多少人想進入公務員隊伍,而且自從《新公務員法》之後,公務員的績效考核,待遇,補休等一系列的福利待遇更加完善。特别是去年經濟形勢不好,公務員更是成為金飯碗。      但凡行測,申論好的,過了筆試不成問題,但是面試卻沒有這麼簡單,面試考的是一個人的表達能力,心理素質,已經處理突發事情的能力等。筆試過了隻是一腳踏入了公務員的隊伍,但是還...
2024-11-13
為什麼說建築師是個新鮮的職業(建築師是一個令人絕望的職業嗎)
為什麼說建築師是個新鮮的職業(建築師是一個令人絕望的職業嗎)
  當然不是。   下面是一個真實的故事      20年前的一個午夜,建築系館燈火通明,那是《新建築》住宅設計競賽的截稿前夜,專教裡彌漫着緊張的趕圖氣氛。   忽然,角落裡傳來了一片歡聲笑語,是四位一年級學生——小衛、小何、小羅、小多(姑且這麼叫他們)。他們終于完成了合作作品,互相慶賀着。當時,已經是淩晨2點。   “太好了,居然沒用整晚搭這個模型。”  ...
2024-11-13
中式台球大師賽超級分站賽賽程(中式台球國際職業聯賽第一站今晚在饒開杆)
中式台球大師賽超級分站賽賽程(中式台球國際職業聯賽第一站今晚在饒開杆)
     中式台球國際職業聯賽——中式台球中國公開賽将于11月28日晚上在上饒市玉山一中體藝中心開杆。      中式台球男子高手鄭宇伯、楚秉傑、石漢青、趙汝亮、楊帆、代勇、張泰藝、楊紹傑等,女子名将陳思明、付小芳、白鴿、唐春曉、王也、史天琪、張沐妍、劉夏芝、潘藍天、王露琦等将參加比賽。   中式台球國際職業聯賽整體賽事體系由中式台球中國公開賽、中式台球中國...
2024-11-13
Copyright 2023-2024 - www.tftnews.com All Rights Reserved