【发布时间】:2019-06-17 06:42:07
【问题描述】:
我尝试使用机器学习技术来预测事件发生的时间。我的预测将是长度为 20 的概率向量 v,v[i] 是 事件在 i + 1 天内发生的概率(i 范围从 0 到 19)。
如何测试我编写的自定义损失和度量函数?
我想使用以下损失和指标来训练模型:
她是我尝试实现它的方式:
from keras import backend as K
def weighted_meansquare(y_true, y_pred):
w = K.constant(np.array([i + 1 for i in range(20)]))
return K.sum(K.square(w * y_pred - w * y_true))
def esperance_metric(y_true, y_pred):
w = K.constant(np.array([i + 1 for i in range(20)]))
return K.sum(w * y_true - w * y_true)
我希望模型能够最小化度量(这基本上是一个期望,因为我的模型返回一个概率向量)。然而,当我尝试拟合我的模型时,我发现指标始终为 0.0000e+00 。
我正在寻找的是:
关于如何编写这些函数的一些具体提示
有关测试 keras.backend 函数的一些一般提示
【问题讨论】:
标签: python keras metrics loss-function