梯度下降法是求解無約束最優化問題的一種最常用方法,有實現簡單的優點。它是一種迭代演算法,每一步需要求解的目標函式的梯度向量。
假設 f(x
) 是 rn
上具有一階連續偏導數的函式。要求解的無約束最優化問題是:
minx∈r
nf(x
) x∗
表示目標函式 f(
x)的極小點。
由於負梯度方向是使函式值下降最快的方向,在迭代的每一步,以負梯度方向更新
x 的值,從而達到減少函式值的目的。
步長:步長決定了在梯度下降迭代的過程中,每一步沿梯度負方向前進的長度。用下山的例子,步長就是在當前這一步所在位置沿著最陡峭最易下山的位置走的那一步的長度。
待求解的函式
待求解函式的導數
變數1:當前找到的變數,這個變數是「我們認為」當前找到的最好的變數,可以是函式達到最優值(這裡是最小值)。
變數2:梯度,對於絕大多數的函式來說,這個就是函式的負導數。
比如如下的迭代公式:θi
+1j=
θij+
α∂∂θ
ijj(
θij)
特點
初始點不同,獲得的最小值也不同,因此梯度下降求得的只是區域性最小值;
越接近最小值時,下降速度越慢;
如何取到乙個正確的
α 值
在實際應用中對於具有複雜形式的函式我們常常希望用較為簡單的函式形式表示他,那多項式就是這種簡單的形式。
首先還是先回到函式的區域性線性近似這個概念。
舉個例子,例如函式 y=
x3,當自變數有變化時,即 δx
,因變數
y 會變化 δy
,帶入到函式裡面就有δy
=(x+
δx)3
−x3=
3x2δ
x+3x
(δx)
2+(δ
x)3
當 δx→
0 時,上式的後兩項是 δx
的高階無窮小,捨去的話就變成了 δy
=3x2
δx也就是說當自變數
x 足夠小的時候,也就是在某點很小的鄰域內,δy
是可以表示成 δx
的線性函式的。線性函式計算起來,求導會很方便。
對於一般函式,當在某點很小領域內我們也可以寫成類似上面的這種自變數和因變數之間線性關係,δy
=f(x
0+δx
)−f(
x0)≈
f′(x
0)∗δ
x 變化一下形式,δy
=f(x
)−f(
x0) ,δx
=x−x
0 代入上式有,f(
x)−f
(x0)
=f′(
x0)∗
(x−x
0)$移項有:f(
x)=f
(x0)
+f′(
x0)(
x−x0
) 這個式子就很熟悉了,這個就是在 x0
點鄰域內捨掉高階無窮小以後得到的區域性線性近似公式。為了提高近似的精確度,於是把上面的一次近似多項式修正為二次多項式(利用洛必達法則和二階導數定義)再進一步,二次修正為三次,一直下去就得到了
n 階泰勒多項式了。所謂更精確地近似也就有了更高的密切程度,這種程度是通過導數體現的。
例如只做了一次近似的話,f(
x)=f
(x0)
+f′(
x0)(
x−x0
)近似的多項式和原始式是通過同乙個點 x0
的。若進行二次近似,f(
x)=f
(x0)
+f′(
x0)(
x−x0
)+f′′
(x0)
2!(x
−x0)
近似的多項式和原始函式既通過同乙個點 x0
而且在同一點的導數也相同。,也就是多項式表示式的函式在 x0
點的切線也相同。
類似進行三次近似的話,不僅切線相同,彎曲程度也相同。一直下去。。。。。
最後,總結一下好了,泰勒展開就是用形式簡單的多項式來近似在 x0
鄰域內的函式,展開越多近似程度越高。
為簡單起見,考慮 n=
1 的簡單情形,牛頓法的基本思想是:在現有極小點估計值附近對 f(
x)做泰勒展開,進而找到極小點的下乙個估計值。設 xk
為當前極小點的估計值,則:φ(
x)=f
(xk)
+f′(
xk)(
x−xk
)+12
f′′(x
k)(x
−xk)
2 表示 f(x
) 在 xk
附近的二階泰勒展開式,由於求的是最值,由極值必要條件可知,φ(
x)應滿足φ′
(x)=
0 即,f
′(xk
)+f′′
(xk)
(x−x
k)=0
進而求得x=
xk−f
′(xk
)f′′(
xk),
k=1,
2,…
於是,若給定初始值 x0
,則可以構造如下的迭代格式xk
+1=x
k−f′
(xk)
f′′(x
k),k
=1,2
,…,
產生序列 來逼近 f(
x)的極小點,在一定條件下, 可以收斂到 f(
x)的極小點。
對於 n
>
1 的情形,二階泰勒展開可以做推廣,此時φ(
x)=f
(xk)
+∇f(
xk)⋅
(x−x
k)+1
2(x−
xk)t
⋅∇2f
(xk)
⋅(x−
xk)
其中 ∇
f 為
f 的梯度向量,∇2
f為 f 的海森矩陣,其定義為:∇f
=⎡⎣⎢
⎢⎢⎢⎢
⎢⎢⎢⎢
⎢⎢∂f
∂x1∂
f∂x2
⋮∂f∂
xn⎤⎦
⎥⎥⎥⎥
⎥⎥⎥⎥
⎥⎥⎥,
∇2f=
⎡⎣⎢⎢
⎢⎢⎢⎢
⎢⎢⎢⎢
⎢⎢⎢⎢
∂2f∂
x21∂
2f∂x
1∂x2
⋯∂2f
∂x1∂
xn∂2
f∂x2
∂x1∂
2f∂x
22⋯∂
2f∂x
2∂xn
⋱∂f∂
xn∂x
1∂f∂
xn∂x
2⋯∂2
f∂x2
n⎤⎦⎥
⎥⎥⎥⎥
⎥⎥⎥⎥
⎥⎥⎥⎥
⎥n×n
注意,∇
f 和 ∇2
f 中的元素均為關於
x 的函式,以下分別將其簡記為 g和
h 。特別的,若
f的混合偏導數可交換次序,則海森矩陣
h 為對稱矩陣,而∇f
(xk)
和 ∇2f
(xk)
則表示將
x 取為 xk
後得到的實值向量和矩陣,以下分別將其簡記為 gk
和 hk
。同樣的,由於是求極小點,極值必要條件要求它為 φ(
x)的駐點,即∇φ
(x)=
0,亦即gk
+hk⋅
(x−x
k)=0
進一步,若 hk
非奇異,則可解得x=
xk−h
−1k⋅
gk於是給定初值 x0
,則同樣可以構造出迭代式xk
+1=x
k−h−
1k⋅g
k,k=
0,1,
… 這就是原始的牛頓迭代法。其迭代公式的搜尋方向 dk
=−h−
1k⋅g
k 稱為牛頓方向。
常見損失函式 損失函式選擇方法
神經網路的學習通過某個指標表示現在的狀態,然後以這個指標為基準,尋找最優權重引數,這個指標就是損失函式 loss function 如上介紹,神經網路損失函式 loss function 也叫目標函式 objective function 的作用 衡量神經網路的輸出與預期值之間的距離,以便控制 調節...
3 損失函式和優化
為了描述之前建立的線性分類器的分類效果,我們引入的損失函式,顧名思義,損失函式越大誤差也就越大。在下圖的任務中,將測試貓 車和青蛙輸入網路,輸出了一系列的數值,如下表。很顯然我們希望對應的分類數值越高越好,例如貓的對應cat,但是數值只有3.2,還不如對應的car的數值,所以該線性分類器會將貓這張分...
損失函式及其優化演算法
損失函式 loss function 也叫代價函式 cost function 是神經網路優化的目標函式,神經網路訓練或者優化的過程就是最小化損失函式的過程 損失函式值小了,對應 的結果和真實結果的值就越接近 交叉熵 cross entropy 代價函式 於資訊理論中熵的概念。是目前神經網路分類問題...