tf.keras.layers.Normalization中axis=-1的含义是什么?
解释
tf.keras.layers.Normalization中的axis=-1 axis=-1在TensorFlow/Keras里是张量最后一个维度的相对索引,不用硬记具体的axis数字,尤其适合处理维度数不确定的张量。
结合你熟悉的二维张量场景(axis=0代表行、axis=1代表列):
- 如果输入是形状为
(样本数量, 特征数量)的二维张量,axis=-1完全等价于axis=1,也就是每个样本的特征维度。
对于Normalization层,这个参数决定了计算均值和方差的维度方向:
- 设
axis=-1时,层会沿着每个样本的特征维度(最后一维)单独计算统计量,也就是对每个样本自身的所有特征做归一化。 - 对比
axis=0的情况:它会跨所有样本,对每个特征列计算均值方差,把同一特征在所有样本上的值做归一化。
举个直观例子:
假设输入张量为:
[[1, 2, 3], [4, 5, 6]]
(2个样本,每个样本含3个特征)
- 若
axis=-1(即axis=1),会分别对[1,2,3]和[4,5,6]各自计算均值、方差,得到两个独立归一化后的样本。 - 若
axis=0,会对[1,4]、[2,5]、[3,6]这三个特征列分别计算统计量,完成每个特征的跨样本归一化。
在你提到的线性回归教程里,使用axis=-1是因为输入的每个样本是一组独立特征向量,需要对每个样本自身的特征分布做归一化,适配后续模型的输入要求。
内容的提问来源于stack exchange,提问作者ADITYA
相关产品推荐
相关产品推荐

