1
分类错误
我理解人们通常使用的损失及以下的错误培养定义自己的损失和cntk
ce = cross_entropy_with_softmax(z, label_var)
pe = classification_error(z, label_var)
trainer = Trainer(z, (ce, pe), ...)
我们可以覆盖或定义自己的损失和错误的方法呢?我们真正需要的是在计算损失和错误时添加权重。例如,我们有4个班级,重要的是(更重要的是)不要将第一班级错误分类为其他班级,反之亦然,但是如果它在最后3个班级中错误归类,则不重要(重量更轻)。在cntk中处理这个问题的最好方法是什么?
太棒了!我正在努力弄清楚如何将权重添加到您提供的示例中。我想创建NxN的error_weights数组,其中N是类的数量。但是,我不确定如何使用error_weights,ResNet Model,z和输入label_var创建有效损失,这与cross_entropy_with_softmax(z,label_var)类似。将可能给我一些简单的示例代码或我可以遵循的某些方向?谢谢! –
我想我可以在下面创建方法,如果我可以从模型z得到输出。无论如何要从模型中获得预测吗? def my_criterion(z,target): prediction = get_from_model(z) loss = calculate_loss_with_weights(预测,目标) 回报损失 –