首页 > 解决方案 > Tensorflow 归一化 Vs。减去均值并除以标准差的传统方法

问题描述

我很好奇使用tf.keras.utils.normalize与我们通常标准化系列的方式的任何偏好,减去平均值并除以标准差:

import tensorflow as tf
import numpy as np

series = np.random.random(10) + 10 * np.sin(np.random.random(1))
mean = np.mean(series)
std = np.std(series)

(series - mean) / std

tf.keras.utils.normalize(series)

这两种方法有什么优点/缺点吗?

tf 在 [0,1] 范围内进行归一化,但我们使用其他方法获得 [-1,1] 范围内的值。

标签: pythontensorflownormalization

解决方案


tf.keras.utils.normalize使用此处描述的算法。,所以它只是使沿指定轴的数据成为相对于您最喜欢的lp范数的单位向量。这是否更可取sklearn.StandardScaler()取决于问题。对于许多时间序列问题,您想消除它们的趋势,所以取平均值0.,这样StandardScaler是合适的。如果您希望输入合理地类似地缩放,则两种方法或多或少都是等效的。


推荐阅读