通过数学公式来更清晰地说明归一化对模型的影响,以及它如何改变特征的重要性评估。
1. 未归一化的情况
假设我们有一个线性回归模型:
y = β 0 + β 1 x 1 + β 2 x 2 + ϵ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \epsilon y=β0+β1x1+β2x2+ϵ
其中:
- x 1 x_1 x1 和 ( x 2 x_2 x2) 是两个特征(如面积和卧室数量),
- ( β 1 \beta_1 β1) 和 ( β 2 \beta_2 β2) 是对应的系数,
- ( y y y) 是目标变量(如房价),
- ( ϵ \epsilon ϵ) 是误差项。
特征范围的影响
- 假设 ( x 1 x_1 x1) 的范围是 ( [ a 1 , b 1 ] ([a_1, b_1] ([a1,b1], x 2 x_2 x2 的范围是 ( [ a 2 , b 2 ] ) ([a_2, b_2]) ([a2,b2])。
- 特征的范围差异会影响模型的优化过程。例如:
- 如果 x 1 x_1 x1 的范围较大(如面积:50~200),而 x 2 x_2 x2 的范围较小(如卧室数量:1~5),那么在最小化损失函数时,模型可能会赋予 x 1 x_1 x1 较小的系数 β 1 \beta_1 β1,而赋予 x 2 x_2 x2 较大的系数 β 2 \beta_2 β2,以平衡两者对预测值的影响。
总影响的计算
- 特征的总影响可以表示为:
总影响 ( x 1 ) = ( b 1 − a 1 ) ⋅ β 1 \text{总影响}(x_1) = (b_1 - a_1) \cdot \beta_1 总影响(x1)=(b1−a1)⋅β1
总影响 ( x 2 ) = ( b 2 − a 2 ) ⋅ β 2 \text{总影响}(x_2) = (b_2 - a_2) \cdot \beta_2 总影响(x2)=(b2−a2)⋅β2 - 如果 b 1 − a 1 ≫ b 2 − a 2 b_1 - a_1 \gg b_2 - a_2 b1−a1≫b2−a2(即 x 1 x_1 x1 的范围远大于 x 2 x_2 x2),即使 β 1 ≪ β 2 \beta_1 \ll \beta_2 β1≪β2, x 1 x_1 x1 的总影响可能仍然占据主导地位。
2. 归一化后的公式
归一化将特征缩放到相同的范围(如 [0, 1])。归一化的公式为:
x i ′ = x i − a i b i − a i x'_i = \frac{x_i - a_i}{b_i - a_i} xi′=bi−aixi−ai
其中:
- (x’_i) 是归一化后的特征值,
- (a_i) 和 (b_i) 分别是原始特征的最小值和最大值。
归一化后,特征的范围变为 [0, 1],因此:
x 1 ′ ∈ [ 0 , 1 ] , x 2 ′ ∈ [ 0 , 1 ] x'_1 \in [0, 1], \quad x'_2 \in [0, 1] x1′∈[0,1],x2′∈[0,1]
归一化后的模型
归一化后的线性回归模型变为:
y = β 0 + β 1 ′ x 1 ′ + β 2 ′ x 2 ′ + ϵ y = \beta_0 + \beta'_1 x'_1 + \beta'_2 x'_2 + \epsilon y=β0+β1′x1′+β2′x2′+ϵ
其中:
β 1 ′ \beta'_1 β1′ 和 β 2 ′ \beta'_2 β2′ 是归一化后特征的系数。
总影响的变化
- 归一化后,特征的总影响可以直接通过系数比较:
总影响 ( x 1 ′ ) = β 1 ′ \text{总影响}(x'_1) = \beta'_1 总影响(x1′)=β1′
总影响 ( x 2 ′ ) = β 2 ′ \text{总影响}(x'_2) = \beta'_2 总影响(x2′)=β2′ - 因为所有特征的范围相同([0, 1]),所以系数的绝对值可以直接反映特征的重要性。
3. 数学推导:归一化对系数的影响
假设未归一化时的模型为:
y = β 0 + β 1 x 1 + β 2 x 2 + ϵ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \epsilon y=β0+β1x1+β2x2+ϵ
归一化后,特征 (x_1) 和 (x_2) 被替换为 (x’_1) 和 (x’_2),即:
x 1 ′ = x 1 − a 1 b 1 − a 1 , x 2 ′ = x 2 − a 2 b 2 − a 2 x'_1 = \frac{x_1 - a_1}{b_1 - a_1}, \quad x'_2 = \frac{x_2 - a_2}{b_2 - a_2} x1′=b1−a1x1−a1,x2′=b2−a2x2−a2
代入模型:
y = β 0 + β 1 ( ( b 1 − a 1 ) x 1 ′ + a 1 ) + β 2 ( ( b 2 − a 2 ) x 2 ′ + a 2 ) + ϵ y = \beta_0 + \beta_1 \left((b_1 - a_1)x'_1 + a_1\right) + \beta_2 \left((b_2 - a_2)x'_2 + a_2\right) + \epsilon y=β0+β1((b1−a1)x1′+a1)+β2((b2−a2)x2′+a2)+ϵ
整理后:
y = β 0 + β 1 a 1 + β 2 a 2 + β 1 ( b 1 − a 1 ) x 1 ′ + β 2 ( b 2 − a 2 ) x 2 ′ + ϵ y = \beta_0 + \beta_1 a_1 + \beta_2 a_2 + \beta_1 (b_1 - a_1) x'_1 + \beta_2 (b_2 - a_2) x'_2 + \epsilon y=β0+β1a1+β2a2+β1(b1−a1)x1′+β2(b2−a2)x2′+ϵ
令:
β 1 ′ = β 1 ( b 1 − a 1 ) , β 2 ′ = β 2 ( b 2 − a 2 ) \beta'_1 = \beta_1 (b_1 - a_1), \quad \beta'_2 = \beta_2 (b_2 - a_2) β1′=β1(b1−a1),β2′=β2(b2−a2)
则归一化后的模型为:
y = ( β 0 + β 1 a 1 + β 2 a 2 ) + β 1 ′ x 1 ′ + β 2 ′ x 2 ′ + ϵ y = (\beta_0 + \beta_1 a_1 + \beta_2 a_2) + \beta'_1 x'_1 + \beta'_2 x'_2 + \epsilon y=(β0+β1a1+β2a2)+β1′x1′+β2′x2′+ϵ
关键结论
- 归一化后的系数 β 1 ′ \beta'_1 β1′ 和 β 2 ′ \beta'_2 β2′ 是未归一化系数 β 1 \beta_1 β1 和 β 2 \beta_2 β2 乘以各自的范围 ( b 1 − a 1 (b_1 - a_1 (b1−a1 和 b 2 − a 2 b_2 - a_2 b2−a2。
- 这意味着,归一化消除了特征范围对系数的影响,使得模型可以直接比较 β 1 ′ \beta'_1 β1′和 β 2 ′ \beta'_2 β2′来评估特征的重要性。
4. 示例
假设未归一化时:
- 面积 x 1 x_1 x1 的范围是 [50, 200],系数 β 1 = 1 \beta_1 = 1 β1=1;
- 卧室数量 x 2 x_2 x2 的范围是 [1, 5],系数 β 2 = 100 \beta_2 = 100 β2=100。
未归一化时的总影响
总影响 ( x 1 ) = ( 200 − 50 ) ⋅ 1 = 150 \text{总影响}(x_1) = (200 - 50) \cdot 1 = 150 总影响(x1)=(200−50)⋅1=150
总影响 ( x 2 ) = ( 5 − 1 ) ⋅ 100 = 400 \text{总影响}(x_2) = (5 - 1) \cdot 100 = 400 总影响(x2)=(5−1)⋅100=400
卧室数量的总影响更大。
归一化后的系数
归一化后:
β 1 ′ = β 1 ⋅ ( b 1 − a 1 ) = 1 ⋅ ( 200 − 50 ) = 150 \beta'_1 = \beta_1 \cdot (b_1 - a_1) = 1 \cdot (200 - 50) = 150 β1′=β1⋅(b1−a1)=1⋅(200−50)=150
β 2 ′ = β 2 ⋅ ( b 2 − a 2 ) = 100 ⋅ ( 5 − 1 ) = 400 \beta'_2 = \beta_2 \cdot (b_2 - a_2) = 100 \cdot (5 - 1) = 400 β2′=β2⋅(b2−a2)=100⋅(5−1)=400
此时,归一化后的系数 β 1 ′ = 150 \beta'_1 = 150 β1′=150和 β 2 ′ = 400 \beta'_2 = 400 β2′=400 直接反映了两者的总影响。
5. 总结
通过归一化,我们将特征的范围标准化为 [0, 1],并重新调整了系数,使得模型能够公平地评估特征的重要性。具体来说:
- 未归一化时,特征的总影响由范围和系数共同决定;
- 归一化后,特征的总影响仅由系数决定,从而避免了因范围差异导致的偏差。
希望这个数学推导能帮助你更好地理解归一化的作用!