gpt4 book ai didi

keras - 自定义损失函数: Apply weights to binary cross-entropy error

转载 作者:行者123 更新时间:2023-12-03 05:10:10 28 4
gpt4 key购买 nike

我正在使用 Keras 并尝试从上下文中预测单词,例如来自一句话“我不得不说食物很美味!”我希望得到这样的东西:

[say the ? was tasty] -> food, meals, spaghetti, drinks

但是,我目前的问题是,我正在训练的网络似乎只学习单个单词的概率,而不是它们在特定上下文中的概率。

由于单词的频率不平衡,我认为我可能/可以/应该对我的损失函数应用权重 - 目前是二元交叉熵函数。

我只是将每个单词的逆概率乘以误差:

def weighted_binary_crossentropy(y_true, y_pred):
return K.mean(K.binary_crossentropy(y_pred, y_true) * (1-word_weights), axis=1)

该函数被模型用作损失函数:

model.compile(optimizer='adam', loss=weighted_binary_crossentropy)

但是,我的结果完全相同,我不确定是否只是我的模型损坏了,或者我是否使用了错误的 loss 参数/函数。

我的weighted_binary_crossentropy()函数正在执行我刚才描述的操作吗?我问是因为出于某种原因,它的工作原理类似:word_weights),轴=1)

最佳答案

实际上,正如人们在 documentation 中所读到的那样对于 fit 函数,可以提供 sample_weights 这似乎正是您想要使用的。

关于keras - 自定义损失函数: Apply weights to binary cross-entropy error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42747217/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com