机器学习 - 随机森林降方差公式推导
背景
在随机森林算法中,我们通过对数据集进行多次采样(有放回地抽样)并训练多个决策树模型,然后将这些模型的预测结果进行平均来得到最终的预测结果。这样做的一个重要好处是能够降低模型的方差(Variance),从而提高模型的泛化能力。
公式推导
首先,我们定义:
F
(
x
)
=
1
m
∑
i
=
1
m
f
i
(
x
)
F(x) = \frac{1}{m} \sum_{i=1}^{m} f_i(x)
F(x)=m1i=1∑mfi(x)
这里,
F
(
x
)
F(x)
F(x) 是随机森林模型的预测结果,
f
i
(
x
)
f_i(x)
fi(x) 是第
i
i
i 个基模型(决策树)的预测结果,
m
m
m 是基模型的数量。
我们要推导的是 Var [ F ( x ) ] \text{Var}[F(x)] Var[F(x)] ,即随机森林模型的预测结果的方差。
第一步:方差公式展开
Var [ F ( x ) ] = 1 m 2 Var ( ∑ i = 1 m f i ( x ) ) \text{Var}[F(x)] = \frac{1}{m^2} \text{Var}\left(\sum_{i=1}^{m} f_i(x)\right) Var[F(x)]=m21Var(i=1∑mfi(x))
第二步:方差的基本性质
Var ( ∑ i = 1 m f i ( x ) ) = E [ ( ∑ i = 1 m f i ( x ) ) 2 ] − ( E [ ∑ i = 1 m f i ( x ) ] ) 2 \text{Var}\left(\sum_{i=1}^{m} f_i(x)\right) = \mathbb{E}\left[\left(\sum_{i=1}^{m} f_i(x)\right)^2\right] - \left(\mathbb{E}\left[\sum_{i=1}^{m} f_i(x)\right]\right)^2 Var(i=1∑mfi(x))=E (i=1∑mfi(x))2 −(E[i=1∑mfi(x)])2
所以,
Var [ F ( x ) ] = 1 m 2 ( E [ ( ∑ i = 1 m f i ( x ) ) 2 ] − ( E [ ∑ i = 1 m f i ( x ) ] ) 2 ) \text{Var}[F(x)] = \frac{1}{m^2} \left(\mathbb{E}\left[\left(\sum_{i=1}^{m} f_i(x)\right)^2\right] - \left(\mathbb{E}\left[\sum_{i=1}^{m} f_i(x)\right]\right)^2\right) Var[F(x)]=m21 E (i=1∑mfi(x))2 −(E[i=1∑mfi(x)])2
第三步:展开平方项
E [ ( ∑ i = 1 m f i ( x ) ) 2 ] = E [ ∑ i = 1 m f i ( x ) 2 + ∑ i ≠ j f i ( x ) f j ( x ) ] \mathbb{E}\left[\left(\sum_{i=1}^{m} f_i(x)\right)^2\right] = \mathbb{E}\left[\sum_{i=1}^{m} f_i(x)^2 + \sum_{i \neq j} f_i(x) f_j(x)\right] E (i=1∑mfi(x))2 =E i=1∑mfi(x)2+i=j∑fi(x)fj(x)
( E [ ∑ i = 1 m f i ( x ) ] ) 2 = ( ∑ i = 1 m E [ f i ( x ) ] ) 2 = m 2 ( E [ f 1 ( x ) ] ) 2 \left(\mathbb{E}\left[\sum_{i=1}^{m} f_i(x)\right]\right)^2 = \left(\sum_{i=1}^{m} \mathbb{E}[f_i(x)]\right)^2 = m^2 (\mathbb{E}[f_1(x)])^2 (E[i=1∑mfi(x)])2=(i=1∑mE[fi(x)])2=m2(E[f1(x)])2
代入上式,
Var [ F ( x ) ] = 1 m 2 ( m E [ f 1 ( x ) 2 ] + m ( m − 1 ) E [ f 1 ( x ) f 2 ( x ) ] − m 2 ( E [ f 1 ( x ) ] ) 2 ) \text{Var}[F(x)] = \frac{1}{m^2} \left(m \mathbb{E}[f_1(x)^2] + m(m-1) \mathbb{E}[f_1(x) f_2(x)] - m^2 (\mathbb{E}[f_1(x)])^2\right) Var[F(x)]=m21(mE[f1(x)2]+m(m−1)E[f1(x)f2(x)]−m2(E[f1(x)])2)
第四步:利用协方差
E [ f 1 ( x ) f 2 ( x ) ] = Cov ( f 1 ( x ) , f 2 ( x ) ) + E [ f 1 ( x ) ] E [ f 2 ( x ) ] \mathbb{E}[f_1(x) f_2(x)] = \text{Cov}(f_1(x), f_2(x)) + \mathbb{E}[f_1(x)] \mathbb{E}[f_2(x)] E[f1(x)f2(x)]=Cov(f1(x),f2(x))+E[f1(x)]E[f2(x)]
代入,
Var [ F ( x ) ] = 1 m 2 ( m E [ f 1 ( x ) 2 ] + m ( m − 1 ) ( Cov ( f 1 ( x ) , f 2 ( x ) ) + ( E [ f 1 ( x ) ] ) 2 ) − m 2 ( E [ f 1 ( x ) ] ) 2 ) \text{Var}[F(x)] = \frac{1}{m^2} \left(m \mathbb{E}[f_1(x)^2] + m(m-1) (\text{Cov}(f_1(x), f_2(x)) + (\mathbb{E}[f_1(x)])^2) - m^2 (\mathbb{E}[f_1(x)])^2\right) Var[F(x)]=m21(mE[f1(x)2]+m(m−1)(Cov(f1(x),f2(x))+(E[f1(x)])2)−m2(E[f1(x)])2)
展开并简化,
Var [ F ( x ) ] = 1 m Var ( f 1 ( x ) ) + m − 1 m Cov ( f 1 ( x ) , f 2 ( x ) ) \text{Var}[F(x)] = \frac{1}{m} \text{Var}(f_1(x)) + \frac{m-1}{m} \text{Cov}(f_1(x), f_2(x)) Var[F(x)]=m1Var(f1(x))+mm−1Cov(f1(x),f2(x))
令 ρ = Cov ( f 1 ( x ) , f 2 ( x ) ) / Var ( f 1 ( x ) ) \rho = \text{Cov}(f_1(x), f_2(x)) / \text{Var}(f_1(x)) ρ=Cov(f1(x),f2(x))/Var(f1(x)),即基模型间的相关系数,则:
Var [ F ( x ) ] = ρ Var ( f 1 ( x ) ) + 1 − ρ m Var ( f 1 ( x ) ) \text{Var}[F(x)] = \rho \text{Var}(f_1(x)) + \frac{1-\rho}{m} \text{Var}(f_1(x)) Var[F(x)]=ρVar(f1(x))+m1−ρVar(f1(x))
这样,我们就得到了随机森林模型的方差公式,它表示为基模型方差与基模型间协方差的组合。
解释
- 降低方差:通过多个基模型的平均,可以有效降低单个模型的方差,这也是 Bagging 方法的核心优势之一。
- 相关性影响:基模型间的相关性越低(即 $ \rho $ 越小),模型的方差降低得越明显。
原文地址:https://blog.csdn.net/L6666688888/article/details/140666178
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!