例如,我们总是假设数据或信号误差是高斯分布的?为什么?
回答:
数学思维的人会回答说“因为中心极限定理”。这个定理表达了这样一个观点:当你从几乎任何分布中取出一堆随机数并将它们加在一起时,你会得到一个近似正态分布的结果。你加的数字越多,结果就越接近正态分布。
我可以在Matlab/Octave中演示这一点。如果我生成1000个介于1到10之间的随机数并绘制直方图,我会得到这样的结果:
如果我不是生成一个随机数,而是生成12个并将它们加在一起,然后重复1000次并绘制直方图,我会得到这样的结果:
我在上面绘制了一个具有相同均值和方差的正态分布,以便你可以了解匹配的程度。你可以查看我用来生成这些图表的代码,在这个gist中。
在典型的机器学习问题中,你会有来自许多不同来源的误差(例如,测量误差、数据输入误差、分类误差、数据损坏…),认为所有这些误差的综合效应近似于正态分布并不是完全不合理的(当然,你应该始终进行检查!)
对这个问题的更务实的回答包括:
-
因为它使数学计算更简单。正态分布的概率密度函数是二次函数的指数。取对数(因为你经常这样做,因为你想最大化对数似然)会得到一个二次函数。对其进行微分(以找到最大值)会得到一组线性方程,这些方程很容易解析求解。
-
它很简单——整个分布仅由两个数字描述,即均值和方差。
-
它对大多数阅读你的代码/论文/报告的人来说是熟悉的。
这通常是一个很好的起点。如果你发现你的分布假设导致性能不佳,那么你可以尝试不同的分布。但你可能应该首先考虑其他改进模型性能的方法。
*技术点 – 它需要有有限的方差。