Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

KeRF: Random ForestはKernel

Scornet, E. (2016). Random forests and kernel methods. IEEE Transactions on Information Theory, 62(3), 1485-1500.

ランダムフォレストの定義をわずかに変更することで、ランダムフォレストをカーネル法として書き換えられることを示す。
この手法を、Random Forest に基づく Kernel という意味で KeRF と呼ぶ。KeRF は通常のランダムフォレストより解釈しやすく、理論解析も容易である。

有限forestについて、点 xx と標本点 XiX_i が同じセルに入った木の割合を、接続関数

KM,n(x,z)=1Mj=1M1zAn(x,Θj)K_{M,n}(x,z) = \frac{1}{M} \sum_{j=1}^{M} \mathbf{1}_{{z\in A_n(x,\Theta_j)}}

として定義する。KeRF 推定量は

m~M,n(x)=i=1nYiKM,n(x,Xi)=1nKM,n(x,X)\widetilde m_{M,n}(x) = \frac{\sum_{i=1}^{n}Y_iK_{M,n}(x,X_i)} {\sum_{\ell=1}^{n}K_{M,n}(x,X_\ell)}

というカーネル回帰の形で表される。

前提知識

カーネル回帰

m^(x)=i=1nYiK(x,Xi)i=1nK(x,Xi)\widehat{m}(x) = \frac{ \sum_{i=1}^{n} Y_iK(x,X_i) }{ \sum_{i=1}^{n} K(x,X_i) }

ここで

  • m^(x)\widehat{m}(x):点 xx における回帰関数の推定値

  • K(x,Xi)K(x,X_i)xx と訓練点 XiX_i の近さを表すカーネル

  • YiY_i:訓練点 XiX_i に対応する応答値

Random Forest

Tree

jj 番目の木の予測は、そのセル内の応答変数の平均として次のように表すことができる。

mn(x,Θj)=i=1nYi1{XiAn(x,Θj)}Nn(x,Θj)m_n(x,\Theta_j) = \frac{ \sum_{i=1}^{n} Y_i \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} }{ N_n(x,\Theta_j) }

ここで

  • xx:予測対象の点

  • An(x,Θj)A_n(x,\Theta_j):第 jj 番目の木で xx が属する終端セル

  • Θj\Theta_j:第 jj 番目の木を構築するランダム性(ブートストラップ標本、分割変数、分割位置など)

  • YiY_i:第 ii 番目の訓練標本の応答値

  • 1{XiAn(x,Θj)}\mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}}XiX_ixx と同じ葉に入れば1、それ以外は0

  • Nn(x,Θj)N_n(x,\Theta_j):その葉に含まれる訓練標本数

Random Forest

MM 本の木からなるRandom Forestは次のように書くことができる

mM,n(x)=1Mj=1Mmn(x,Θj)=1Mj=1Mi=1nYi1{XiAn(x,Θj)}Nn(x,Θj)=i=1nYiWi,M,n(x)\begin{aligned} m_{M,n}(x) &= \frac{1}{M} \sum_{j=1}^{M} m_n(x,\Theta_j) \\ &= \frac{1}{M} \sum_{j=1}^{M} \frac{ \sum_{i=1}^{n} Y_i \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} }{ N_n(x,\Theta_j) } \\ &= \sum_{i=1}^{n} Y_iW_{i,M,n}(x) \end{aligned}

ここで Wi,M,n(x)W_{i,M,n}(x) は同じ葉に入る頻度と葉の大きさの両方を反映した重み

Wi,M,n(x)=1Mj=1M1{XiAn(x,Θj)}Nn(x,Θj)W_{i,M,n}(x) = \frac{1}{M} \sum_{j=1}^{M} \frac{ \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} }{ N_n(x,\Theta_j) }

KeRF

接続関数

接続関数 KM,n(x,z)K_{M,n}(x,z)xxzz が同じ葉に入った木の割合

KM,n(x,z)=1Mj=1M1{zAn(x,Θj)}K_{M,n}(x,z) = \frac{1}{M} \sum_{j=1}^{M} \mathbf{1}_{\{z\in A_n(x,\Theta_j)\}}

ここで

  • KM,n(x,z)K_{M,n}(x,z):有限forestにおける接続関数

  • x,zx,z:比較する2点

通常のRandom Forestの重み Wi,M,n(x)W_{i,M,n}(x) から葉内のサンプル数 Nn(x,Θj)N_n(x,\Theta_j) による正規化をなくしたのが接続関数

Wi,M,n(x)=1Mj=1M1{XiAn(x,Θj)}Nn(x,Θj)=1Mj=1M1{XiAn(x,Θj)}1Nn(x,Θj)=KM,n(x,z)1Nn(x,Θj)W_{i,M,n}(x) = \frac{1}{M} \sum_{j=1}^{M} \frac{ \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} }{ N_n(x,\Theta_j) } = \frac{1}{M} \sum_{j=1}^{M} \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} \cdot \frac{1}{N_n(x,\Theta_j)} = K_{M,n}(x,z) \cdot \frac{1}{N_n(x,\Theta_j)}

KeRF

m~M,n(x)=i=1nYiKM,n(x,Xi)=1nKM,n(x,X)\widetilde{m}_{M,n}(x) = \frac{ \sum_{i=1}^{n} Y_iK_{M,n}(x,X_i) }{ \sum_{\ell=1}^{n} K_{M,n}(x,X_\ell) }

ここで

  • m~M,n(x)\widetilde{m}_{M,n}(x):有限forestに基づくKeRFの予測

  • KM,n(x,Xi)K_{M,n}(x,X_i)xxXiX_i が同じ葉に入った割合

  • YiY_i:訓練点 XiX_i の応答値

接続関数を展開すると

m~M,n(x)=j=1Mi=1nYi1{XiAn(x,Θj)}j=1MNn(x,Θj)\widetilde{m}_{M,n}(x) = \frac{ \sum_{j=1}^{M} \sum_{i=1}^{n} Y_i \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} }{ \sum_{j=1}^{M} N_n(x,\Theta_j) }

ここで

  • 分子:森林全体で xx と同じ葉に入った応答値の合計

  • 分母:森林全体で xx と同じ葉に入った訓練標本数の合計

Random ForestとKeRFの違い

Random Forestは

1Mj=1MiYi1{XiAn(x,Θj)}Nn(x,Θj)\frac{1}{M} \sum_{j=1}^{M} \frac{ \sum_i Y_i \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} }{ N_n(x,\Theta_j) }

KeRFは

jiYi1{XiAn(x,Θj)}jNn(x,Θj)\frac{ \sum_j \sum_i Y_i \mathbf{1}_{\{X_i\in A_n(x,\Theta_j)\}} }{ \sum_j N_n(x,\Theta_j) }

ここで

  • Random Forest:各木の葉内で正規化してから平均する

  • KeRF:森林全体の接続回数を集計してから一度だけ正規化する

  • 両者の本質的な違い:正規化のタイミング

KeRFは、Random Forestの接続関数をカーネルとして用いたカーネル回帰である。

Random Forestとの関係

特定の条件下では、ランダムフォレストとKeRFは一致、あるいは漸近的に等価になる

Breimanのフォレスト: 各葉に含まれる観測値がちょうど1つの場合(分類問題のデフォルト設定など)、ランダムフォレストとKeRFの推定値は完全に一致する