3

機械学習回帰問題で、実際の関数ではなく微分関数の極小値が計算されるのはなぜですか?

例: http: //en.wikipedia.org/wiki/Gradient_descent

関数$$の極小値を見つけるために最急降下アルゴリズムが適用されます

f(x)=x^4−3x^3+2, ----(A)

デリバティブ付き

f'(x)=4x^3−9x^2. ----(B)

ここで、関数(A)の最急降下アルゴリズムを使用して極小値を見つけるために、関数(B)である(A)の微分関数を使用しました。

4

2 に答える 2

3

その理由は、関数が凹型(または最大化を行っている場合は凸型)であるため(これらの問題は同等です)、単一の最小値(最大値)があることがわかっているためです。これは、勾配がゼロに等しい単一の点があることを意味します。関数自体を使用する手法もありますが、勾配を計算できれば、最適からの距離に関する情報を提供する勾配を考えることができるため、はるかに速く収束できます

最急降下法に加えて、ニュートン法と呼ばれる最適化法があります。これには、2階導関数(多変量最適化のヘッセ行列)の計算が必要です。これはさらに速く収束しますが、多くのパラメーターがある場合は実行不可能なヘッセ行列を反転できる必要があります。したがって、これを回避する方法があり、ヘッセ行列の限定されたメモリ近似を計算します。これらの方法は、勾配の曲率に関する情報を使用しているため、さらに高速に収束します。これは単純なトレードオフであり、最適化しようとしている関数についてよく知っているほど、解決策をすばやく見つけることができます。

于 2013-02-12T11:11:13.657 に答える
2

私は数学者ではないので、正確な答えを出すことはできませんが、派生が何をするのかを理解する必要があります。例:

http://en.wikipedia.org/wiki/Derivative http://en.wikipedia.org/wiki/Differential_of_a_function

これはあなたが必要とするものです(差別化は何をしますか): http: //en.wikipedia.org/wiki/File :Graph_of_sliding_derivative_line.gif

ある点での導関数は、その点での関数のグラフに対する接線の傾きに等しくなります。そして、これはあなたが降下を探しているときにまさにあなたが望むものです。非常に非公式な観点としてそれを取ると、ウィキペディアの記事はあなたにはるかに深く正確な知識を与えるでしょう...

于 2013-02-12T10:21:56.800 に答える