过度拟合如何导致对象检测中的误报?
How does Overfitting result in false positives in Object detection?
我正在做 tensorflow object detection
,我发现有很多 false positives
。我看到的主要原因之一是 overfitting
的情况。但我的疑问是 false positive
是如何成为 overfitting
的结果的?当它学习数据中的复杂模式时,或者简而言之,它会导致对数据的记忆,就会发生过度拟合。
如果它是记忆,它不会显示更多的假阴性,因为它只有 memorised the training data
并且无法检测到新病例。它如何真正 class 将其他对象确认为属于受过训练的 class is it not counter intuitive?
我能想到的一个原因是你的训练数据中 异常值:
假设你在 class A 的训练数据中有一些强烈的异常值,结果可能在某些维度上更多地位于另一个 class B 的域中,那么过度拟合将导致class 边界朝这个异常值的方向移动。这可能会导致大量误报,因为 class A 的移动边界现在部分位于本应位于 class B 的区域中。
对于一个极端的例子,过度拟合的边界可能是这样的:
在这里,由于过度拟合,我们将异常值保持在正值 class,代价是还引入了 2 个假阴性。这 2 classes 之间的广义良好边界会将异常值作为假阴性丢弃,但由于不包括这 2 个假阳性,因此仍具有更高的准确性。
顺便说一句,由于离群值,同样可能会出现误报,这就是过度拟合通常被认为是不好的原因。
我正在做 tensorflow object detection
,我发现有很多 false positives
。我看到的主要原因之一是 overfitting
的情况。但我的疑问是 false positive
是如何成为 overfitting
的结果的?当它学习数据中的复杂模式时,或者简而言之,它会导致对数据的记忆,就会发生过度拟合。
如果它是记忆,它不会显示更多的假阴性,因为它只有 memorised the training data
并且无法检测到新病例。它如何真正 class 将其他对象确认为属于受过训练的 class is it not counter intuitive?
我能想到的一个原因是你的训练数据中 异常值:
假设你在 class A 的训练数据中有一些强烈的异常值,结果可能在某些维度上更多地位于另一个 class B 的域中,那么过度拟合将导致class 边界朝这个异常值的方向移动。这可能会导致大量误报,因为 class A 的移动边界现在部分位于本应位于 class B 的区域中。
对于一个极端的例子,过度拟合的边界可能是这样的:
在这里,由于过度拟合,我们将异常值保持在正值 class,代价是还引入了 2 个假阴性。这 2 classes 之间的广义良好边界会将异常值作为假阴性丢弃,但由于不包括这 2 个假阳性,因此仍具有更高的准确性。
顺便说一句,由于离群值,同样可能会出现误报,这就是过度拟合通常被认为是不好的原因。