Machine learning 如何将二进制分类器推广到将数据分类到任意大的集合中?

Machine learning 如何将二进制分类器推广到将数据分类到任意大的集合中?,machine-learning,Machine Learning,如何将空间分成两半的算法(如支持向量机)推广到使用整数等集合的标签来标记数据 例如,支持向量机通过构造一个超平面进行操作,然后超平面上方的事物取一个标签,下方的事物取另一个标签 这是如何得到推广的,例如,标签是整数或其他任意大的集合?一个选项是“一对所有”方法,在该方法中,您为要划分到的每个集合创建一个分类器,并选择概率最高的集合 例如,假设您想使用{1,2,3}中的标签对对象进行分类。然后可以创建三个二进制分类器: C1=1或(不是1) C2=2或(不是2) C3=3或(不是3) 如果在新

如何将空间分成两半的算法(如支持向量机)推广到使用整数等集合的标签来标记数据

例如,支持向量机通过构造一个超平面进行操作,然后超平面上方的事物取一个标签,下方的事物取另一个标签


这是如何得到推广的,例如,标签是整数或其他任意大的集合?

一个选项是“一对所有”方法,在该方法中,您为要划分到的每个集合创建一个分类器,并选择概率最高的集合

例如,假设您想使用
{1,2,3}
中的标签对对象进行分类。然后可以创建三个二进制分类器:

  • C1=1或(不是1)
  • C2=2或(不是2)
  • C3=3或(不是3)
如果在新的数据块X上运行这些分类器,则它们可能会返回:

  • C1(X)=有31.6%的机会进入1
  • C2(X)=有63.3%的机会进入2
  • C3(X)=89.3%的概率处于3
根据这些输出,您可以将X分类为最有可能来自类别3。(概率加起来不等于1——这是因为分类器彼此不了解)


如果您的输出标签是有序的(具有某种有意义的排序,而不是任意排序)。例如,在金融学中,你想把股票分为{买入、卖出、持有}。虽然您不能合法地对这些数据进行回归(数据是),但您可以指定-1、0和1的值来出售、持有和购买,然后假装您有比率数据。有时,即使在理论上不合理,这也会产生好的结果。

一个选项是“一对所有”方法,在该方法中,您为要划分到的每个集合创建一个分类器,并选择概率最高的集合

例如,假设您想使用
{1,2,3}
中的标签对对象进行分类。然后可以创建三个二进制分类器:

  • C1=1或(不是1)
  • C2=2或(不是2)
  • C3=3或(不是3)
如果在新的数据块X上运行这些分类器,则它们可能会返回:

  • C1(X)=有31.6%的机会进入1
  • C2(X)=有63.3%的机会进入2
  • C3(X)=89.3%的概率处于3
根据这些输出,您可以将X分类为最有可能来自类别3。(概率加起来不等于1——这是因为分类器彼此不了解)


如果您的输出标签是有序的(具有某种有意义的排序,而不是任意排序)。例如,在金融学中,你想把股票分为{买入、卖出、持有}。虽然您不能合法地对这些数据进行回归(数据是),但您可以指定-1、0和1的值来出售、持有和购买,然后假装您有比率数据。有时,即使在理论上不合理,这种方法也能得到很好的结果。

另一种方法是Cramer-Singer方法(“基于多类核的向量机的算法实现”)。 Svmlight在此处实现它:


分类到一个无限集(如整数集)被称为顺序回归。通常,这是通过将一系列连续值映射到集合的一个元素来实现的。(参见图1a)

另一种方法是Cramer-Singer方法(“基于多类核的向量机的算法实现”)。 Svmlight在此处实现它:


分类到一个无限集(如整数集)被称为顺序回归。通常,这是通过将一系列连续值映射到集合的一个元素来实现的。(请参见图1a)

当我的标签集可能是介于-1000和1000之间的整数,或者其他一些大标签集时,这项工作的效果如何?创建2001个不同的分类器变得非常慢。@MrBones请查看Weka()。它允许您在具有多个类的数据集上轻松使用LibSVM或LibLINEAR(SVM的自适应,有时更适合于大型数据集)。如果输出介于-1000和1000之间,则可能是一个连续变化的变量或顺序变量,而不是分类变量(相对值对后者没有意义)。在这种情况下,应该使用回归算法,而不是多类分类算法。当我的标签集可能是介于-1000和1000之间的整数,或者其他一些大的标签集时,这种方法的效果如何?创建2001个不同的分类器变得非常慢。@MrBones请查看Weka()。它允许您在具有多个类的数据集上轻松使用LibSVM或LibLINEAR(SVM的自适应,有时更适合于大型数据集)。如果输出介于-1000和1000之间,则可能是一个连续变化的变量或顺序变量,而不是分类变量(相对值对后者没有意义)。在这种情况下,应该使用回归算法,而不是多类分类算法。