自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

人工智能 機器學習 算法
本文將回顧一些微積分的基本概念助你準備面試,如一元和多元函數(shù)的導數(shù)、梯度、雅可比矩陣和黑塞矩陣。同時,本文還能為你深入研究機器學習、尤其是神經(jīng)網(wǎng)絡(luò)背后的數(shù)學運算打下良好的基礎(chǔ)。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。

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

[[344884]]

Python中的各種數(shù)據(jù)庫能幫助人們利用高級算法來完成一些簡單步驟。例如包含了K近鄰算法、K均值、決策樹等算法的機器學習算法庫Scikit-learn,或者Keras,都可以幫助人們構(gòu)建神經(jīng)網(wǎng)絡(luò)架構(gòu),而不必了解卷積神經(jīng)網(wǎng)絡(luò)CNNs或是循環(huán)神經(jīng)網(wǎng)絡(luò)RNNs背后的細節(jié)。

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

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

導數(shù)1:復(fù)合指數(shù)函數(shù)

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

導數(shù)2:底數(shù)為變量的復(fù)變指數(shù)

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

復(fù)變指數(shù)函數(shù)是一個經(jīng)典面試問題,尤其是在計量金融領(lǐng)域,它比科技公司招聘機器學習職位更為看重數(shù)學技能。復(fù)變指數(shù)函數(shù)迫使面試者走出舒適區(qū)。但實際上,這個問題最難的部分是如何找準正確的方向。

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

在對復(fù)變指數(shù)函數(shù)f(x) = xˣ求導前,要先用一個簡單的指數(shù)函數(shù)f(x) = 2ˣ來證明復(fù)變函數(shù)的一種性質(zhì)。先用上述方程將2ˣ 轉(zhuǎn)化為exp(xln(2)),再用鏈式法則求導。

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

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

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

在繼續(xù)以下內(nèi)容之前,先考考你,這里有一個比復(fù)變指數(shù)函數(shù)f(x) = xˣ更高級的函數(shù)f(x) = xˣ²。如果你理解了第一個例子背后的邏輯和步驟,再加一個指數(shù)應(yīng)該毫無難度,可以推導出以下結(jié)果:

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

導數(shù)3:多元輸入函數(shù)的梯度

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

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

我們把k=1時的導數(shù)稱為梯度?,F(xiàn)在來計算以下從ℝ³映射到ℝ的三元函數(shù):

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

[[344893]]

圖源:unsplash

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

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

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

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

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

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

雅可比矩陣有助于研究輸入空間的變化對輸出的影響,還可以用于理解神經(jīng)網(wǎng)絡(luò)中間層的概念??傊枰涀√荻仁菢肆繉ο蛄康膶?shù),雅可比矩陣是一個向量對另一個向量的導數(shù)。

導數(shù)5:多元輸入函數(shù)的黑塞矩陣

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

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

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

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

算法中的微積分:5大函數(shù)求導公式讓你在面試中脫穎而出

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

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

[[344899]]

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

 

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2012-08-08 10:00:17

面試技術(shù)

2018-06-03 00:16:36

阿里巴巴技術(shù)面試

2009-04-13 10:52:03

視頻面試求職技巧

2024-09-30 09:39:30

2015-12-03 09:46:29

2024-09-29 15:05:57

2020-03-13 13:45:41

前端面試Web

2009-09-10 09:48:25

IT職場

2010-08-04 14:11:58

面試木訥

2013-03-25 16:39:42

華為BYOD解決方案

2012-04-28 14:29:36

App Store沖榜策略排行榜規(guī)則

2014-02-24 13:55:47

簡歷簡歷技巧

2015-08-06 10:03:03

云計算云計算認證云遷移

2018-08-06 05:20:03

物聯(lián)網(wǎng)平臺物聯(lián)網(wǎng)IOT

2011-12-27 15:02:37

云計算

2021-10-21 08:49:36

物聯(lián)網(wǎng)市場物聯(lián)網(wǎng)IOT

2024-11-20 16:09:04

API開源Bruno

2018-10-19 08:40:33

GitHub開源代碼庫

2014-09-02 15:25:10

國產(chǎn)操作系統(tǒng)

2016-05-12 13:51:05

IBM大型機混合云
點贊
收藏

51CTO技術(shù)棧公眾號