最大化する必要がある確率を定式化できるほとんどの機械学習タスクでは、いくつかのパラメーター確率の代わりに、実際に対数確率最適化します。たとえば、最尤トレーニングでは、通常対数尤度です。勾配法を使用してこれを行う場合、これには要因が含まれます。
もちろん、最適化は同等ですが、勾配は異なりますので、勾配ベースの方法は異なる動作をします(特に確率勾配法)。任意の正当性があることがある勾配がより良い作品勾配?
最大化する必要がある確率を定式化できるほとんどの機械学習タスクでは、いくつかのパラメーター確率の代わりに、実際に対数確率最適化します。たとえば、最尤トレーニングでは、通常対数尤度です。勾配法を使用してこれを行う場合、これには要因が含まれます。
もちろん、最適化は同等ですが、勾配は異なりますので、勾配ベースの方法は異なる動作をします(特に確率勾配法)。任意の正当性があることがある勾配がより良い作品勾配?
回答:
勾配方法は、一般に、より良い最適化動作よりの勾配ため一般的であるだけでなくスケール。つまり、目的関数のジオメトリを一貫して役立つ形で反映するサイズを持っているため、適切なステップサイズを選択して、より少ないステップで最適な状態を簡単に得ることができます。p (x )log p (x )
つまり、との勾配最適化プロセスを比較してください。任意の点で、勾配はそれにを掛けると、関係なく、原点でグローバルな最適値を得るために必要な正確なステップサイズが得られます。f (x )= log p (x )= − x 2 x f (x )f ′(x )= − 2 x 。1 / 2 X X F (X )、F (X )X
対照的に、勾配は、最適化のためのグローバルプロパティが非常に貧弱です。私たちは持っているこれは、が増加するにつれて指数関数的に減衰する(より速く係数を使用して、完全に適切で適切に動作する勾配を乗算します。で、我々は既にように勾配ベクトルに沿ってステップが約ある、回小さすぎます。最適に向かって合理的なステップサイズを取得するには、その逆数、巨大な定数勾配をスケーリングする必要があります
一般に、がこのおもちゃの例のような優れた勾配スケーリング特性を持つという保証はありません。特に、複数の変数がある場合です。しかし、ほとんどすべての非自明な問題のために、、よりずっといい方法になるだろう。これは、他のいくつかの回答で指摘されているように、可能性は多くの用語を持つ大きな製品であり、ログはその製品を合計に変換するためです。されている可能性で用語設け行儀の最適化の観点からは、それらのログは、一般に行儀され、そして行儀関数の和は、行儀あります。行儀私が意味する変化が大きすぎたり速すぎたりせず、勾配法で簡単に最適化できるほぼ2次関数になります。導関数の合計は、導関数の順序に関係なく、合計の導関数です。これにより、合計の大きな積項が非常に合理的な2次導関数を持つことが保証されます。
複数の同時確率の確率の対数は、個々の確率の対数の合計に単純化されます(そして、和の規則は微分の積の規則よりも簡単です)
指数確率分布(ユビキタス正規分布を含む)のファミリーのメンバーの対数は、パラメーターの多項式です(つまり、最大尤度は正規分布の最小二乗になります)
後者の形式は、前者よりも数値的に安定しており、区別が記号的に簡単です。
最後になりましたが、対数は、極値の位置を保持する単調変換です(特に、最大尤度の推定パラメーターは元の定式と対数変換された定式で同一です)
一般的なルールとして、最も基本的で簡単な最適化問題は、二次関数を最適化することです。どこから始めても、そのような関数の最適なものを簡単に見つけることができます。これがどのように現れるかは、特定の方法に依存しますが、関数を2次関数に近づけるほど良いです。
TemplateRexで指摘されているように、さまざまな問題で、尤度関数の計算に入る確率は正規分布に由来するか、正規分布によって近似されます。したがって、ログを操作すると、素晴らしい二次関数が得られます。一方、確率で作業する場合、次の機能があります。
(これは実際に簡単なものでした。実際のアプリケーションでは、数値から計算できたとしても、関数の値と勾配が0から区別できず、最適化の目的には役に立たないように、検索が最適から遠く離れて開始される可能性がありますアルゴリズム。ただし、2次関数に変換すると、これは簡単になります。)
これは、すでに述べた数値安定性の問題と完全に一致していることに注意してください。この関数を使用するのにログスケールが必要な理由は、元のログ確率よりも最適化およびその他の目的でログ確率がはるかに優れていることとまったく同じ理由です。
これに別の方法でアプローチすることもできます。たとえログに利点がなかったとしても(存在します)-導出と計算にとにかくログスケールを使用するので、勾配を計算するためだけにexp変換を適用する理由は何ですか?ログとの整合性を保つこともできます。