偏斜特征最合适的归一化/变换方法?

时间:2012-11-08 12:32:44

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

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

我还担心这些输入的性质是否会影响网络的性能,因此已经尝试过数据转换(特别是日志转换)。但是,有些输入有很多零,但也可能是小的十进制值,并且似乎受到log(x + 1)(或者从1到0.0000001的任何数字)的高度影响,结果分布未能接近正常(或者仍然是倾斜或变为双峰,在最小值处具有尖峰)。

这与神经网络有关吗?即。我应该使用特定的特征转换/规范化方法来解释偏斜的数据,还是应该忽略它并选择一个规范化方法并推进?

对此事的任何建议都将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:2)

由于输入向量中的要素具有不同的性质,因此应为每个要素使用不同的规范化算法。网络应该由每个输入上的统一数据提供,以获得更好的性能。

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

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

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

答案 1 :(得分:0)

这是一个有趣的问题。规范化旨在将特征的值保持在一个比例中,以便于优化过程。

我建议如下:

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

2-如果您知道要素的实际最大值或最小值,请使用它们来标准化要素。我认为这种规范化会保留价值观的偏差。

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

最后,我们仍然建议您应用不同的规范化技术,并比较MSE的evey技术,包括z分数,这可能会损害数据的偏差。

我希望我已经回答了你的问题并提供了一些帮助。