使用非正态/高斯数据

数据挖掘 分配 高斯
2021-09-20 09:36:40

如果我的数据/功能不正常会怎样?我还能使用机器学习算法来利用这些数据进行预测吗?

我注意到在许多数据科学课程中,总是强烈假设使用正态/高斯数据。我一直想知道为什么会这样,大多数人会说,由于中心极限定理,数据总是被假定为正常的。

  • 但是,如果我正在处理的数据不是正态分布的怎么办?
  • 为了获得正态分布的数据,我应该对数据执行对数/指数转换吗?
  • 为什么高斯数据总是最适合?
2个回答

有些模型不假设基础数据分布是正态分布。

例如,支持向量机只关心分离超平面的边界,并不假设分布的确切形状。决策树模型也没有做出这样的假设。

高斯分布很流行,由于其简单性而经常被分析,但也有其他模型。

如果您知道您认为您的数据可以遵循的分布,您还可以构建自己的模型,例如通过最大化似然性或后验分布。

如果您能够将数据转换为正态分布并使用您熟悉的模型,您可以尝试一下,看看它的表现如何。

高斯模型经常被使用(有时可能被过度使用),因为它们在数学上很方便(许多统计模型可以作为内置函数找到,当基于高斯分布时,在一些库中,如混合模型、隐马尔可夫模型、 ...)。此外,当人们不知道哪种分布可以最好地对数据建模时,考虑到高斯分布与中心极限定理的关系,这通常是一个合理的假设。

但是,如果说,您的目标是生成类似于某些训练数据的新数据,并且您知道要生成的数据应该严格为正,那么高斯假设可能不是最好的假设。事实上,从基于高斯的模型生成数据并不能保证这些数据是正的(高斯有无限的支持)。然后可以考虑将模型基于某种分布,以确保生成的数据为正,例如 Beta 或 Dirichlet 分布。

但是,将高斯作为假设总是一个好的开始,得到一些结果,如果它们不够好,请尝试其他假设并进行比较。这可以提高准确性,但也可能需要大量工作,因为大多数经典机器学习算法通常没有在主库中实现,而不是高斯假设。

总结一下:

  • 但是,如果我正在处理的数据不是正态分布的怎么办?

然后,当使用更合适的分布时,您应该会看到结果的改进。

  • 为了获得正态分布的数据,我应该对数据执行对数/指数转换吗?

转换数据并查看对结果的影响确实是值得的(而且工作很少)。

  • 为什么高斯数据总是最适合?

它不是。作为证明,您可以查看几篇关于混合模型的出版物,这些出版物比较了不同数据集的 Dirichlet、Gaussian、Beta 混合模型(和其他)的行为方式。