机器学习 - 随机森林降方差公式推导

背景

在随机森林算法中,我们通过对数据集进行多次采样(有放回地抽样)并训练多个决策树模型,然后将这些模型的预测结果进行平均来得到最终的预测结果。这样做的一个重要好处是能够降低模型的方差(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=1mfi(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=1mfi(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=1mfi(x))=E (i=1mfi(x))2 (E[i=1mfi(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=1mfi(x))2 (E[i=1mfi(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=1mfi(x))2 =E i=1mfi(x)2+i=jfi(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=1mfi(x)])2=(i=1mE[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(m1)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(m1)(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))+mm1Cov(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 $ 越小),模型的方差降低得越明显。
  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Violent-Ayang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值