勾配ブースティングについて勉強している過程で、「統計的機械学習の基礎」の10.9節を読みました。本節は、数式も多く理解に時間がかかりました。再度本節を読んだときに、すっと頭に入ってくるように記事にまとめておきたいと思います。
本記事のサマリ
本記事では、10.9節のサマリと(10.32)式の導出方法を記載します。また、補足的に決定木の場合、なぜが推定できるのかについても述べたいと思います。なお、本記事の数式中に現れる文字の説明はしません。適宜、原本をご覧ください。
10.9節のサマリ
私の理解が正しければ、10.9節は下記のようにまとめられると思います。
- ブースティング木のモデルは、で表現される。ただし、である。は推定対象のパラメータである。
- は、損失関数を用いて、で推定できる。
- の厳密な最小化は非常に困難なので、前向き段階的加法的モデリングによって近似的な最小化を行う。
- ただし、が既知の場合には、は容易に推定できるが、が未知の場合には、前向き段階的加法的モデリングを用いても、共に推定が困難な場合が多い。
(10.32)式の導出
損失関数が指数損失、が既知の場合において、前向き段階的加法的モデリングによって得られるが、
であることを証明します。
まず最初に、の定義を確認します。の定義は、
です。ここで、理解しやすいよう表1のような場合に、(1)式の和がどのように展開されるかを見てみます。
表1の場合、最後の和は、
となります。(1)式は表1に限らず(2)式の形になるので、(2)式をについて最小化すれば良いことになります。なので、(2)式を微分して、となる式を解けば良いです。 微分してとした式は、
です。これを解くと、が得られます。 この結果を、前向き段階的加法的モデリングに書き下してみると、図1のようになります。
アルゴリズム中の2-aの箇所が一般的には計算が困難で、工夫が必要なところになります。
補足(決定木のの推定について)
「10.9節のサマリ」のところで「が既知の場合には、は容易に推定できるが、が未知の場合には、前向き段階的加法的モデリングを用いても、共に推定が困難な場合が多い」と記載しました。決定木を構築する際も同様の問題に直面しているのですが、決定木の場合は主に2つの制約を設けることで、の推定を容易にしています。その制約とは、下記の2つです。
- としている。つまり一回の分岐で分かれるのは、二個のノードにしか分割されない。
- の制約をかけている 。つまり、とか、など、の分割の仕方が無限にある中で、簡単な分割に限定している。
以上2つの制約を書けることで、の推定を容易にしています。
まとめ
本記事では、勾配ブースティングの前提条件や目的についてまとめました。今後も引き続き勾配ブースティング木について勉強し、スクラッチ実装できるレベルを目指します。