一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

訓(xùn)練深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的常用5個(gè)損失函數(shù)

穎脈Imgtec ? 2022-10-19 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:Onepagecode

來(lái)源:DeepHub IMBA


神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)的優(yōu)化首先是對(duì)模型的當(dāng)前狀態(tài)進(jìn)行誤差估計(jì),然后為了減少下一次評(píng)估的誤差,需要使用一個(gè)能夠表示錯(cuò)誤函數(shù)對(duì)權(quán)重進(jìn)行更新,這個(gè)函數(shù)被稱為損失函數(shù)。

損失函數(shù)的選擇與神經(jīng)網(wǎng)絡(luò)模型從示例中學(xué)習(xí)的特定預(yù)測(cè)建模問(wèn)題(例如分類或回歸)有關(guān)。在本文中我們將介紹常用的一些損失函數(shù),包括:

回歸模型的均方誤差損失

二元分類模型的交叉熵和hinge 損失


回歸模型的損失函數(shù)

回歸預(yù)測(cè)模型主要是用來(lái)預(yù)測(cè)連續(xù)的數(shù)值。所以我們將使用 scikit-learn的 make_regression() 函數(shù)來(lái)生成一些模擬數(shù)據(jù),并使用這些數(shù)據(jù)構(gòu)建回歸模型。我們將生成 20 個(gè)輸入特征:其中 10 個(gè)特征將是有意義的,但 10 個(gè)與問(wèn)題無(wú)關(guān)。并且隨機(jī)生成 1,000 個(gè)示例。并且指定隨機(jī)種子,所以無(wú)論何時(shí)運(yùn)行代碼都會(huì)生成相同的 1,000 個(gè)示例。5df19158-4f29-11ed-b116-dac502259ad0.png將實(shí)值輸入和輸出變量縮放到一個(gè)合理的范圍通常可以提高神經(jīng)網(wǎng)絡(luò)的性能。所以我們要對(duì)對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。StandardScaler也可以在scikit-learn庫(kù)中找到,為了簡(jiǎn)化問(wèn)題我們將在將所有數(shù)據(jù)分割為訓(xùn)練集和測(cè)試集之前對(duì)其進(jìn)行縮放。5e12361a-4f29-11ed-b116-dac502259ad0.png然后平均分割訓(xùn)練和驗(yàn)證集5e3ed18e-4f29-11ed-b116-dac502259ad0.png為了介紹不同的損失函數(shù),我們將開(kāi)發(fā)一個(gè)小型多層感知器(MLP)模型。根據(jù)問(wèn)題定義,有20個(gè)特征作為輸入,經(jīng)過(guò)我們的模型。需要要預(yù)測(cè)的一個(gè)實(shí)值,所以輸出層將有一個(gè)節(jié)點(diǎn)。5e6693a4-4f29-11ed-b116-dac502259ad0.png我們使用SGD進(jìn)行優(yōu)化,并且學(xué)習(xí)率為0.01,動(dòng)量為0.9,兩者都是合理的默認(rèn)值。訓(xùn)練將進(jìn)行100個(gè)輪,測(cè)試集將在每個(gè)階段結(jié)束時(shí)進(jìn)行評(píng)估,并且繪制學(xué)習(xí)曲線。5e70881e-4f29-11ed-b116-dac502259ad0.png模型完成后就可以進(jìn)行損失函數(shù)的介紹:MSE回歸問(wèn)題最常使用的是均方誤差損失(MSE)。當(dāng)目標(biāo)變量的分布為高斯分布時(shí),它是最大似然推理下的首選損失函數(shù)。所以只有當(dāng)你有一個(gè)更好的理由時(shí),才應(yīng)該改變?yōu)槠渌麚p失函數(shù)。如果在 Keras 中編譯模型時(shí)將“mse”或“mean_squared_error”指定為損失函數(shù),則使用均方誤差損失函數(shù)。5e9fa84c-4f29-11ed-b116-dac502259ad0.png下面的代碼是上述回歸問(wèn)題的完整示例。5eb33b32-4f29-11ed-b116-dac502259ad0.png在運(yùn)行示例的第一步中,打印了模型的訓(xùn)練和測(cè)試數(shù)據(jù)集的均方誤差,因?yàn)楸A袅?位小數(shù),所以顯示為0.0005edce3e2-4f29-11ed-b116-dac502259ad0.png從下圖中可以看出,模型收斂速度相當(dāng)快,訓(xùn)練和測(cè)試性能保持不變。根據(jù)模型的性能和收斂特性,均方誤差是回歸問(wèn)題的一個(gè)很好的選擇。5ef0f26a-4f29-11ed-b116-dac502259ad0.pngMSLE在具有廣泛值的回歸問(wèn)題中,可能不希望在預(yù)測(cè)大值時(shí)像均方誤差那樣對(duì)模型進(jìn)行懲罰。所以可以通過(guò)首先計(jì)算每個(gè)預(yù)測(cè)值的自然對(duì)數(shù)來(lái)計(jì)算均方誤差。這種損失稱為 MSLE,或均方對(duì)數(shù)誤差。當(dāng)預(yù)測(cè)值出現(xiàn)較大差異時(shí),它具有放松懲罰效果的效果。當(dāng)模型直接預(yù)測(cè)未縮放的數(shù)量時(shí),它可能是更合適的損失度量。keras中使用“mean_squared_logarithmic_error”作為損失函數(shù)5f07dc64-4f29-11ed-b116-dac502259ad0.png在下面的示例是使用MSLE損失函數(shù)的完整代碼。5f1d3136-4f29-11ed-b116-dac502259ad0.png該模型在訓(xùn)練和測(cè)試數(shù)據(jù)集上的MSE都略差。這是由于目標(biāo)變量的分布是一個(gè)標(biāo)準(zhǔn)的高斯分布,說(shuō)明我們的這個(gè)損失函數(shù)可能不是很適合這個(gè)問(wèn)題。5f5c738c-4f29-11ed-b116-dac502259ad0.png下圖顯示各訓(xùn)練輪次的對(duì)比MSE收斂得很好,但MSE可能過(guò)擬合了,因?yàn)樗鼜?0輪開(kāi)始下降變得變換并且開(kāi)始上升。5f656212-4f29-11ed-b116-dac502259ad0.pngMAE根據(jù)回歸問(wèn)題,目標(biāo)變量的分布可能主要是高斯分布,但可能包含異常值,例如 遠(yuǎn)離平均值的大值或小值。在這種情況下,平均絕對(duì)誤差或 MAE 損失是一個(gè)合適的損失函數(shù),因?yàn)樗鼘?duì)異常值更穩(wěn)健??紤]到實(shí)際值與預(yù)測(cè)值的絕對(duì)差值,計(jì)算為平均值。使用“mean_absolute_error”損失函數(shù)5f830dee-4f29-11ed-b116-dac502259ad0.png這是使用MAE的完整代碼5f95f08a-4f29-11ed-b116-dac502259ad0.png結(jié)果如下5fa379b2-4f29-11ed-b116-dac502259ad0.png下圖可以看到,MAE確實(shí)收斂了但它有一個(gè)顛簸的過(guò)程。MAE在這種情況下也不是很適合,因?yàn)槟繕?biāo)變量是一個(gè)沒(méi)有大離群值的高斯函數(shù)。

5fba86ca-4f29-11ed-b116-dac502259ad0.png


二元分類的損失函數(shù)

二元分類問(wèn)題是預(yù)測(cè)建模問(wèn)題中兩個(gè)標(biāo)簽中的一個(gè)。這個(gè)問(wèn)題被定義為預(yù)測(cè)第一個(gè)或第二個(gè)類的值為0或1,一般情況下通常被實(shí)現(xiàn)為預(yù)測(cè)屬于類值1的的概率。我們也是使用sklearn生成數(shù)據(jù)這里使用圓問(wèn)題,它有一個(gè)二維平面,有兩個(gè)同心圓,其中外圓上的點(diǎn)屬于類0,內(nèi)圓上的點(diǎn)屬于類1。為了使學(xué)習(xí)更具挑戰(zhàn)性,我們還在樣本中加入了統(tǒng)計(jì)噪聲。樣本量為1000,并加入10%的統(tǒng)計(jì)噪聲。5fc7dba4-4f29-11ed-b116-dac502259ad0.png數(shù)據(jù)集的散點(diǎn)圖可以幫助我們理解正在建模的問(wèn)題。下面列出的是一個(gè)完整的示例。5fe50ba2-4f29-11ed-b116-dac502259ad0.png散點(diǎn)圖如下,其中輸入變量確定點(diǎn)的位置,顏色為類值。0是藍(lán)色的,1是橙色的。601accd8-4f29-11ed-b116-dac502259ad0.png這里還是一半用于訓(xùn)練,一半用于測(cè)試,5e3ed18e-4f29-11ed-b116-dac502259ad0.png我們還是定義一個(gè)簡(jiǎn)單的MLP模型,604993f6-4f29-11ed-b116-dac502259ad0.png使用SGD優(yōu)化,學(xué)習(xí)率為0.01,動(dòng)量為0.99。605664c8-4f29-11ed-b116-dac502259ad0.png模型訓(xùn)練200輪進(jìn)行擬合,并根據(jù)損失和準(zhǔn)確性評(píng)估模型的性能。60658fc0-4f29-11ed-b116-dac502259ad0.pngBCEBCE是用于解決的二元分類問(wèn)題默認(rèn)損失函數(shù)。在最大似然推理框架下,它是首選損失函數(shù)。對(duì)于第1類的預(yù)測(cè),交叉熵計(jì)算一個(gè)分?jǐn)?shù),該分?jǐn)?shù)總結(jié)了實(shí)際和預(yù)測(cè)概率分布之間的平均差異。在編譯Keras模型時(shí),可以指定binary_crossentropy作為損失函數(shù)。606ff712-4f29-11ed-b116-dac502259ad0.png為了預(yù)測(cè)類1的概率,輸出層必須包含一個(gè)節(jié)點(diǎn)和一個(gè)' sigmoid '激活。6098ee42-4f29-11ed-b116-dac502259ad0.png下面是完整的代碼:60ab2efe-4f29-11ed-b116-dac502259ad0.png該模型對(duì)問(wèn)題的學(xué)習(xí)相對(duì)較好,在測(cè)試數(shù)據(jù)集上的準(zhǔn)確率為83%,準(zhǔn)確率為85%。分?jǐn)?shù)之間存在一定程度的重疊,表明模型既不是過(guò)擬合也不是欠擬合。下圖中所示,訓(xùn)練效果很好。由于概率分布之間的誤差是連續(xù)的,損失圖是平滑的,而精度線圖顯示出凹凸不平,因?yàn)橛?xùn)練和測(cè)試集中的例子只能被預(yù)測(cè)為正確或不正確,提供的顆粒信息較少。60bf23be-4f29-11ed-b116-dac502259ad0.pngHinge支持向量機(jī) (SVM) 模型使用Hinge 損失函數(shù)作為交叉熵的替代來(lái)解決二元分類問(wèn)題。目標(biāo)值在是集合 [-1, 1] ,旨在與二進(jìn)制分類一起使用。如果實(shí)際類別值和預(yù)測(cè)類別值的符號(hào)不同,則Hinge會(huì)得到更大的誤差。在二元分類問(wèn)題上它有時(shí)比交叉熵更好。作為第一步,我們必須將目標(biāo)變量的值修改為集合 {-1, 1}。60d4bb8e-4f29-11ed-b116-dac502259ad0.pngkeras中它被稱為' hinge '。60dd3d0e-4f29-11ed-b116-dac502259ad0.png在網(wǎng)絡(luò)的輸出層中,必須使用tanh激活函數(shù)的單個(gè)節(jié)點(diǎn)以輸出介于 -1 和 1 之間的單個(gè)值。60e71054-4f29-11ed-b116-dac502259ad0.png下面是完整代碼:60f7dde4-4f29-11ed-b116-dac502259ad0.png比交叉熵略差的性能,在訓(xùn)練和測(cè)試集上的準(zhǔn)確性不到80%。6169b6ee-4f29-11ed-b116-dac502259ad0.png下圖可以看出,模型已經(jīng)收斂,分類精度圖表明也已經(jīng)收斂。61758118-4f29-11ed-b116-dac502259ad0.png可以看到這個(gè)問(wèn)題還是BCE比較好,這里可能的原因就是因?yàn)槲覀冇幸恍┰肼朁c(diǎn)導(dǎo)致的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何優(yōu)化BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)

    優(yōu)化BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率是提高模型訓(xùn)練效率和性能的關(guān)鍵步驟。以下是一些優(yōu)化BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率的方法: 一、理解
    的頭像 發(fā)表于 02-12 15:51 ?948次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點(diǎn)分析

    BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)作為一種常用的機(jī)器學(xué)習(xí)模型,具有顯著的優(yōu)點(diǎn),同時(shí)也存在一些不容忽視的缺點(diǎn)。以下是對(duì)BP神經(jīng)網(wǎng)絡(luò)優(yōu)缺點(diǎn)的分析
    的頭像 發(fā)表于 02-12 15:36 ?933次閱讀

    BP神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)的關(guān)系

    ),是一種多層前饋神經(jīng)網(wǎng)絡(luò),它通過(guò)反向傳播算法進(jìn)行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)由輸入層、一個(gè)或多個(gè)隱藏層和輸出層組成,通過(guò)逐層遞減的方式調(diào)整網(wǎng)絡(luò)權(quán)重,
    的頭像 發(fā)表于 02-12 15:15 ?871次閱讀

    如何訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)模型

    BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種經(jīng)典的人工神經(jīng)網(wǎng)絡(luò)模型,其訓(xùn)練過(guò)程主要分為兩個(gè)階段:前向傳播和反向傳播。以下是訓(xùn)練BP
    的頭像 發(fā)表于 02-12 15:10 ?931次閱讀

    深度學(xué)習(xí)入門:簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)的構(gòu)建與實(shí)現(xiàn)

    深度學(xué)習(xí)中,神經(jīng)網(wǎng)絡(luò)是核心模型。今天我們用 Python 和 NumPy 構(gòu)建一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)神經(jīng)
    的頭像 發(fā)表于 01-23 13:52 ?536次閱讀

    人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

    所擬合的數(shù)學(xué)模型的形式受到大腦中神經(jīng)元的連接和行為的啟發(fā),最初是為了研究大腦功能而設(shè)計(jì)的。然而,數(shù)據(jù)科學(xué)中常用神經(jīng)網(wǎng)絡(luò)作為大腦模型已經(jīng)過(guò)時(shí),現(xiàn)在它們只是能夠在某些應(yīng)用中提供最先進(jìn)性能的機(jī)器學(xué)
    的頭像 發(fā)表于 01-09 10:24 ?1219次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>架構(gòu)方法

    一文詳解物理信息神經(jīng)網(wǎng)絡(luò)

    物理信息神經(jīng)網(wǎng)絡(luò) (PINN) 是一種神經(jīng)網(wǎng)絡(luò),它將微分方程描述的物理定律納入其損失函數(shù)中,以引導(dǎo)學(xué)習(xí)過(guò)程得出更符合基本物理定律的解。
    的頭像 發(fā)表于 12-05 16:50 ?8491次閱讀
    一文詳解物理信息<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)工具與框架

    : TensorFlow是由Google Brain團(tuán)隊(duì)開(kāi)發(fā)的開(kāi)源機(jī)器學(xué)習(xí)框架,它支持多種深度學(xué)習(xí)模型的構(gòu)建和訓(xùn)練,包括卷積神經(jīng)網(wǎng)絡(luò)。Ten
    的頭像 發(fā)表于 11-15 15:20 ?674次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較

    深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于各種任務(wù),如圖像識(shí)別、自然語(yǔ)言處理和游戲智能等。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是兩種常
    的頭像 發(fā)表于 11-15 14:53 ?1887次閱讀

    深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)模型

    深度學(xué)習(xí)近年來(lái)在多個(gè)領(lǐng)域取得了顯著的進(jìn)展,尤其是在圖像識(shí)別、語(yǔ)音識(shí)別和自然語(yǔ)言處理等方面。卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的一
    的頭像 發(fā)表于 11-15 14:52 ?860次閱讀

    【每天學(xué)點(diǎn)AI】前向傳播、損失函數(shù)、反向傳播

    深度學(xué)習(xí)的領(lǐng)域中,前向傳播、反向傳播和損失函數(shù)是構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的三
    的頭像 發(fā)表于 11-15 10:32 ?1233次閱讀
    【每天學(xué)點(diǎn)AI】前向傳播、<b class='flag-5'>損失</b><b class='flag-5'>函數(shù)</b>、反向傳播

    RNN的損失函數(shù)與優(yōu)化算法解析

    RNN的損失函數(shù) RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))在處理序列數(shù)據(jù)的過(guò)程中,損失函數(shù)(Loss Function)扮演著重要的角色,它可以測(cè)量模型在
    的頭像 發(fā)表于 11-15 10:16 ?1406次閱讀

    關(guān)于卷積神經(jīng)網(wǎng)絡(luò),這些概念你厘清了么~

    必須通過(guò)決策閾值做出決定。 另一個(gè)區(qū)別是AI并不依賴固定的規(guī)則,而是要經(jīng)過(guò)訓(xùn)練訓(xùn)練過(guò)程需要將大量貓的圖像展示給神經(jīng)網(wǎng)絡(luò)以供其學(xué)習(xí)。最終,
    發(fā)表于 10-24 13:56

    【飛凌嵌入式OK3576-C開(kāi)發(fā)板體驗(yàn)】RKNN神經(jīng)網(wǎng)絡(luò)算法開(kāi)發(fā)環(huán)境搭建

    download_model.sh 腳本,該腳本 將下載一個(gè)可用的 YOLOv5 ONNX 模型,并存放在當(dāng)前 model 目錄下,參考命令如下: 安裝COCO數(shù)據(jù)集,在深度神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 10-10 09:28

    FPGA在深度神經(jīng)網(wǎng)絡(luò)中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)作為其核心算法之一,在圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理等領(lǐng)域取得了顯著成果。然而,傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-24 10:42 ?1225次閱讀