亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

keras中epoch,batch,loss,val_loss用法說(shuō)明

 更新時(shí)間:2020年07月02日 09:04:06   作者:audiocool  
這篇文章主要介紹了keras中epoch,batch,loss,val_loss用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1、epoch

Keras官方文檔中給出的解釋是:“簡(jiǎn)單說(shuō),epochs指的就是訓(xùn)練過(guò)程接中數(shù)據(jù)將被“輪”多少次”

(1)釋義:

訓(xùn)練過(guò)程中當(dāng)一個(gè)完整的數(shù)據(jù)集通過(guò)了神經(jīng)網(wǎng)絡(luò)一次并且返回了一次,這個(gè)過(guò)程稱為一個(gè)epoch,網(wǎng)絡(luò)會(huì)在每個(gè)epoch結(jié)束時(shí)報(bào)告關(guān)于模型學(xué)習(xí)進(jìn)度的調(diào)試信息。

(2)為什么要訓(xùn)練多個(gè)epoch,即數(shù)據(jù)要被“輪”多次

在神經(jīng)網(wǎng)絡(luò)中傳遞完整的數(shù)據(jù)集一次是不夠的,對(duì)于有限的數(shù)據(jù)集(是在批梯度下降情況下),使用一個(gè)迭代過(guò)程,更新權(quán)重一次或者說(shuō)使用一個(gè)epoch是不夠的,需要將完整的數(shù)據(jù)集在同樣的神經(jīng)網(wǎng)絡(luò)中傳遞多次,隨著epoch次數(shù)增加,神經(jīng)網(wǎng)絡(luò)中的權(quán)重的更新次數(shù)也增加,模型從欠擬合變得過(guò)擬合。

2、batch

(1)keras官方文檔中給出的解釋:

深度學(xué)習(xí)的優(yōu)化算法,說(shuō)白了就是梯度下降。每次的參數(shù)更新有兩種方式:

第一種,遍歷全部數(shù)據(jù)集算一次損失函數(shù),然后算函數(shù)對(duì)各個(gè)參數(shù)的梯度,更新梯度。這種方法每更新一次參數(shù)都要把數(shù)據(jù)集里的所有樣本都看一遍,計(jì)算量開(kāi)銷大,計(jì)算速度慢,不支持在線學(xué)習(xí),這種稱為Batch gradient descent,批梯度下降

另一種,每看一個(gè)數(shù)據(jù)就算一下?lián)p失函數(shù),然后求梯度更新參數(shù),這個(gè)稱為隨機(jī)梯度下降,stochastic gradient descent.這個(gè)方法速度比較快,但是收斂性能不太好,可能在最優(yōu)點(diǎn)附近晃來(lái)晃去,hit不到最優(yōu)點(diǎn),兩次參數(shù)的更新也有可能互相抵消掉,造成目標(biāo)函數(shù)震蕩的比較劇烈。

為了克服兩種方法的缺點(diǎn),現(xiàn)在一般采用的是一種折中手段,mini-batch gradient decent,小批的梯度下降,這種方法把數(shù)據(jù)分為若干個(gè)批,按批來(lái)更新參數(shù),這樣,一個(gè)批中的一組數(shù)據(jù)共同決定了本次梯度的方向,下降起來(lái)就不容易跑偏,減少了隨機(jī)性。另一方面因?yàn)榕臉颖緮?shù)與整個(gè)數(shù)據(jù)集相比小了很多,計(jì)算量也不是很大。

(2)batch_size:

Keras中參數(shù)更新是按批進(jìn)行的,就是小批梯度下降算法,把數(shù)據(jù)分為若干組,稱為batch,按批更新參數(shù),這樣,一個(gè)批中的一組數(shù)據(jù)共同決定了本次梯度的方向,一批數(shù)據(jù)中包含的樣本數(shù)量稱為batch_size。

3、iteration

將數(shù)據(jù)分為幾個(gè)batch而不是一次性通過(guò)神經(jīng)網(wǎng)絡(luò)時(shí),iteration是batch需要完成一個(gè)epoch的次數(shù),也就是number of batches (區(qū)別于 batch size) , 在一次epoch中 number of  batches = iteration = 訓(xùn)練樣本總數(shù)  / batch size

比如,對(duì)于一個(gè)有2000個(gè)訓(xùn)練樣本的數(shù)據(jù)集,將2000個(gè)樣本分成大小為500的batch,那么完成一個(gè)epoch需要4個(gè)iteration

4、batch size 和 epoch 的選取

(1)訓(xùn)練網(wǎng)絡(luò)過(guò)程中,一個(gè)batch中的樣本規(guī)模大小,即batch size 和epoch個(gè)數(shù)一起通過(guò)影響更新權(quán)重的頻率定義了網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)的速度。

對(duì)于固定的epoch:

(a)在合理范圍內(nèi),隨著batch size增大,跑完一次epoch所需的迭代數(shù)減少,對(duì)于相同數(shù)據(jù)量的處理速度進(jìn)一步加快,確定的下降方向越準(zhǔn),引起的訓(xùn)練震蕩越小。

(b)batch size 過(guò)大時(shí),跑完一次epoch所需的迭代數(shù)減少,想要達(dá)到相同的精度,所花費(fèi)的時(shí)間大大增加了,從而對(duì)參數(shù)的修正也變得緩慢,batch size增大到一定程度,其確定的下降方向已經(jīng)基本不再變化

對(duì)于固定的batch size:

(a)在合理范圍內(nèi)隨著epoch的增加,訓(xùn)練集和測(cè)試集的誤差呈下降趨勢(shì),模型的訓(xùn)練有了效果

(b)隨著epoch的繼續(xù)增加,訓(xùn)練集的誤差呈下降而測(cè)試集的誤差呈上升趨勢(shì),模型過(guò)擬合訓(xùn)練集對(duì)測(cè)試集性能不好

(2)實(shí)驗(yàn)實(shí)驗(yàn),通過(guò)實(shí)驗(yàn)+經(jīng)驗(yàn)選取合適的batch size 和 epoch

訓(xùn)練截圖:

網(wǎng)絡(luò)的權(quán)重參數(shù)W在每一個(gè)batch size都會(huì)進(jìn)行一次更新,界面顯示的loss值是 iteration次batch size訓(xùn)練后loss值的加權(quán)求和值。val_loss是跑完一次Epoch后,跑完一次驗(yàn)證集計(jì)算的值。

---------訓(xùn)練總結(jié)------------

train loss 不斷下降,test loss不斷下降,說(shuō)明網(wǎng)絡(luò)仍在學(xué)習(xí);(最好的)

train loss 不斷下降,test loss趨于不變,說(shuō)明網(wǎng)絡(luò)過(guò)擬合;(max pool或者正則化)

train loss 趨于不變,test loss不斷下降,說(shuō)明數(shù)據(jù)集100%有問(wèn)題;(檢查dataset)

train loss 趨于不變,test loss趨于不變,說(shuō)明學(xué)習(xí)遇到瓶頸,需要減小學(xué)習(xí)率或批量數(shù)目;(減少學(xué)習(xí)率)

train loss 不斷上升,test loss不斷上升,說(shuō)明網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)不當(dāng),訓(xùn)練超參數(shù)設(shè)置不當(dāng),數(shù)據(jù)集經(jīng)過(guò)清洗等問(wèn)題。(最不好的情況)

以上這篇keras中epoch,batch,loss,val_loss用法說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 跟老齊學(xué)Python之Import 模塊

    跟老齊學(xué)Python之Import 模塊

    本文主要講解了基本的import模塊方法,首先從模塊的定義入手,接著講訴如何自己編寫模塊,非常簡(jiǎn)單實(shí)用,有需要的朋友可以參考下
    2014-10-10
  • Python全棧之隊(duì)列詳解

    Python全棧之隊(duì)列詳解

    這篇文章主要為大家介紹了Python全棧之隊(duì)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • 關(guān)于sklearn包導(dǎo)入錯(cuò)誤:ImportError:?cannot?import?name Type解決方案

    關(guān)于sklearn包導(dǎo)入錯(cuò)誤:ImportError:?cannot?import?name Type解

    這篇文章主要介紹了關(guān)于sklearn包導(dǎo)入錯(cuò)誤:ImportError:?cannot?import?name‘Type‘解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • pandas 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)

    pandas 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn)

    這篇文章主要介紹了pandas 數(shù)據(jù)類型轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python語(yǔ)言中有算法嗎

    python語(yǔ)言中有算法嗎

    在本篇文章里小編給大家整理的是一篇關(guān)于python里算法的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python IDLE添加行號(hào)顯示教程

    python IDLE添加行號(hào)顯示教程

    這篇文章主要介紹了python IDLE添加行號(hào)顯示教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python中的//符號(hào)是什么意思呢

    Python中的//符號(hào)是什么意思呢

    這篇文章主要介紹了Python中的//符號(hào)是什么意思,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • win7 下搭建sublime的python開(kāi)發(fā)環(huán)境的配置方法

    win7 下搭建sublime的python開(kāi)發(fā)環(huán)境的配置方法

    Sublime Text具有漂亮的用戶界面和強(qiáng)大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。Sublime Text的主要功能包括:拼寫檢查,書簽,完整的 Python API,Goto功能,即時(shí)項(xiàng)目切換,多選擇,多窗口等等。
    2014-06-06
  • python實(shí)現(xiàn)將excel文件轉(zhuǎn)化成CSV格式

    python實(shí)現(xiàn)將excel文件轉(zhuǎn)化成CSV格式

    下面小編就為大家分享一篇python實(shí)現(xiàn)將excel文件轉(zhuǎn)化成CSV格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Python中如何自定義函數(shù)

    Python中如何自定義函數(shù)

    這篇文章主要介紹了Python中如何自定義函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評(píng)論