gpt4 book ai didi

machine-learning - SVM 的自定义内核,何时应用它们?

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

我是机器学习领域的新手,现在正在尝试了解最常见的学习算法的工作原理,并了解何时应用每种算法。目前我正在学习支持向量机的工作原理,并对自定义内核函数有疑问。
网络上有大量关于 SVM 的更标准(线性、RBF、多项式)内核的信息。然而,我想了解何时使用自定义内核函数是合理的。我的问题是:

1) SVM 还有哪些其他可能的内核?
2) 在什么情况下会应用自定义内核?
3)自定义内核能否大幅提高SVM的预测质量?

最佳答案

1) What are other possible kernels for SVMs?

其中有无数个,例如,请参阅 pykernels 中实现的列表(远非详尽无遗)

https://github.com/gmum/pykernels

  • 线性
  • 多项式
  • RBF
  • 余弦相似度
  • 指数
  • 拉普拉斯算子
  • 有理二次
  • 逆多项式
  • 柯西
  • T-学生
  • 方差分析
  • 加法Chi^2
  • Chi^2
  • 最小最大
  • 最小/直方图交集
  • 广义直方图交集
  • 样条线
  • 索伦森
  • 谷本
  • 小波
  • 傅里叶
  • 日志(CPD)
  • 权力(CPD)

2) In which situation one would apply custom kernels?

基本上分两种情况:

  • “简单”的结果会产生非常糟糕的结果
  • 数据在某种意义上是特定的,因此 - 为了应用传统内核,必须对其进行退化。例如,如果您的数据采用图形格式,则无法应用 RBF 内核,因为图形不是恒定大小的向量,因此您需要一个图形内核来处理该对象,而无需某种信息丢失投影。有时你对数据有深入的了解,你了解一些底层结构,这可能有助于分类器。一个这样的例子是周期性,您知道数据中存在一种重复效应 - 那么可能值得寻找特定的内核等。

3) Can custom kernel substantially improve prediction quality of SVM?

是的,特别是总是存在一个(假设的)贝叶斯最优内核,定义为:

K(x, y) = 1 iff arg max_l P(l|x) == arg max_l P(l|y)

换句话说,如果标签 l 被分配给点 x 的真实概率 P(l|x),那么我们可以创建一个内核,它几乎将您的数据点映射到其数据点的 one-hot 编码上最可能的标签,从而导致贝叶斯最优分类(因为它将获得贝叶斯风险)。

在实践中当然不可能得到这样的内核,因为这意味着你已经解决了你的问题。然而,它表明存在“最佳内核”的概念,并且显然没有一个经典内核不是这种类型(除非您的数据来自非常简单的分布)。此外,每个内核都是决策函数的一种先验 - 您通过导出的函数族更接近实际的函数 - 使用 SVM 获得合理的分类器的可能性就越大。

关于machine-learning - SVM 的自定义内核,何时应用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468368/

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