Keras的model.fit支持每个样本的权重。这些权重的可接受值范围是多少?它们是否必须在所有训练样本中总和为1?还是Keras接受任何权重值并进行某种形式的归一化处理?Keras的源代码中包括,例如training_utils.standardize_weights
,但这似乎并不是在进行统计标准化。
回答:
在查看了这里的源代码后,我发现你可以为样本权重和类别权重传递任何可接受的数值(在溢出范围内)。它们不需要在所有训练样本中总和为1,每个权重也可以大于1。唯一似乎发生的归一化处理是取2D类别权重输入的最大值。
如果同时提供了类别权重和样本权重,它会提供两者的乘积。
我认为这里未言明的部分是激活函数应该处理归一化问题。