私は勾配ブースティングに関する有用なWikipediaエントリ(https://en.wikipedia.org/wiki/Gradient_boosting)を読んでおり、最急降下ステップ(疑似勾配とも呼ばれる)によって残差を近似できる方法/理由を理解しようとしています)。誰かが私に最も急な降下が残差にリンクされている/類似している方法の直感を教えてもらえますか?どうぞよろしくお願いいたします。
私は勾配ブースティングに関する有用なWikipediaエントリ(https://en.wikipedia.org/wiki/Gradient_boosting)を読んでおり、最急降下ステップ(疑似勾配とも呼ばれる)によって残差を近似できる方法/理由を理解しようとしています)。誰かが私に最も急な降下が残差にリンクされている/類似している方法の直感を教えてもらえますか?どうぞよろしくお願いいたします。
回答:
次のような状況にあるとします。いくつかのデータがあり、各は数値またはベクトルにすることができます。最小二乗という意味で、関係を近似する関数を決定しますエラー:
小さいです。
ここで、の領域をどのようにしたいかという質問に入ります。ドメインの縮退した選択は、トレーニングデータの単なるポイントです。この場合、目的のドメイン全体をカバーする定義し、終了することができます。この答えに到達するためのラウンドアラウンド方法は、この離散空間をドメインとして勾配降下を行うことです。これには、視点の変更が少し必要です。損失を点trueと予測関数として考えてみましょう(現時点では、は関数ではなく、予測の値です)
そして、予測に関して勾配をとります
次に、勾配の更新は、初期値からます。
したがって、この設定を使用して、勾配ステップで完璧な予測を回復します。
もちろん、ここでの欠点は、トレーニングデータポイントだけでなく、をはるかに多く定義することです。これを行うには、トレーニングデータセット以外のポイントで損失関数またはその勾配を評価できないため、いくつかの譲歩を行う必要があります。
大きなアイデアは、弱く近似することです。
Start
での初期推定、ほとんど常に単純な定数関数、これはどこでも定義されます。次に、初期推定値を使用して、トレーニングデータでの損失関数の勾配を評価することにより、新しい作業データセットを生成します。
Now approximate
弱学習器を当てはめ。近似を取得するとします。小規模な学習者に当てはまるため、トレーニングポイントでの精度は失われましたが、ドメイン全体で形式でデータ拡張を得ました。
Finally
、ドメイン全体のの勾配更新で代わりにを使用します。
私たちは出、新たな近似より少し良く、。から始めて、満足するまで繰り返します。
うまくいけば、本当に重要なのは損失の勾配を近似することです。最小二乗最小化の場合、これは生の残差の形をとりますが、より洗練された場合はそうではありません。機械はまだ適用されます。トレーニングデータでの損失と損失の勾配を計算するアルゴリズムを構築できる限り、このアルゴリズムを使用して、その損失を最小化する関数を近似できます。