神經網路學習筆記(2) 代價函式與梯度下降簡介

2021-10-09 22:32:05 字數 3211 閱讀 4046

同樣的,這篇還是純理論,不涉及**部分。

有些地方我也沒有深究,所以有可能會有錯誤,如有錯誤,請麻煩指正。

公式:參考

結合上篇文章的內容,我們不妨來想一下,在最開始的時候,整個網路是混亂的,那麼我們要怎樣才能找到最合適的權重和偏置呢?

由於神經網路是需要學習的,所以學習的過程就是找到最合適的權重和偏置。於是我們就要引入代價函式。

繼續借用3b1b的栗子,假設我們輸入的是手寫的3,想要獲得的結果是3,輸出層灰度值與期望值如下:

代價(cost)也稱作損失(loss),指的是輸出層所有輸出的啟用值與想要的值之間的差的平方求和。如上圖所示的情況,那麼代價如下:

經驗風險(empirical risk)就是將所有的代價的算術平均值,我們通過這個平均值來衡量整個網路的好壞。平均值越小,說明網路越接近真實情況,平均值越大就說明網路越離譜。

那麼我們肯定希望能夠找到乙個方法來使經驗風險越小越好,而怎樣才能找到這個最小值?是不是我們可以用一階偏導數來解決這個問題?於是我們引入梯度下降這個概念。

如上圖,是乙個y=x

2y = x^2

y=x2

的影象,假設我們的代價函式影象如上圖,而我們的經驗風險值最開始位於實線的小圓圈這裡,為了使經驗風險最低,那麼這個球就一直滾啊滾,滾到了坑裡面,這時候導數為0,說明取到了極值點,這時候經驗風險也是最低的。

但是由於上圖只是個一元二次方程,但是實際情況中肯定影象會很複雜,同時也會有許多坑位,所以對於梯度下降而言,我們只能取的區域性最優解,如下圖:

(原諒我懶得寫函式直接畫了個sin哈哈哈),對於這麼乙個複雜的情況而言,無論是紅色還是藍色的小球都會滾到合理的坑位,如果我們假設要把右邊的紅球滾到右邊的坑位裡面(假設右邊坑位是全域性最優解),那麼我們可以想象一下這個帶來的效能損耗有多大,就等於說對於每乙個權重和偏置,都要遍歷整個網路節點一遍,然後取到最優值,然後有可能某個權重或偏置的改變,又會影響到另外一些權重或偏置。或者就從物理角度上想,把它搬到山頂是不是要多做功呀?

有了梯度下降的感受後,我們來講一下什麼是梯度:

這一部分我淺嘗輒止的講一下,因為沒有太過於深究這部分的內容

先來說一下什麼是偏導數,先看下圖:

(這張圖是網上嫖的……),偏導數的意思就是,對某個變數求導,將其他的變數看做常量。就比如上圖如果我們對x求偏導∂z∂

x\frac

∂x∂z

​,那麼實際上就是粉色那條線上的導數,同理∂z∂

y\frac

∂y∂z

​就是紅色那條線(線條可以自行移動,畢竟x或y是被看做常量的了,只需要是直線就行)。

接著我們來說下方向導數:

方向導數指的是在函式定義域的內點,對某一方向求導得到的導數。表達出來為:∂f∂

l=∂f

∂xcos⁡α+

∂f∂y

cos⁡

β\frac = \frac\cos\alpha + \frac\cos\beta

∂l∂f​=

∂x∂f

​cosα+

∂y∂f

​cos

β,每多乙個變數,後面就多跟乙個偏導乘方向角就行。

當方向角都為π

2\frac

2π​時,即cos為0時,這時就位於等值線上,超這方向移動的話不會帶來函式值的改變;當方向角為0

00時,這時候cos為1,此時上公升最快,即梯度;當方向角為π

\piπ時,這時候cos為-1,此時下降最快,即梯度下降。

最後就是關於梯度和梯度下降的公式:

以二元為例,梯度:gra

df(x

,y)=

∇f(x

,y)=

=fx(

x,y)

i⃗+f

y(x,

y)j⃗

gradf(x,y) = \nabla f(x,y) = \, \frac\} = f_x(x,y)\vec i + f_y(x,y)\vec j

gradf(

x,y)

=∇f(

x,y)

==fx

​(x,

y)i+

fy​(

x,y)

j​,這裡i

⃗\vec i

i是x軸的單位向量,j

⃗\vec j

j​是y軸的單位向量。

由於梯度是上公升最快的方向,所以梯度下降下降最快的路,也就是加個負號,公式為:−gr

adf(

x,y)

=−∇f

(x,y

)=−=

−(fx

(x,y

)i⃗+

fy(x

,y)j

⃗)-gradf(x,y) = -\nabla f(x,y) =- \, \frac\} = -(f_x(x,y)\vec i + f_y(x,y)\vec j)

−gradf

(x,y

)=−∇

f(x,

y)=−

=−(f

x​(x

,y)i

+fy​

(x,y

)j​)

[1]3blue1brown.【官方雙語】深度學習之梯度下降法 part 2 ver 0.9 beta[eb/ol].

[2]小元老師高數線代概率.60_1方向導數與梯度,爬山去,用梯度?【小元老師】高等數學,考研數學[eb/ol].

[3]遇見數學.動畫帶你理解偏導數和梯度 gradients and partial derivatives(physics videos)熟肉[eb/ol].

BP神經網路(四) 代價函式

用於分類的代價函式 神經網路的代價函式一般與線性回歸模型和邏輯回歸模型的代價函式相同,將神經網路用於分類則採用負的對數似然當作其代價函式,對於回歸則採用均方誤差作為代價函式。代價方程定義為 注 m為資料集的數量,k為輸出的數量 分類數 用於回歸的代價函式 採用均方誤差損失函式。補充 對於損失函式的選...

學習筆記 機器學習 1 1代價函式

目前在學習 coursera 的machine learning課程,決定做乙份筆記以便記錄學習情況。這是機器學習的 第一章第一節 cost function 代價函式 通過這一節的學習將會了解到以下兩個函式公式的含義 函式1.1.1 hypothesis h theta x theta 0 the...

神經網路學習筆記2

預處理 將各個畫素值除以255,進行了簡單的正則化。考慮打包輸入多張影象情形,使用predict 一次性打包處理100張影象 x形狀 100 784 for i in range 0,len x batch size x batch x i i batch size 通過x i i batch si...