归一化 (Normalization)、标准化 (Standardization)和中心化/零均值化 (Zero-centered)
def normalization(data):
_range = np.max(data) - np.min(data)
return (data - np.min(data)) / _range
def standardization(data):
mu = np.mean(data, axis=0)
sigma = np.std(data, axis=0)
return (data - mu) / sigma
更新,如果归一化后的范围是[-1, 1]的话,可以将normalization()函数改为:
def normalization(data):
_range = np.max(abs(data))
return data / _range
此外,我看了一些GitHub上面的代码,发现很多人在预处理输入到神经网络中的数据时,使用的normalization函数其实是进行了标准化,而不是归一化,比如: