在cntk中定义自身损失并对错误进行分类



我知道人们通常使用下面的损失和错误来训练

ce = cross_entropy_with_softmax(z, label_var) 
pe = classification_error(z, label_var) 
trainer = Trainer(z, (ce, pe), ...)

我们可以覆盖或定义自己的损失和错误方法吗?我们真正需要的是在计算损失和误差时增加权重。例如,我们有4个类,重要的是(权重更大(不要将第一个类错误分类为其他类,反之亦然,但如果它在最后3个类中错误分类,则不那么重要(权重更小(。在cntk中处理此问题的最佳方法是什么?

是的,任何CNTK表达式都是有效的损失或错误:这里是交叉熵:

ce=C.否定(C.reduce_sum(C.element_times(目标,C.log(预测((,axis=-1((

最新更新