由于我对机器学习编程知识有限(使用Matlab),我无法找到解决这个问题的方法......我想我的问题将测试大多数读者的耐心!
我正在尝试使用熟悉的比利时数据集在Matlab中识别交通标志。该数据集包含大约4000个正窗口和3000个负像,我们可以从中裁剪负窗口以训练分类器。我正在使用adaboost分类器,每个阶段的弱学习者都是[32 128 512 2048](来自论文)。我遵循的步骤是,
1-使用所有积极因素训练分类器&第一阶段随机裁剪20,000个负面窗口,
2-在负片图像上使用前一阶段的训练分类器来挖掘硬阴性。当采样20,000个硬阴性时,在前一个+ 1阶段训练分类器并进入下一个阶段,
3-转到第2步
我遇到的问题是测试时虚假的误报。但是当我将每个阶段的硬阴性添加量减少1/4(即5000)时,系统似乎比给出太少的误报要稳定得多。据我所知,增加更多的硬性否定将使系统能够抵御误报。但它正在以另一种方式运作。
如何确定稳定系统每个阶段要添加的特定硬阴极数量?有没有人知道如何解决这个问题!
答案 0 :(得分:0)
当有20000个负片和4000个正片时,你是否相应地调整了重量?在我看来,权重应该总和为1,同时保持比例。每个+ ve示例的权重应为0.5/4000
,因此也确定-ve权重。如果你没有调整重量,那么它就解释了为什么你的重量不平衡变得不那么严重,为什么你的性能会更好5000。