深度學習筆記(四)第四章 數值計算

過大或者過小
在計算機中,我們通常會去處小數操作,那麼對於過小的數字,在計算機中有可能被表示爲0,而對於有些深度學習的函數來說,一個數值爲0和這個數值是一個很小的數值,結果會非常不同。
比如除0錯誤或者log 0。
另外一個情況就是過大。
softmax函數通常用來計算多項式概率分佈,定義如下:
softmax公式
如果xi都爲常數c,那麼結果應該是1/n。但是如果c是一個無限小的負數,那麼c的exp會是過小的數,那麼softmax結果就是undefined。
解決方法就是定義softmax(z),然後z=x - maxi xi

不利條件(Poor Conditioning)

當輸入微小變化就會導致輸出快速變化,在科學計算領域會產生問題。

基於梯度的優化

機器學習常用到優化。優化是指通過增減x,達到或者f(x)的最大值或者最小值的目的。
這個函數一般被稱爲目標函數。又叫成本函數,損失函數。
圖示4.1
f(x)和它的導數函數(綠色)在x=0時找到最小值。
它的導出爲0的點又叫關鍵點或者叫固定點。
圖示4.2
最小值,最大值,鞍型值。
局部最小值和全局最小值:在機器學習領域,通常尋找全局最小值是很難的。如下圖:
圖示4.3
當有多個輸入變量的時候,需要用到偏導。
推導出梯度下降公式:
公式4.4
另外一種形式:
公式4.5
一種操作方法是取不同的ε(學習率),然後觀察哪個ε使得上面公式最小。這種方法叫線性搜索。
有些時候可以直接跳到關鍵點(critical point),以減少迭代算法的計算量。

超越梯度-雅克比矩陣和海森矩陣

圖示4.4
二階倒數爲負,則說明成本函數下降比實際要快。反之亦然。
海森矩陣:
公式4.6
牛頓法
利普希茨連續
凸優化
約束優化
KKT
拉格朗日函數

舉例 線性最小二乘法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章