6

我有一个是/否分类问题,其中误报误报更糟糕。

有没有办法在神经网络中实现这一事实,尤其是在 MATLAB 的神经网络工具箱中?

4

2 回答 2

7

您需要的是一个成本敏感的元分类器(元分类器适用于任何任意分类器,无论是 ANN、SVM 还是任何其他分类器)。

这可以通过两种方式完成:

  • 根据成本矩阵重新加权训练实例。这是通过对数据进行重新采样来完成的,以便过度表示特定类,因此与其他类相比,构建的模型对该特定类更敏感。
  • 预测具有最小预期错误分类成本的类别(而不是最可能的类别)。这里的想法是通过更频繁地犯小错误和更少犯昂贵错误来最小化总预期成本。

实现第一种学习方法的一种算法是SECOC,它使用纠错码;而第二种方法的一个例子是MetaCost,它使用bagging来改进分类器的概率估计。

于 2010-03-26T00:51:36.673 回答
2

您可以使用自定义成本函数。这是我最近做的:

cost(true negative) = 0
cost(true positive) = 0
cost(false positive) = infinity
cost(true negative) = L

这可以通过以下公式来实现:

cost(y, t) = (1 - t) log (1 - y) - L * t * (1 - y)

这当然意味着一些派生和实现,并且不在 Matlab 工具箱之外。

于 2010-03-26T17:20:28.710 回答