- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对如何在多类别一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/
我正在尝试使用 Pandas 和 scikit-learn 在 Python 中执行分类。我的数据集包含文本变量、数值变量和分类变量的混合。 假设我的数据集如下所示: Project Cost
我想要一种图形化且有吸引力的方式来表示二进制数据的列总和,而不是表格格式。我似乎无法让它发挥作用,尽管有人会认为这将是一次上篮。 数据看起来像这样(我尝试创建一个可重现的示例,但无法让代码填充 0 和
我有一个简单的类别模型: class Category(models.Model): name = models.CharField(max_length=200) slug = mo
我正在开发一个知识系统,当用户进入一道菜时,该系统可以返回酒。我的想法是根据用户的输入为每个葡萄酒类别添加分数,然后显示最适合的葡萄酒类别的前 3 个。例如,如果有人输入鱼,那么知识库中的所有红葡萄酒
我目前正在研究流失问题的预测模型。 每当我尝试运行以下模型时,都会收到此错误:至少一个类级别不是有效的 R 变量名称。这将在生成类概率时导致错误,因为变量名称将转换为 X0、X1。请使用可用作有效 R
如何对栅格重新分类(子集)r1 (与 r2 具有相同的尺寸和范围)基于 r2 中的以下条件在给定的示例中。 条件: 如果网格单元格值为 r2是 >0.5 ,保留>0.5中对应的值以及紧邻0.5个值的相
我想知道在 java 中进行以下分类的最佳方法是什么。例如,我们有一个简单的应用程序,其分类如下: 空气 -----电机类型 -----------平面对象 -----非电机型 -----------
这是一个非常基本的示例。但我正在做一些数据分析,并且不断发现自己编写非常类似的 SQL 计数查询来生成概率表。 我的表被定义为值 0 表示事件未发生,而值 1 表示事件确实发生。 > sqldf(
假设我有一组护照图像。我正在开展一个项目,我必须识别每本护照上的姓名,并最终将该对象转换为文本。 对于标签(或分类(我认为是初学者))的第一部分,每本护照上都有姓名,我该怎么做? 我可以使用哪些技术/
我有这张图片: 我想做的是在花和树之间对这张图片进行分类,这样我就可以找到图片中被树木覆盖的区域,以及被那些花覆盖的区域。 我在想这可能是某种 FFT 问题,但我不确定它是如何工作的。单个花的 FFT
我的数据集有 32 个分类变量和一个数值连续变量(sales_volume) 首先,我使用单热编码 (pd.get_dummies) 将分类变量转换为二进制,现在我有 1294 列,因为每一列都有多个
我正在尝试学习一些神经网络来获得乐趣。我决定尝试从 kaggle 的数据集中对一些神奇宝贝传奇卡进行分类。我阅读了文档并遵循了机器学习掌握指南,同时阅读了媒体以尝试理解该过程。 我的问题/疑问:我尝试
我目前正在进行推文情绪分析,并且有几个关于步骤的正确顺序的问题。请假设数据已经过相应的预处理和准备。所以这就是我将如何进行: 使用 train_test_split(80:20 比例)停止测试数据集。
一些上下文:Working with text classification and big sparse matrices in R 我一直在研究 text2vec 的文本多类分类问题。包装和 ca
数据 我有以下(简化的)数据集,我们称之为 df从现在开始: species rank value 1
我一直在尝试创建一个 RNN。我总共有一个包含 1661 个单独“条目”的数据集,每个条目中有 158 个时间序列坐标。 以下是一个条目的一小部分: 0.00000000e+00 1.9260968
我有一个关于机器学习的分类和回归问题。第一个问题,以下数据集 http://it.tinypic.com/view.php?pic=oh3gj7&s=8#.VIjhRDGG_lF 我们可以说,数据集是
我用1~200个数据作为训练数据,201~220个作为测试数据格式如下:3 个类(类 1、类 2、类 3)和 20 个特征 2 1:100 2:96 3:88 4:94 5:96 6:94 7:72
我有 2 个基于多个数字特征(例如 v1….v20)的输出类别(好和差)。 如果 v1、v2、v3 和 v4 为“高”,则该类别为“差”。如果 v1、v2、v3 和 v4 为“低”,则该类别为“好”
我遇到了使用朴素贝叶斯将文档分类为各种类别问题的问题。 实际上我想知道 P(C) 或我们最初掌握的类别的先验概率会随着时间的推移而不断变化。例如,对于类(class) - [音乐、体育、新闻] 初始概
我是一名优秀的程序员,十分优秀!