平方欧几里得距离(Squared Euclidean Distance) 和 L2 距离(欧几里得距离,Euclidean Distance) 的主要区别在于它们的计算公式、梯度特性以及在深度学习中的应用。
1. 公式对比
对于两个向量 ( A ) 和 ( B )(维度为 ( d )):
- ( A = (a_1, a_2, …, a_d) )
- ( B = (b_1, b_2, …, b_d) )
(1) L2 距离(欧几里得距离)
[
d_{L2}(A, B) = \sqrt{\sum_{i=1}^{d} (a_i - b_i)^2}
]
- 直接计算向量之间的欧几里得距离,具有平方根。
(2) 平方欧几里得距离(Squared Euclidean Distance)
[
d_{\text{squared}}(A, B) = \sum_{i=1}^{d} (a_i - b_i)^2
]
- 计算的是欧几里得距离的平方,没有平方根。
2. 数学和梯度特性
距离类型 | 是否有平方根 | 数值范围 | 梯度特性 |
---|---|---|---|
L2 距离 ( \sqrt{\sum (a_i - b_i)^2} ) | ✅ 有平方根 | 更小(与差值成线性比例) | 梯度在远处较小,近处较陡峭 |
平方欧几里得距离 ( \sum (a_i - b_i)^2 ) | ❌ 无平方根 | 较大(与差值平方成正比) | 梯度变化更均匀,远处梯度更大 |
-
L2 距离(含平方根):
- 远距离时,梯度较小,更新步伐变慢(因为平方根的梯度衰减)。
- 近距离时,梯度较大,收敛快。
-
平方欧几里得距离