- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在寻找快速线性SVM库,我遇到了两个最重要的库Liblinear和Pegasos,从liblinear提出的论文来看,它看起来像liblinaer 的性能优于 Pegasos。然而,pegasos 声称,如果数据稀疏,那么它的工作速度很快。如pegasos较早出现,其文档中没有比较。
那么对于稀疏数据我应该选择什么?
最佳答案
据我所知,两者都可以很好地处理稀疏数据。问题更多地在于数据点的数量。 Liblinear 具有原始和对偶求解器,这些求解器可以高精度解决问题,而无需调整参数。对于 pegasos 或类似的次梯度下降求解器(如果您想要其中之一,我推荐 Leon Bottou 的 sgd ),结果强烈依赖于初始学习率和学习率计划,这可能很难调整。
根据经验,如果我的数据点少于 10k,我总是会使用 liblinear(带有原始求解器),甚至可能最多 100k。除此之外,如果我觉得 liblinear 太慢,我会考虑使用 SGD。即使 liblinear 稍微慢一些,我还是更喜欢使用它,因为这意味着我不必考虑学习率、学习率衰减和时期数。
顺便说一句,您可以使用 scikit-learn 这样的框架非常轻松地比较这些不同的求解器。 ,其中包括 SGD、Liblinear 和 LibSVM 求解器,或 lightning ,其中包括很多求解器。
关于machine-learning - Liblinear 与 Pegasos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26805949/
我正在尝试调整 pegasos 算法参数,但没有成功。 这是使用 6 个一维点的简单示例。 void dlib_svm_test() { for(double lambda= 10e-10;l
我一直在寻找快速线性SVM库,我遇到了两个最重要的库Liblinear和Pegasos,从liblinear提出的论文来看,它看起来像liblinaer 的性能优于 Pegasos。然而,pegaso
我是一名优秀的程序员,十分优秀!