<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給skura
      發送

      0

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

      本文作者: skura 2019-11-30 17:47
      導語:實用教程

      語音播放文章內容

      由深聲科技提供技術支持

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

      Dhruv Deshmukh 發布在 Unsplash 上的照片

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

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

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

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

      Karim MANJRA 發布在 Unsplash 上的照片

      keras 中常用的損失函數

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

      均方誤差

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

      平均絕對誤差

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

      什么是自定義損失函數?

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

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

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

      實現自定義損失函數

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

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

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

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

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

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

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

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

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

      定義 keras 的自定義損失函數

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

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

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

      Keras 模型優化器和編譯模型

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

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

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

      epoch=100 的 Keras 模型訓練

      結語

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

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

      雷鋒網雷鋒網雷鋒網

      雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

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

      分享:
      相關文章
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: awww在线天堂bd资源在线| 亚洲成a人v欧美综合天堂下载| 午夜dv内射一区二区| 国产高清在线a视频大全| 中文有码无码人妻在线| 制服丝袜在线精品| 第一福利精品| 色午夜| 广昌县| 五月天婷婷一本到伊人| 久热官网| 国产成人最新三级在线视频| 欧美怡红院视频一区二区三区| 国产手机在线精品| 久久久精品人妻一区二区三区蜜桃| 亚洲成人无码中文字幕| 成人无码精品1区2区3区免费看| 小鲜肉自慰网站| 国产av麻豆mag剧集| 亚洲男人第一无码av网站| 亚洲女同精品中文字幕| 人妻聚色窝窝人体WWW一区| 久久人体视频| 谁有老熟女网站| 在线免费看AV| 欧美日韩v| 国产欧美精品一区二区三区,| 亚洲精品二| 无码精品国产va在线观看dvd| 欧洲人妻丰满av无码久久不卡 | 亚洲国产欧美在线人成| 亚洲精品无码你懂的网站| 国产成人av免费观看| 柠檬福利第一导航在线| 久久久精品波多野结衣| 少妇人妻偷人精品免费视频| 中国普通话特级毛片| 黑人巨大精品欧美一区二区| 欧美日韩亚洲中文字幕二区| 国产美女白丝袜精品_a不卡| 牛牛AV|