单独标准化神经网络的所有输入是否更好?
Is it better to individually normalize all inputs for a neural network?
我现在正在使用 Keras 使用 TensorFlow 作为后端开发神经网络,我的模型需要 5 个输入,全部标准化为 0 到 1。输入的单位从 m/s 到米不等到 m/s/秒。因此,例如,在训练数据集中,一个输入可能在 0 m/s 到 30 m/s 之间变化,而另一个输入可能在 5 m 到 200 m 之间变化。
单独和独立地标准化所有输入是否更好,以便我对每个 unit/input 有不同的尺度?或者将所有输入标准化为一个比例(将 0-200 映射到 0-1 对于上面的示例)是否会更好地提高准确性?
单独标准化每个输入。因为如果您通过除以 200 来标准化所有内容,一些输入对您的网络的影响将小于其他输入。如果一个输入在 0-30 之间变化,除以 200 后,您将得到 0-0.15 的比例,而在 0-200 之间变化的输入比例在除以后将为 0-1。所以 0-30 输入的数字会更少,你告诉你的网络输入不如 0-200 的输入那么重要。
我现在正在使用 Keras 使用 TensorFlow 作为后端开发神经网络,我的模型需要 5 个输入,全部标准化为 0 到 1。输入的单位从 m/s 到米不等到 m/s/秒。因此,例如,在训练数据集中,一个输入可能在 0 m/s 到 30 m/s 之间变化,而另一个输入可能在 5 m 到 200 m 之间变化。
单独和独立地标准化所有输入是否更好,以便我对每个 unit/input 有不同的尺度?或者将所有输入标准化为一个比例(将 0-200 映射到 0-1 对于上面的示例)是否会更好地提高准确性?
单独标准化每个输入。因为如果您通过除以 200 来标准化所有内容,一些输入对您的网络的影响将小于其他输入。如果一个输入在 0-30 之间变化,除以 200 后,您将得到 0-0.15 的比例,而在 0-200 之间变化的输入比例在除以后将为 0-1。所以 0-30 输入的数字会更少,你告诉你的网络输入不如 0-200 的输入那么重要。