对于图像和表格数据,很多人在预处理过程中将倾斜的数据转换为正态分布的数据。
机器学习中的正态分布是什么意思?它是机器学习算法的基本假设吗?
即使是图像数据,我也见过分位数变换,它将图像的整个像素转换为遵循正态或均匀分布。
我能想到一个原因:避免异常值的影响。但是这些转换扭曲了数据的原始分布。
为什么正态分布对机器学习如此重要,以至于很多预处理都包括这一步?
对于图像和表格数据,很多人在预处理过程中将倾斜的数据转换为正态分布的数据。
机器学习中的正态分布是什么意思?它是机器学习算法的基本假设吗?
即使是图像数据,我也见过分位数变换,它将图像的整个像素转换为遵循正态或均匀分布。
我能想到一个原因:避免异常值的影响。但是这些转换扭曲了数据的原始分布。
为什么正态分布对机器学习如此重要,以至于很多预处理都包括这一步?
正如@user2974951 在评论中所说,正态分布在某种程度上更好可能是一种迷信。也许他们有一个错误的想法,即由于 Normal 数据是许多加法错误的结果,如果他们强制他们的数据为 Normal,那么他们可以将结果数字视为具有加法错误。或者他们学到的第一个统计技术是 OLS 回归,而关于 Normal 的一些东西是一个假设......
常态通常不是必需的。但它是否有用取决于模型对数据的处理方式。
例如,财务数据通常是对数正态的——即有一个乘法(百分比)误差。变分自动编码器在瓶颈处使用正态分布来强制平滑和简单。Sigmoid 函数最自然地适用于 Normal 数据。混合模型通常使用法线的混合。(如果你可以假设它是Normal,你只需要两个参数就可以完全定义它,而且这些参数的含义相当直观。)
也可能是我们想要一个单峰的对称分布来进行建模,而正态分布就是这样。(并且“正常”的转换通常不是严格的正常,只是更对称。)
正态性可能会为您简化一些数学运算,并且可能与您对生成数据的过程的概念一致:您的大部分数据都在中间,具有相对罕见的低值或高值,这是令人感兴趣的。
但我的印象是它本质上是Cargo Cult
上面的答案真的很到位。我想补充一点,值得将想要“正常”的想法与想要将所有功能缩放到相似范围内(即使它们具有不同的分布)的想法分开。这两种转换各有利弊,有时需要避免优化步骤中的数值怪癖或避免这些算法中的系统偏差。
此外,这取决于您所指的“机器学习”类型(即支持向量机、基于树的模型、神经网络等),因为它们的行为不同并且可能具有不同的数值问题。如上所述,在某些情况下是有好处的,但是标准化倾斜数据会带来更好的性能的想法并不是一个万无一失的策略。一般来说,证明任何“预处理”或“数据操作/转换”步骤的合理性往往是一种更稳健的选择。