这个问题是对我在另一个问题上看到的评论的回应。

该评论是关于Coursera上的机器学习课程课程的,并且按照“如今不使用SVM如此多”的路线。

我本人刚刚完成了相关的讲座,我对SVM的理解是它们是一种强大而有效的学习算法,用于分类,并且在使用内核时,它们具有“利基”涵盖大量功能,也许是10至1000和培训样本的数量可能100至10,000。训练样本的限制是因为核心算法围绕着优化从基于训练样本数量而不是原始功能数量的方尺寸生成的正方形矩阵产生的结果。

我看到的评论也会引用自课程以来的真正更改,如果是的话,那是什么变化:一种涵盖SVM的“甜点”的新算法,更好的CPU表示SVM的计算优势不值得?还是评论员的意见或个人经历?

我尝试搜索例如“是出于时尚的支持矢量机”,没有发现任何暗示他们被抛弃了其他任何东西。

维基百科是: http://en.wikipedia.org/wiki/support_vector_machine#issues 。 。 。主要的粘附点似乎很难解释模型。这使得SVM适用于黑盒预测引擎,但对于生成见解并不是很好。我不认为这是一个主要问题,只是在选择合适的工作工具(以及培训数据和学习任务等的性质)时要考虑的另一件小问题。

有帮助吗?

解决方案

SVM是一个强大的分类器。它具有一些不错的优势(我想这是对其受欢迎程度的原因)...这些是:

  • 效率:只有支持向量在确定分类边界中起作用。训练集中的所有其他点都不需要存储在内存中。
  • 核的所谓力量:使用适当的内核,您可以将特征空间转换为更高的尺寸,从而使其变得线性分离。内核的概念与任意对象一起起作用,您可以在其上定义一些相似性的概念……因此,SVM可以对诸如树,图形等的任意对象进行分类。

也有一些重要的缺点。

  • 参数灵敏度:性能对正则化参数C的选择高度敏感,这允许模型中的一些方差。
  • 高斯内核的额外参数:高斯内核的半径可能会对分类器精度产生重大影响。通常必须进行网格搜索以找到最佳参数。 LIBSVM支持网格搜索。

SVM通常属于“稀疏内核机”的类别。在SVM的情况下,稀疏的向量是从最大边距标准中选择的支撑向量。其他稀疏的向量机,例如 相关向量机 (RVM)性能优于SVM。下图显示了两者的比较性能。在图中,X轴显示了来自两个类别y = {0,1}的一个维数据。混合模型定义为p(x | y = 0)= unif(0,1)和p(x | y = 1)= unif(.5,1.5)(unif表示均匀分布)。从该混合物中抽样1000点,并使用SVM和RVM来估计后部。 SVM的问题在于,预测值远离真实的日志赔率。

RVM vs. SVM

如今非常受欢迎的非常有效的分类器是 随机森林. 。主要优点是:

  • 只有一个参数可以调整(即森林中的树木数)
  • 不完全参数敏感
  • 可以轻松扩展到多个类
  • 是基于概率原则(借助决策树最大化相互信息获得)

其他提示

在回答这个问题时,一个重大区别是我们是否在谈论 线性 支持向量机或 非线性, 也就是说,内核支持向量机。

线性SVM

当您的数据通过您的功能的线性关系来解释您的数据时,线性SVM既是理论上的练习非常好的模型。它们优于经典方法,例如线性(又称最小二乘)回归,因为它们是 强大的, 从某种意义上说,输入数据中的小扰动不会在模型中产生重大变化。这是通过尝试找到最大化的线(超平面)来实现的 利润 在您的数据点之间。该最大边缘超平面已被证明可以保证模型对看不见的数据点的概括能力,这是理论上的其他机器学习方法所缺乏的。

线性SVM也可以解释为任何其他线性模型,因为每个输入功能都具有直接影响模型输出的权重。

线性SVM也是 非常快 训练,显示sublineal培训时间非常大的数据集。这是通过使用随机深度学习方法的方式利用随机梯度下降技术来实现的。

非线性SVM

非线性SVM仍然是线性模型,并具有相同的理论优势,但它们采用了所谓 内核技巧 在放大空间上构建该线性模型。可见的结果是,所得模型可以在数据上做出非线性决策。因为您可以提供 定制内核编码相似性 在数据点之间,您可以利用问题知识将这种内核重点放在问题的相关部分。但是,有效地执行此操作可能很困难,因此通常几乎每个人都使用插件高斯内核。

非线性SVM是可以解释的,因为他们告诉您哪些培训数据与预测有关,哪些却不相关。对于其他方法,例如随机森林或深层网络,这是不可能的。

不幸的是,非线性SVM速度很慢。最先进的算法是 顺序最小优化, ,显示二次性能,并通过 libsvm 在许多机器学习库中的库,包括Scikit-Learn。

这些方法的受欢迎程度

的确,SVM并不像以前那样受欢迎:可以通过谷歌搜索研究论文或SVMS vs随机森林或深度学习方法来检查这。尽管如此,它们仍然在某些实际设置中很有用,特别是在线性情况下。

另外,请记住,由于 无免费午餐定理 没有任何机器学习方法可以证明比所有问题都优于其他任何问题。尽管某些方法通常可以更好地工作,但您总是会找到数据集,其中不那么常见的方法将获得更好的结果。

许可以下: CC-BY-SA归因
scroll top