高脂肪数据分类


15

我需要在笔记本电脑上训练带有数十万个数据点和约一万个功能的线性分类器。我有什么选择?这种问题的最新状态是什么?

似乎随机梯度下降是有前途的方向,我的感觉是这是最新技术:

“ Pegasos:SVM的原始估计次GrAdient求解器”,Shai Shalev-Shwartz,Yoram Singer,Nathan Srebro,Andrew Cotter。“数学编程,系列B,127(1):3-30,年份:2007。”。

这是共识吗?我应该朝其他方向看吗?


1
您是否考虑过使用某些降维方法?千种功能需要减少尺寸,请参见:en.wikipedia.org/wiki/Dimension_reduction
Dov

这个问题可以通过研究来改善。您有什么技巧吗?
Tamzin Blake 2012年

@Thom Blake:我已经根据我的想法编辑了问题。
carlosdc

如果不了解有关数据的更多信息,则任何答案都将是未知的。稀疏吗?连续?离散的?多余的特征/对象?几节课?例如,稀疏数据上的PCA有时可能有害。
电子人2012年

2
高=很多点?fat =很多功能?这个std术语在任何地方,用在引用的某个地方吗?

Answers:


6

我认为您应该看看在线学习方法。在感知和内核感知是非常容易的代码和工作极为出色的实践,也有其他联网方法一大堆。请注意,任何在线学习方法都可以转换为批处理学习算法,在这种情况下,它们非常类似于随机梯度下降方法。

如果您使用的是Matlab,则有一个非常不错的工具箱,由Francesco Orabona撰写,名为DOGMA,其中包含一系列在线学习算法,您可以使用该工具箱评估几种不同的方法。我在一些研究中已经使用了它,并发现它非常有用(请注意,据我所记得,它希望数据作为[功能x实例],因此您可能必须转置它)。

2ϵ2


7

首先,我想问你如何知道线性分类器是最佳选择?直观地讲,对于这么大的空间(R ^ 10000),可能有其他一些非线性分类器是更好的选择。

我建议您尝试几个不同的分类器并观察预测误差(我会尝试几个正则化分类模型)。

如果内存不足,请使用PCA减小尺寸


2
谢谢。我在考虑如何处理问题的规模。我想从线性开始,因为它比较简单。我认为您建议使用基于内核的方法。我要指出的是,如果我有750000个数据点,则内核矩阵的大小将为540 GB。因此答案不可能是:将其插入LIBSVM / SVMLight / etc中即可获得良好的C语言和伽玛值,然后看看得到了什么。
carlosdc

2
(-1)答案是a)部分如此通用,它可以应用于任何分类问题b)没有解释为什么推荐PCA(相对于任何其他降维技术而言)。
steffen'2


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.