首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras中的不对称度量

Keras中的不对称度量
EN

Stack Overflow用户
提问于 2021-01-20 00:00:50
回答 1查看 59关注 0票数 1

我试图用人工神经网络和Keras来预测函数的演化。问题是,我希望神经网络的输出是保守的,也就是说,我可以接受对值的低估(在一定程度上),但过高估计是一个更大的问题。

我想把它作为衡量标准:

  • mae /2 if y_predicted < y_true
  • mae *2 if y_predicted > y_true

我认为这在Keras中是可行的,但我承认我不知道如何做到这一点。有人知道该怎么做吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-20 00:45:25

我认为最简单的方法是使用tf.keras.backend.switch创建自定义度量。

这里是一个虚拟的例子:

代码语言:javascript
复制
X = np.random.uniform(0,1, (100,30))
y = np.random.uniform(0,1, (100,1))

def custom_metric(true, pred):
    abs_error = tf.abs(true - pred)
    error = tf.keras.backend.switch(pred < true, abs_error/2, abs_error*2)
    return tf.reduce_mean(error)
    
inp = Input((30,))
x = Dense(32)(inp)
out = Dense(1)(x)

model = Model(inp, out)
model.compile('adam', 'mse', metrics=custom_metric)
model.fit(X,y, epochs=3)

你也可以根据你的需要修改它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65801293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档