gpt4 book ai didi

python-2.7 - 哪一个更快?逻辑回归还是带有线性核的 SVM?

转载 作者:行者123 更新时间:2023-11-30 08:33:40 25 4
gpt4 key购买 nike

我正在使用 python (scikit-learn) 进行机器学习,使用相同的数据但使用不同的分类器。当我使用 500k 数据时,LR 和 SVM(线性内核)花费的时间大约相同,SVM(具有多项式内核)花费的时间很长。但是使用500万个数据,似乎LR比SVM(线性)快很多,不知道这是否是人们通常认为的?

最佳答案

更快是一个有点奇怪的问题,部分原因是很难在这方面进行同类比较,而且这取决于上下文。 LR 和 SVM 在线性情况下非常相似。线性情况的 TLDR 是 Logistic 回归和 SVM 都非常快,速度差异通常不应太大,并且在某些情况下两者都可能更快/更慢。

从数学角度来看,逻辑回归是严格凸的[它的损失也更平滑],而SVM只是凸的,因此从优化的角度来看,这有助于LR“更快”,但这并不总是意味着更快您等待的时间。

部分原因是,在计算上,SVM 更简单。逻辑回归需要计算 exp 函数,这比 SVM 中使用的 max 函数要昂贵一些,但计算这些函数并不能完成大部分工作在多数情况下。 SVM 在对偶空间中也有硬零,因此常见的优化是执行“收缩”,其中您假设(通常是正确的)数据点对解决方案的贡献在不久的将来不会改变,并停止访问它/检查其最优性。 SVM 损失的硬零和软余量形式中的 C 正则化项可以实现这一点,而 LR 没有这样的硬零可供利用。

但是,当您希望计算速度更快时,通常不会使用精确求解器。在这种情况下,上述问题大部分都会消失,并且在这种情况下,两者都可以像对方一样快速学习。

根据我自己的经验,我发现基于双坐标下降的求解器对于获得两者的精确解决方案来说是最快的,逻辑回归通常在挂钟时间上比 SVM 更快,但不是总是(并且永远不会超过 2 倍)。然而,如果您尝试比较 LR 和 SVM 的不同求解器方法,您可能会得到“更快”的截然不同的数字,并且这些比较不一定是公平的。例如,SVM 的 SMO 求解器可以在线性情况下使用,但速度会慢几个数量级,因为它没有利用您只关心线性解决方案的事实。

关于python-2.7 - 哪一个更快?逻辑回归还是带有线性核的 SVM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34814891/

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