一 導數的意義
導數是高等數學中非常重要的知識點,也是人工智能的算法應用中比較常用的一個知識,這一章我們的重點就是講解一下導數和其求導法則。首先我們來看一下導數的基本概念:函數的變化率,即函數的變化速度,叫做函數的導數。
設函數y = f(x) 在函數x0的某鄰域內有定義,當x在點x0有增量∆x(x0+∆x仍在該鄰域內)。這時y=f(x)有增量∆y=f(x0+∆x)-f(x0),當∆x無限趨近於零時,∆y/∆x存在,則這個極限值就叫做函數y=f(x)在點x0處的導數,公式如下:
導數的公式除了以上的寫法,還可以寫作下邊的這種方式:
此時,我們稱函數f(x)在x0處可導,當然我們也可以使用導數的幾何意義-斜率來理解,如下圖所示:
我們可以把導數理解為函數在幾何曲線中某一點處切線的斜率,在這基礎上加一個拓展,也很好理解。函數可導一定連續,但連續不一定可導。如果你感興趣,可以證明一下這個過程,但我們現在記住這個定理就可以。
二 導數的求導法則
1 加減運算的求導法則
若函數u = u(x) 和 v = v(x) 在點x處可導,則函數 y = u+v 在點x處也必可導,並且 (u + v)' = u' + v',其證明過程如下:
2 函數積的求導法則
若函數u = u(x) 和 v = v(x) 在點x處可導,則函數 y = uv 在點x處也必可導,並且 (uv)' = u'v + v'u,其證明過程也是類似的,這里我們不再花費篇幅論證了,有興趣的同學可以自己驗證一下。
3 函數商的求導法則
若函數u = u(x) 和 v = v(x) 在點x處可導,並且v(x)在點x處不為0,則函數 y = u/v 在點x處也必可導,並且 (u/v)' = (u'v - v'u)/v^2,其證明過程也是類似的,這里我們不再花費篇幅論證了,有興趣的同學可以自己驗證一下。
4 導數常見的公式
學習導數時,有一些基本公式需要我們記住的,雖然我們可以推導出其過程,但是這一些公式就相當於定理一樣,記住就好,這樣就不用每一次都自己去推導了。
下面是一些常見的公式:
5 復合函數的求導法則
若函數u = k(x) 在點x處可導,y=f(u) 在點u處可導,則復合函數 f = [k(x)] 在點x處也必可導,並且 f(x)' = y_u'*u_x',其證明過程稍微你有點麻煩,具體過程如下:
多說一句,雖然我們可以通過Numpy及SciPy這樣的科學計算庫輕松實現導數計算,並且也可以輕松的實現矩陣、微分、積分等運算,但只有我們掌握其推導過程,才能夠真正明白未來要學習的那些算法真正的意義。
三 矩陣乘法運算
像下圖中,將數列排成m行n列后,然后用括號將它們圍起來,我們將這種形式的組合叫做矩陣。
我們將其中的m和n分別叫做行標和列標,由m行和n列數排成的矩陣又稱作m*n矩陣或m行n列矩陣,就像下邊這樣。
我們把其中的數字叫做元素,比如有一個矩陣是[1,2],那么元素就是1和2,當行數和列數相等時,我們把這樣的矩陣稱之為"n階方陣"。
這個時候我們把對角線上的元素叫做對角元素。矩陣的出現,簡化了方程組的書寫方式,比如像下圖中的簡寫方式:
下面讓我們來看一下如何進行矩陣運算吧,首先我們來看一下矩陣的"和"運算,矩陣的"和"運算就是其對應位置相加的運算,如下圖所示:
矩陣的減法也很簡單,就是把上邊的加號變成減號,我們下邊看一下矩陣的倍數運算吧。
倍數運算也是一種特殊的矩陣的"積"運算,現在我們來學習一下矩陣的"積"運算吧。
另外有一點需要注意,兩個矩陣相乘,如果交換位置,那么結果是不一樣,我們舉一個例子來展示一下:
顯然,矩陣的積運算交換位置之后的結果是不同的。
現在我們考慮一個問題,這個問題就是兩個符合什么形狀的矩陣才能夠進行相乘的運算?這個問題的答案是只有左邊矩陣的列數等於右邊矩陣的行數時,兩個矩陣才能夠進行乘法運算,也就是必須要是mn的矩陣與np的矩陣來做運算,因為運算的時候是第一個矩陣的列數與第二個矩陣的行數來做運算的。
接下來我們再來一起認識一下一些特殊的矩陣。
零矩陣:所有的元素都為0的矩陣。
轉置矩陣:把行和列對應的位置交換
對稱矩陣:以對角元素為對稱軸對稱的n階方陣。對稱矩陣的轉置矩陣和自己完全相同。
上三角矩陣:在矩陣左下角都是0的n階方陣。
下三角矩陣:在矩陣右上角都是0的n階方陣。
對角矩陣:對角元素以外的元素都是0的n階方陣。對角矩陣的n次方結果是對角元素的n次方的對角矩陣。
單位矩陣:對角元素都是1,其他元素都是0的n階方陣。任何矩陣乘以單位矩陣結果都是原來的矩陣。
四 逆矩陣
逆矩陣運算比之前的運算要復雜一點,我們先來通過一個例子看一下什么是逆矩陣。
下面來看一下逆矩陣的求解方法及確認是否存在逆矩陣的方法,求逆矩陣的方法有代數余子式法和消元法,利用代數余子式的方法來計算逆矩陣非常麻煩,用的也比較少。而與之相比,消元法就簡單的多啦,所以我們主要來學習一下消元法。
消元法和解方程是非常類似的,如果矩陣是為了書寫方便,那么方程則是為了計算方便。
上面的式子是一個二元一次方程組,但同時它也是一個矩陣。
下面我們來做一個小練習,求一下下面這個2階方陣的逆矩陣。
我們先把問題整理成矩陣的形式:
再把它轉化成方程組:
顯然這個方程組,我們可以很容易的求出x1 = 0.4,y1 = -0.2,x2 = -0.2,y2 = -0.6。
逆矩陣其實還可以有下邊這種表達方式:
其實關於二階方陣的逆矩陣,還存在着這樣一個公式:
注意:這個公式只適用於2階方陣,當3階以上的方陣時,最好我們還是使用消元法。最后補充一句,我們把存在逆矩陣的n階方陣叫做可逆矩陣。關於矩陣的知識點還有行列式以及多階方陣的逆矩陣求法,當我們講到算法模型時,有需要的時候我們再進行更多的講解。