日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习——人工神经网络之参数设置(BP算法)

發布時間:2023/12/10 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习——人工神经网络之参数设置(BP算法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、復習(BP算法)

二、訓練模型的建議

三、參數設置內容

1、隨機梯度下降(SGD)

2、激活函數的選擇

(1)sigmoid

(2)tanh雙曲正切函數

3、訓練數集初始化

4、(w,b)的初始化

?

1)什么是梯度消失現象?

2)什么是梯度爆炸現象?

3)如何對w,b進行初始化來避免梯度消失?

?>>>問題1:怎么從區間中均勻隨機取值?

5、Batch Normalization(不懂)

6、目標函數的選擇處理

1)加正則項

2)對目標函數進行改造

7、參數更新策略

(1)常規的更新

2)SGD的問題

? 3)解決SGD問題的方法

8、訓練建議

四、神經網絡相較于SVM算法的優劣勢


?


一、復習(BP算法)

二、訓練模型的建議

第2點意思是從訓練集中分出一部分樣本來作為驗證數集來驗證模型,一般是將訓練集分成多組,每一次一組數據集作為驗證集,每一組數據集輪換作為驗證數集,直到所有訓練數據都被驗證過為止,類似于《SVM——交叉驗證》

三、參數設置內容

?

1、隨機梯度下降(SGD)

?

2、激活函數的選擇

(1)sigmoid

(2)tanh雙曲正切函數

3、訓練數集初始化

常用的初始化

4、(w,b)的初始化

1)什么是梯度消失現象?

答:當取sigmoid函數作為激勵函數(上圖fai函數)時,因為sigmoid函數的導數小于等于0.25,所以當w很小時,目標函數E對w的偏導后向傳播不斷地由輸出層反向向輸入層傳播訓練,隨著神經網絡層數的增多,導數很容易再傳播的過程中變為0,使得新一輪的w,b無法進行更新,導致神經網絡無法被優化,訓練無法收斂,這稱為梯度收斂問題。

不管是用sigmoid函數還是tanh函數作為激活函數,當激活函數的自變量很小或者很小時,都會出現激活函數的導數趨于0,這種現象會使得目標函數對參數w,b偏導即梯度趨于0,即梯度消失

一般情況下將w稱為權重,b叫做偏置參數

?

以一個例子來說明:

以下摘自:《https://blog.csdn.net/junjun150013652/article/details/81274958》

當神經網絡有很多層,每個隱藏層都使用Sigmoid函數作為激勵函數時,很容易引起梯度消失的問題

我們知道Sigmoid函數有一個缺點:當x較大或較小時,導數接近0;并且Sigmoid函數導數的最大值是0.25

我們將問題簡單化來說明梯度消失問題,假設輸入只有一個特征,沒有偏置單元,每層只有一個神經元:?

我們先進行前向傳播,這里將Sigmoid激勵函數寫為s(x):

z1 = w1*x

a1 = s(z1)

z2 = w2*a1

a2 = s(z2)

...

zn = wn*an-1 (這里n-1是下標)

an = s(zn)

根據鏈式求導和反向傳播,我們很容易得出,其中C是代價函數

?如果我們使用標準方法來初始化網絡中的權重,那么會使用一個均值為0標準差為1的高斯分布。因此所有的權重通常會滿足|wj|<1,而s‘是小于0.25的值,那么當神經網絡特別深的時候,梯度呈指數級衰減,導數在每一層至少會被壓縮為原來的1/4,當z值絕對值特別大時,導數趨于0,正是因為這兩個原因,從輸出層不斷向輸入層反向傳播訓練時,導數很容易逐漸變為0,使得權重和偏差參數無法被更新,導致神經網絡無法被優化,訓練永遠不會收斂到良好的解決方案。 這被稱為梯度消失問題。

?

2)什么是梯度爆炸現象?

以下摘自:《https://www.cnblogs.com/pinking/p/9418280.html》

對于目標函數,通常存在梯度變化很大的一個“懸崖”,在此處求梯度,很容易導致求解不穩定的梯度爆炸現象。?

?

3)如何對w,b進行初始化來避免梯度消失?

?>>>問題1:怎么從區間中均勻隨機取值?

答:均勻隨機數是服從均勻分布的隨機數

參考:《均勻分布的隨機數》

均勻分布的概率密度函數:

產生均勻分布隨機數的方法如下:

首先,由給定的初值x0,用混合同余法:

產生(0, 1)區間上的隨機數yi。其中:a=2045,c=1,M=2^20;

然后,通過變換zi=a+(b?a)yi產生(a,b)區間上的隨機數zi

使用:

/************************************a ---給定區間下限b ---給定區間上限seed ---隨機數種子 ************************************/ double uniform(double a, double b, long int *seed) {double t;*seed = 2045 * (*seed) + 1;*seed = *seed - (*seed / 1048576);t = (*seed) / 1048576.0;t = a + (b - a) * t;return(t); }

5、Batch Normalization(不懂)

?

?

6、目標函數的選擇處理

1)加正則項

2)對目標函數進行改造

?

7、參數更新策略

(1)常規的更新

2)SGD的問題

3)解決SGD問題的方法

?

8、訓練建議

四、神經網絡相較于SVM算法的優劣勢

總結

以上是生活随笔為你收集整理的机器学习——人工神经网络之参数设置(BP算法)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。