導數的核心就是極限的概念,意義是變化率。
Looking at tiny change to some quantity and how relates to a resulting tiny change in another quantity.
微分:微分是一個線性函數,意義是變化的具體數值。在微分的概念中,我們考慮的是很小很小的變化量如何去影響因變量的變化(How tiny change in x relates changing in y)。
最優化問題就是求解函數極值的問題,包括極大值和極小值。二次函數的極值,高中學過是去尋找拋物線的頂點。微積分的出現,我們只需要找函數的導數等於0的點,因為在極值點處,導數必定為0。這樣,只要函數是可導的,我們就可以用這個萬能的方法解決問題,幸運的是,在實際應用中我們遇到的函數基本上都是可導的。
在機器學習之類的實際應用中,我們一般將最優化問題統一表述為求解函數的極小值問題,即:
其中x稱為優化變量,f稱為目標函數。極大值問題可以轉換成極小值問題來求解,只需要將目標函數加上負號即可:
這裡需要引入微積分的概念。
導數的出現是解決曲線圍成的面積問題
把曲線下的面積劃分成了無數個矩形面積之和:
如果n越大,則近似值越趨近於真實值。
無窮小的概念就出現了,無窮小量是古典微積分中建立微積分的基礎。
導數的古典定義:
在曲線上隨機取兩點,兩點間形成的直線,就稱為曲線的割線:
連續的割線可以反映曲線的平均變化率。
切線的一般定義:
P和Q是曲線C上鄰近的兩點,P是定點,當Q點沿著曲線C無限地接近P點時,割線PQ的極限位置PT叫做曲線C在點P的切線,P點叫做切點;經過切點P並且垂直於切線PT的直線PN叫做曲線C在點P的法線(法線,是指始終垂直於某平面的虛線。)。
用通俗一點的話說:
P(x0,y0) 和Q(x0+Δx,y0+Δy)分別是上圖曲線上不同的兩點(Δx≠0),Q可以在P的右邊或者左邊(Δx可正可負),通過PQ的直線為該曲線的一條割線。在Δx不斷逼近於0的過程中,點Q不斷逼近於P。過程中產生的割線PQ、PQ′、PQ′′…,它們不斷逼近一條過點P並且剛剛接觸點P的直線圖中的PP′這條直線,PP′就叫作曲線在點P處的切線(割線的極限位置就叫作切線),這些割線的斜率Δy/Δx逼近的就是切線PP′的斜率,如果該函數在P處有導數f′(x0)=limΔx→Δy/Δx,那麼顯然f′(x0)也是切線的斜率。
dx是PQ之間橫坐標的距離,即x的微分。
曲線的增量是dy,即y的微分。
導數的極限定義:
∆y是由兩部分組成的,
∆x對應的曲線的增量是 ∆y
∆x對應的切線的增量是f′(x)∆x,我們把切線的增量定義為微分函數dy。
dy=f′(x)∆x
在機器學習中,優化算法的輸入是參數,我們的目標就是找到參數在何值時能夠讓損失函數的值最小。鏈式法則(Chain rule) 和(偏)導數能夠幫助去解決這個問題。