我试图计算倾斜损失,这将用于Keras。但是,我一定是做错了什么,因为我得到了负损失值(这应该是不可能的)。我可以指出谁做错了什么。我想我弄错的是theano语法。在
损失在数学上定义为:
其中$xiii= yyi-ffi$$,其中$yii $是观察值,$fii-$是预测。此外,我在平均损失之后,因此我将损失函数定义为:
$$
\mathcal{L} = \frac{\alpha\sum \xi_i-\sum I(\xi_i<0)\xi_i}{N}
$$
其中,$I()$是指示符函数,如果为真,则采用值1。在
因此,我的损失函数定义如下:
^{pr2}$然而,当我运行我的网络时,我得到了负值。这里的theano语法有什么问题吗?我最大的怀疑是:tt.sum(e[e<0]))
。你能把它切成这样吗?在
任何想法都将不胜感激。在
你不能这样切。see this answer
您需要更改损失函数,如下所示:
您也可以尝试使用
^{pr2}$abs
函数来代替可能不起作用的复杂切片语法:相关问题 更多 >
编程相关推荐