【问题标题】:Most appropriate normalization / transformation method for skewed features?偏斜特征的最合适的归一化/转换方法?
【发布时间】:2023-03-26 05:18:01
【问题描述】:

我正在尝试对生物数据进行预处理以训练神经网络,尽管对各种标准化方法进行了广泛的搜索和重复介绍,但对于何时应该使用哪种方法我一无所知。特别是我有一些输入变量是正偏态的,并且一直在尝试确定是否存在最合适的归一化方法。

我还担心这些输入的性质是否会影响网络的性能,因此我尝试了数据转换(尤其是对数转换)。然而,一些输入有许多零,但也可能是小的十进制值,并且似乎受到 log(x + 1) (或从 1 到 0.0000001 的任何数字)的高度影响,结果分布未能接近正常(要么仍然偏斜或变成双峰,在最小值处有一个尖峰)。

这些与神经网络有关吗? IE。我应该使用特定的特征转换/归一化方法来解决偏斜数据,还是应该忽略它并选择一种归一化方法并继续推进?

任何关于此事的建议将不胜感激!

谢谢!

【问题讨论】:

    标签: machine-learning neural-network normalization biological-neural-network


    【解决方案1】:

    由于输入向量中的特征具有不同的性质,因此您应该对每个特征使用不同的归一化算法。网络应该由每个输入的统一数据提供,以获得更好的性能。

    正如您所写的一些数据是倾斜的,我想您可以运行一些算法来“规范化”它。如果应用对数不起作用,也许可以尝试other functionsrank transforms等方法。

    如果 小十进制值 确实完全出现在特定功能中,那么只需以特定方式对其进行规范化,以便将它们转换为您的工作范围:[0, 1] 或 [- 1,+1] 我想。

    如果某些输入有很多零,请考虑将它们从主神经网络中删除,并创建额外的神经网络,该网络将对具有非零特征的向量进行操作。或者,您可以尝试运行主成分分析(例如,通过具有结构 NMN,M

    【讨论】:

      【解决方案2】:

      这是一个有趣的问题。归一化旨在将特征值保持在一个范围内,以促进优化过程。

      我建议如下:

      1- 检查您是否需要标准化数据。例如,如果变量或特征的均值在相同的值范围内,则您可能会在没有归一化的情况下进行。 MSVMpack 对其 SVM 实现使用了一些规范化检查条件。但是,如果您需要这样做,我们仍然建议您在没有标准化的数据上运行模型。

      2- 如果您知道某个特征的实际最大值或最小值,请使用它们来规范化该特征。我认为这种规范化会保持价值的偏度。

      3- 如果适用,请尝试使用其他功能进行十进制值标准化。

      最后,我们仍然建议您应用不同的归一化技术,并将 MSE 与各种技术进行比较,包括可能损害数据偏度的 z-score。

      希望我已经回答了您的问题并给予了一些支持。

      【讨论】:

      • 关于规范化检查条件,我尝试使用 MSVMPack 运行一些数据集,并得到以下输出:** 数据矩阵的列显示它们的标准偏差之间存在很大差异 (> 10) . ** 这可能会影响分类器的性能。是否要对数据进行归一化 ([y]/n)?
      猜你喜欢
      • 1970-01-01
      • 2021-06-26
      • 2016-03-18
      • 2015-11-23
      • 2021-05-22
      • 2013-08-25
      • 2016-11-30
      • 2018-11-29
      • 2020-02-10
      相关资源
      最近更新 更多