亚洲国产成人精品久久_欧美日韩国产综合一区二区_亚洲精品理论电影_色综合久久中文字幕

如何在Keras中創建自定義損失函數?

放大字體  縮小字體 發布日期:2019-11-30  來源:來自互聯網  作者:來自互聯網  瀏覽次數:113
導讀

我們可以通過編寫一個返回標量并接受兩個參數(即真值和預測值)的函數,在 Keras 中創建一個自定義損失函數。 我們需要將自定義的損失函數和優化器傳遞給在模型實例上調用的 compile 方法。 …

Dhruv Deshmukh 發布在 Unsplash 上的照片

我們使用損失函數來計算一個給定的算法與它所訓練的數據的匹配程度。損失計算是基于預測值和實際值之間的差異來做的。如果預測值與實際值相差甚遠,損失函數將得到一個非常大的數值。

Keras 是一個創建神經網絡的庫,它是開源的,用 Python 語言編寫。Keras 不支持低級計算,但它運行在諸如 Theano 和 TensorFlow 之類的庫上。

在本教程中,我們將使用 TensorFlow 作為 Keras backend。backend 是一個 Keras 庫,用于執行計算,如張量積、卷積和其他類似的活動。

Karim MANJRA 發布在 Unsplash 上的照片

keras 中常用的損失函數

如上所述,我們可以創建一個我們自己的自定義損失函數;但是在這之前,討論現有的 Keras 損失函數是很好的。下面是兩個最常用的:

均方誤差

均方誤差(MSE)測量誤差平方的平均值。它是預測值和實際值之間的平均平方差。

平均絕對誤差

平均絕對誤差(MAE)是兩個連續變量之間差的度量,通常用 x 和 y 表示。平均絕對誤差是絕對誤差 e=y-x 的平均值,其中 y 是預測值,x 是實際值。

什么是自定義損失函數?

對于不同的損失函數,計算損失的公式有不同的定義。在某些情況下,我們可能需要使用 Keras 沒有提供的損失計算公式。在這種情況下,我們可以考慮定義和使用我們自己的損失函數。這種用戶定義的損失函數稱為自定義損失函數。

Keras 中的自定義損失函數可以以我們想要的方式提高機器學習模型的性能,并且對于更有效地解決特定問題非常有用。例如,假設我們正在構建一個股票投資組合優化模型。在這種情況下,設計一個定制損失函數將有助于實現對在錯誤方向上預測價格變動的巨大懲罰。

我們可以通過編寫一個返回標量并接受兩個參數(即真值和預測值)的函數,在 Keras 中創建一個自定義損失函數。然后,我們將自定義損失函數傳遞給 modelpile 作為參數,就像處理任何其他損失函數一樣。

實現自定義損失函數

現在讓我們為我們的 Keras 模型實現一個自定義的損失函數。首先,我們需要定義我們的 Keras 模型。我們的模型實例名是 keras_model,我們使用 keras 的 sequential函數來創建模型。

我們有三個層,都是形狀為 64、64 和 1 的密集層。我們有一個為 1 的輸入形狀,我們使用 ReLU 激活函數(校正線性單位)。

一旦定義了模型,我們就需要定義我們的自定義損失函數。其實現如下所示。我們將實際值和預測值傳遞給這個函數。

注意,我們將實際值和預測值的差除以 10,這是損失函數的自定義部分。在缺省損失函數中,實際值和預測值的差值不除以 10。

記住,這完全取決于你的特定用例需要編寫什么樣的自定義損失函數。在這里我們除以 10,這意味著我們希望在計算過程中降低損失的大小。

在 MSE 的默認情況下,損失的大小將是此自定義實現的 10 倍。因此,當我們的損失值變得非常大并且計算變得非常昂貴時,我們可以使用這種定制的損失函數。

在這里,我們從這個函數返回一個標量自定義損失值。

定義 keras 的自定義損失函數

要進一步使用自定義損失函數,我們需要定義優化器。我們將在這里使用 RMSProp 優化器。RMSprop 代表均方根傳播。RMSprop 優化器類似于具有動量的梯度下降。常用的優化器被命名為 rmsprop、Adam 和 sgd。

我們需要將自定義的損失函數和優化器傳遞給在模型實例上調用的 compile 方法。然后我們打印模型以確保編譯時沒有錯誤。

Keras 模型優化器和編譯模型

現在是時候訓練這個模型,看看它是否正常工作了。為此,我們在模型上使用擬合方法,傳遞自變量 x 和因變量 y 以及 epochs=100。

這里的目的是確保模型訓練沒有任何錯誤,并且隨著 epoch 數的增加,損失逐漸減少。你可以查看下圖中的模型訓練的結果:

epoch=100 的 Keras 模型訓練

結語

在本文中,我們了解了什么是自定義損失函數,以及如何在 Keras 模型中定義一個損失函數。然后,我們使用自定義損失函數編譯了 Keras 模型。最后,我們成功地訓練了模型,實現了自定義損失功能。

via:https://heartbeat.fritz.ai/how-to-create-a-custom-loss-function-in-keras-637bd312e9ab

雷鋒網年度評選——尋找19大行業的最佳AI落地實踐

創立于2017年的「AI最佳掘金案例年度榜單」,是業內首個人工智能商業案例評選活動。雷鋒網從商用維度出發,尋找人工智能在各個行業的最佳落地實踐。

第三屆評選已正式啟動,關注微信公眾號“雷鋒網”,回復關鍵詞“榜單”參與報名。詳情可咨詢微信號:xqxq_xq

雷鋒網雷鋒網雷鋒網

 
 
免責聲明
本文為會員免費發布,僅代表發布者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理。
 
 
主站蜘蛛池模板: 国产日本欧美一区二区三区在线| 国产精品无av码在线观看| 日韩在线视频中文字幕| 国产精品亚洲a| 91久久久亚洲精品| 亚洲精品在线免费看| 久久久久久亚洲| 国产精品免费久久久久影院| 日韩中文在线不卡| 久久97精品久久久久久久不卡| 国产精品一 二 三| 日韩亚洲欧美中文高清在线| 伊人久久大香线蕉午夜av| 欧美一级片一区| 97国产精品视频| 精品人妻人人做人人爽| 亚洲精品在线视频观看| 国产精品美腿一区在线看| 欧美亚洲免费高清在线观看| 国产精品偷伦免费视频观看的| 涩涩日韩在线| 亚洲在线视频福利| 久久久久久久久久久av| 日本在线播放不卡| 国产精品久久999| 精品久久久久久无码中文野结衣| 中文字幕精品在线播放| 天天成人综合网| www.午夜精品| 国产在线观看福利| 欧美亚洲国产日韩2020| 99在线观看视频网站| 国产精品久久视频| 国产视频不卡| 久久久久久久久国产| 国产午夜精品在线| 欧美中文字幕视频| 日本精品一区二区三区高清 久久| 青青青国产在线视频| 97干在线视频| 久久久国产精品x99av|