chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

作者:Onepagecode

來源:DeepHub IMBA


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

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

回歸模型的均方誤差損失

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


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

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

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


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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識

    日常生活中的智能應(yīng)用都離不開深度學(xué)習(xí),而深度學(xué)習(xí)則依賴于神經(jīng)網(wǎng)絡(luò)的實現(xiàn)。什么是神經(jīng)網(wǎng)絡(luò)?
    的頭像 發(fā)表于 12-17 15:05 ?195次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的初步認(rèn)識

    激活函數(shù)ReLU的理解與總結(jié)

    的深層神經(jīng)網(wǎng)絡(luò)的激活函數(shù)是一非常活躍的研究領(lǐng)域。目前神經(jīng)網(wǎng)絡(luò)常用的激活函數(shù)-ReLU(rec
    發(fā)表于 10-31 06:16

    NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹

    :   神經(jīng)網(wǎng)絡(luò)卷積函數(shù)   神經(jīng)網(wǎng)絡(luò)激活函數(shù)   全連接層函數(shù)   神經(jīng)網(wǎng)絡(luò)池化
    發(fā)表于 10-29 06:08

    在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗

    , batch_size=512, epochs=20)總結(jié) 這個核心算法中的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練過程,是用來對MNIST手寫數(shù)字圖像進(jìn)行分類的。模型將圖像作為輸入,通過卷積和池化層提取圖像的特征,然后通過全連接層進(jìn)行分類預(yù)測。訓(xùn)練
    發(fā)表于 10-22 07:03

    如何在機(jī)器視覺中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    圖 1:基于深度學(xué)習(xí)的目標(biāo)檢測可定位已訓(xùn)練的目標(biāo)類別,并通過矩形框(邊界框)對其進(jìn)行標(biāo)識。 在討論人工智能(AI)或深度學(xué)習(xí)時,經(jīng)常會出現(xiàn)“
    的頭像 發(fā)表于 09-10 17:38 ?804次閱讀
    如何在機(jī)器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    無刷電機(jī)小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測方法的研究

    摘要:論文通過對無刷電機(jī)數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了一以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來實現(xiàn)轉(zhuǎn)角預(yù)測,并采用改進(jìn)遺傳算法來訓(xùn)練網(wǎng)絡(luò)結(jié)
    發(fā)表于 06-25 13:06

    BP神經(jīng)網(wǎng)絡(luò)的調(diào)參技巧與建議

    BP神經(jīng)網(wǎng)絡(luò)的調(diào)參是一復(fù)雜且關(guān)鍵的過程,涉及多個超參數(shù)的優(yōu)化和調(diào)整。以下是一些主要的調(diào)參技巧與建議: 一、學(xué)習(xí)率(Learning Rate) 重要性 :學(xué)習(xí)率是BP
    的頭像 發(fā)表于 02-12 16:38 ?1610次閱讀

    如何優(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 ?1589次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的實現(xiàn)步驟詳解

    的層數(shù)、每層神經(jīng)元的數(shù)量以及激活函數(shù)。 初始化權(quán)重和偏置 : 隨機(jī)初始化輸入層與隱藏層、隱藏層與隱藏層、隱藏層與輸出層之間的連接權(quán)重,以及各層的偏置項。這些權(quán)重和偏置在訓(xùn)練過程中會逐漸調(diào)整。 設(shè)置
    的頭像 發(fā)表于 02-12 15:50 ?1344次閱讀

    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),同時也存在一些不容忽視的缺點(diǎn)。以下是對BP神經(jīng)網(wǎng)絡(luò)優(yōu)缺點(diǎn)的分析
    的頭像 發(fā)表于 02-12 15:36 ?1886次閱讀

    什么是BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法

    BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的有效方法。以下是關(guān)于BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法的介紹: 一、基本概念 反向傳播算
    的頭像 發(fā)表于 02-12 15:18 ?1469次閱讀

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

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

    BP神經(jīng)網(wǎng)絡(luò)在圖像識別中的應(yīng)用

    傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network),是一種多層前饋神經(jīng)網(wǎng)絡(luò),主要通過反向傳播算法進(jìn)行學(xué)習(xí)。它通常包括輸入層、一或多個隱藏層和輸出層。BP
    的頭像 發(fā)表于 02-12 15:12 ?1315次閱讀

    如何訓(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)練過程主要分為兩階段:前向傳播和反向傳播。以下是訓(xùn)練BP
    的頭像 發(fā)表于 02-12 15:10 ?1630次閱讀

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

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