gpt4 book ai didi

machine-learning - 多分类准确度高

转载 作者:行者123 更新时间:2023-11-30 08:35:19 24 4
gpt4 key购买 nike

我对如何在多类别一v / s休息分类的情况下如何使用留一法(LOO)方法来计算准确性感到困惑。
我正在使用YUPENN动态场景识别数据集,该数据集包含14个类别,每个类别中有30个视频(总共420个视频)。让我们将这14个类别命名为{A,B,C,D,E,F,G,H,I,J,K,L,M,N}。

我正在将线性SVM用于一个v / s休息分类。
可以说我想找到“ A”级的准确性结果。当我执行“ A”相对于“休息”时,我需要在训练时排除一个视频并在排除的视频上测试模型。我排除的该视频应该来自A类还是来自所有班级。

换句话说,为了找到“ A”类的准确性,我应该使用LOO执行30次SVM(将“ A”类中的每个视频完全保留一次)还是应该执行420次(所有类中的视频仅保留一次)? )。

我觉得我把这些混在一起了?谁能为我提供使用LOO进行多类分类的正确方法的简短示意图?
另外,如何在Matlab上使用libsvm执行此操作?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~

数据集中的视频数量很少,因此我无力创建单独的TEST集(应该将其发送给Neptune)。相反,我必须确保充分利用数据集,因为每个视频都提供一些新的/唯一的信息。在这样的场景中,我读到人们使用LOO来衡量准确性(当我们无法负担孤立的TEST集时)。他们称其为“留一视频播放实验”。

进行动态场景识别的人员已使用此方法测试准确性。为了将我的方法与他们的方法的准确性进行比较,我需要使用相同的评估过程。但是他们刚刚提到他们使用LOVO来提高准确性。除此之外,没有提供太多细节。我是该领域的新手,因此有点令人困惑。

根据我的想法,LOVO可以通过两种方式完成:

1)在420个视频中保留一个视频。使用419个视频作为训练集来训练14个``单-v / s-休息''分类器。 N'v / s“休息”)。

使用14个分类器评估遗漏的视频。将其标记为给出最大置信度得分的类别。因此,一个视频被分类。我们按照相同的步骤标记所有420个视频。使用这420个标签,我们可以找到混淆矩阵,找出假阳性/阴性,精度,召回率等。

2)在14个班级的每个班级中,我都会留下一个视频。这意味着我选择406个视频进行培训,选择14个视频进行测试。通过使用406个视频,我找到了14个“单次/静息”分类器。我评估测试集中的14个视频中的每个视频,并根据最大置信度得分为它们提供标签。在下一轮中,我再次省略14个视频,每个班级一个。但是这次是14人,因此在上一轮中没有任何一个被淘汰。我再次训练和评估这14个视频并找出标签。这样,我进行了30次此过程,每次非重复地设置了14个视频。最后,所有420个视频都贴上标签。在这种情况下,我也计算混淆矩阵,准确性,精度和召回率等。

除了这两种方法,LOVO可以采用许多其他不同的样式来完成。在有关动态场景识别的论文中,他们没有提到他们如何执行LOVO。是否可以安全地假设他们正在使用第一种方法?有什么方法可以决定哪种方法更好吗?两种方法获得的精度是否会有显着差异?


以下是一些有关动态场景识别的最新论文,以供参考。在评估部分,他们提到了LOVO。
1)http://www.cse.yorku.ca/vision/publications/FeichtenhoferPinzWildesCVPR2014.pdf
2)http://www.cse.yorku.ca/~wildes/wildesBMVC2013b.pdf
3)http://www.seas.upenn.edu/~derpanis/derpanis_lecce_daniilidis_wildes_CVPR_2012.pdf
4)http://webia.lip6.fr/~thomen/papers/Theriault_CVPR_2013.pdf
5)http://www.umiacs.umd.edu/~nshroff/DynScene.pdf

最佳答案

使用交叉验证时,请记住它适用于训练模型,而不是通常应用于诚实,全面的准确性度量,而保留这些度量用于度量训练过程中完全没有涉及或完全没有涉及的测试集的分类准确性。

让我们仅关注计划构建的单个分类器。 “ A vs. rest”分类器。您将把所有数据分成一个训练集和一个测试集,然后将测试集放在一个纸板箱中,装订起来,用胶带覆盖,放到钛金库中,并将其附加到NASA火箭上,然后将其存放在冰封的海王星海洋中。

然后让我们看一下训练集。当我们使用训练套件进行训练时,我们希望将一些训练数据留在一边,仅用于校准,而不是作为正式的海王星海洋测试套件的一部分。

因此,我们可以做的就是告诉每个数据点(在您的情况下,数据点似乎是一个视频值对象)停顿一次。我们不在乎它是否来自A类。因此,如果仅在“ A vs. rest”分类器的训练集中使用420个视频,那么您将适合420个不同的SVM。

实际上,如果要调整SVM的参数,则可以在此处进行。例如,如果您尝试选择多项式内核中的惩罚项或系数之类的东西,那么您将针对您想要的所有参数组合重复整个训练过程(是的,所有420种不同的训练过的SVM)。搜索。对于每个参数集合,您将与之相关联,这些信息来自420个受LOO训练的分类器的准确性得分之和。

完成所有步骤后,您选择具有最佳LOO得分的参数集,瞧,这就是您的“ A vs. rest”分类器。冲洗并重复“ B vs. rest”,依此类推。

随着所有这些的进行,理应非常担心您过度拟合了数据。尤其是如果必须在每个班级中重复许多“负”样本。

但是,这就是为什么您将测试集发送给海王星的原因。完成所有基于LOO的参数扫描SVM并完成最终分类器后,现在您将在整个实际测试集中执行该分类器(来自Neptune),这将告诉您整个过程是否正在显示对看不见的数据进行预测的功效。

整个练习显然在计算上是昂贵的。因此,人们有时会使用“ Leave-P-Out”(P远大于1),而不是重复该过程直到所有样本都花了一些时间才离开了小组,他们只是将其重复“合理”。次数,对于各种定义都是合理的。

在“离开-离开”的情况下,有一些算法可以使您采样以公平地表示类的方式遗漏的点。因此,如果“ A”样本占数据的40%,则您可能希望它们占据遗留集的40%。

这实际上不适用于LOO,这有两个原因:(1)您几乎总是要在每个训练数据点上执行LOO,因此,如果它们都将要结束,则尝试以奇特的方式对其进行采样将是无关紧要的。最多只能使用一次。 (2)如果计划使用LOO的次数小于样本数量(通常不建议使用),则仅从集合中随机抽取点自然会反映类的相对频率,因此如果您计划进行K次LOO,然后简单地从训练集的大小为K的随机子样本中进行定期的LOO就足够了。

关于machine-learning - 多分类准确度高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26289924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com