簡體   English   中英

使用Tensorflow / Keras的神經網絡中的負二項損失

[英]Negative Binomial Loss in Neural Network using Tensorflow / Keras

我正在處理一個高度傾斜的計數數據集,它通常適合負二項式。 我想在前饋神經網絡中使用負二項式作為Keras或Tensorflow中的損失函數。

據我所知,在查看可用的損失函數之后,keras或tensorflow不存在這樣的函數(雖然我希望我錯了,我只是錯過了一些東西)。

我環顧四周,我看到帖子建議只是換掉包含負二項式的損失,但是看起來更多的是在張量流中創建自定義丟失而不僅僅是用tf.contrib.distributions交換它.NegativeBinomial

有幾個帖子談論為Tensorflow / keras創建自定義丟失函數,例如: https ://datascience.stackexchange.com/questions/25029/custom-loss-function-with-additional-parameter-in-keras看了之后這個,我正在努力弄清楚如何編碼。

我想知道是否1)任何人已經使用負二項式創建了一個損失函數,並願意分享它的編碼方式或2)如何使這項工作的提示。

我在這個項目上專門用python工作。

提前感謝所有幫助。

我不知道負二項式損失,但我知道如何實現自定義損失函數

def custom_loss(y_true, y_pred):
    ...
    loss = ...
    return loss

將y_true和y_pred視為張量。 (這意味着您需要使用tensorflow或keras.backend中的函數,而不是使用諸如np.pow(y_true,2)之類的函數。

將自定義丟失函數作為編譯參數傳遞

model.compile(loss=custom_loss, optimizer='your favorite optimizer')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM