批量标准化/[0,1]标准化/[-1,1]标准化
批量标准化/[0,1]标准化/[-1,1]标准化
内容
批量标准化( Batch Normalization )后的变量取值范围及进一步缩放方法如下:
一、批量标准化后的取值范围
-
标准化过程:
- 公式:\[\hat{x} = \frac{x - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}, \quad y = \gamma \hat{x} + \beta \]
- \(\mu_B, \sigma_B\):当前批次的均值和标准差。
- \(\gamma, \beta\):可学习的缩放和平移参数。
- 输出分布:标准化后的 \(\hat{x}\) 近似服从均值为 0、方差为 1 的正态分布( 假设输入数据是正态的 )。
- 公式:
-
理论范围:
- 约 68% 的数据在 \([-1, 1]\) 之间( 1σ 区间 )。
- 约 95% 的数据在 \([-2, 2]\) 之间( 2σ 区间 )。
- 极端值可能达到 \([-3, 3]\)( 3σ 区间 )。
-
实际范围:
- 若 \(\gamma=1, \beta=0\),输出 \(y\) 的范围与 \(\hat{x}\) 一致( 如 [-3, 3] )。
- 若 \(\gamma\) 和 \(\beta\) 被优化调整,范围可能偏移( 如 \(\gamma=2, \beta=5\) 时,范围可能变为 [2, 8] )。
二、缩放到 [0, 1] 区间
若需将 原始数据 缩放到 [0, 1],需使用 最小-最大归一化( Min-Max Scaling ):
\[x_{\text{scaled}} = \frac{x - \min(X)}{\max(X) - \min(X)}
\]
- 示例:若原始数据范围是 [−5, 10],则:\[x_{\text{scaled}} = \frac{x + 5}{15} \]
注意事项:
- 若已应用批量标准化,再执行此操作会破坏标准化效果,通常不建议叠加使用。
三、缩放到 [-1, 1] 区间
若需将 原始数据 缩放到 [-1, 1],公式为:
\[x_{\text{scaled}} = 2 \times \frac{x - \min(X)}{\max(X) - \min(X)} - 1
\]
- 示例:若原始数据范围是 [−5, 10],则:\[x_{\text{scaled}} = 2 \times \frac{x + 5}{15} - 1 \]
注意事项:
- 类似地,批量标准化后追加此操作会干扰模型训练的稳定性。
四、批量标准化与缩放的对比
| 方法 | 目标 | 公式 | 适用范围 |
|---|---|---|---|
| 批量标准化 | 稳定训练,加速收敛 | $ y = \gamma \frac{x - \mu}{\sigma} + \beta $ | 神经网络中间层输入 |
| 最小-最大归一化 | 强制数据到固定区间 | $ x_{\text{scaled}} = \frac{x - \min}{\max - \min} $ | 输入特征预处理 |
五、总结
- 批量标准化后的数据范围:大部分值在 \([-3, 3]\) 之间,具体由 \(\gamma\) 和 \(\beta\) 调整。
- 缩放到 [0,1] 或 [-1,1]:需使用最小-最大归一化,但应与批量标准化分开使用。
- 最佳实践:在输入层使用归一化( 如 Min-Max ),在隐藏层使用批量标准化。

浙公网安备 33010602011771号