为什么具有高斯的 KNN 和 SVM 是非参数模型?

机器算法验证 机器学习 支持向量机 非参数
2022-03-28 09:16:02

有人告诉我,这两个是非参数模型。但我不知道为什么,尤其是对于 KNN。

谁能回答我的问题?

1个回答

kNN 和 SVM 不是模型,它们是算法。

你的模型就是你要为你的数据假设的东西。例如, :

  • 均值未知但方差固定的高斯分布。
  • 具有未知均值和方差的高斯分布。
  • 有界的。
  • 连续的。

在前两种情况下,模型是参数化的,因为除了有限数量的参数(第一种情况下的一个 - 均值,第二种情况下的两个 - 均值和方差)之外,它是完全已知的。在第三种和第四种情况下,模型是非参数的,因为您需要无限数量的参数来指定数据(您无法用有限数量的参数来描述所有有界或连续数据的集合)。

在参数模型中,您拥有更多信息,并且可以使用非常具体的算法(在我们的示例算法中,仅适用于高斯数据)。在非参数设置中,您必须使用更通用的算法,因为您对数据的假设更少。没有什么可以阻止您对参数模型使用通用的非参数算法,它们会起作用,但是您通常可以通过使用特定的算法做得更好。

kNN(甚至用高斯权重定义)是一种非参数算法,设计用于非参数模型,即非常通用的模型。SVM 的标签更复杂。基本 SVM 是线性分类器,也是参数算法。高级 SVM 可以处理非线性数据,如果您有一个 SVM 可以处理不受限制在由有限数量的参数描述的系列中的数据,那么它是非参数的。

PS:就像 Nicolas 所说,所有这些算法,参数或非参数(指的是他们工作的模型)也有你必须选择的参数(对于 kNN,k,最近邻居的数量)。