アルゴリズムが収束することはどういう意味ですか?


12

強化学習について読むとき、この文に出くわします。たとえば、次の文です。

問題を慎重にモデル化すると、一部の強化学習アルゴリズムがグローバル最適に収束する可能性があります

http://reinforcementlearning.ai-depot.com/

またはここ:

固定ポリシーPiの場合、上記のTDアルゴリズムはVPiに収束することが証明されています

http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node62.html

収束という言葉の私の理解は、同じポイントにいくつかの事が一緒に来ることを意味するということですが、単一の事(アルゴリズム)がそれをどのようにできるのでしょうか?


7
反復アルゴリズムの場合、各反復の候補解が目的の解にどんどん近づく傾向があるときに収束すると言われています。
メタファイト

6
「制限」は「単一のもの」であるにもかかわらず、数学の制限も収束または発散すると言われていることを思い出してください。
Ixrec

@Ixrec:「制限」は、con / diverges to / fromのにちなんで命名されまし。たとえば、「1に収束する」という意味は「1を超えない」という意味で、「1は結果の最大値」であり、したがって期待の「制限」という意味です。したがって、単数形。
Flater

回答:


14

反復アルゴリズムは、反復が進むにつれてとき、出力はいくつかの特定の値に近づくと近づく収束するように言われています。より正確に言えば、選択するエラー範囲がどれほど小さくても、十分に長く継続すると、関数は最終的にそのエラー範囲内にとどまります。

状況によっては、アルゴリズムは収束せず、出力は常にある程度変化します。それは発散することさえあり得、そこではその出力はますます大きな価値変動を受け、有用な結果に決して近づくことはない。より正確には、どれだけ長く続けても、関数値は「最終」値の範囲内で落ち着くことはありません。

最初の文の「グローバル最適への収束」フレーズは、収束する可能性のあるアルゴリズムへの参照ですが、「最適な」値への参照ではありません(たとえば、関数と初期条件によって、ローカルな最大値、グローバルな最大値に到達することはありません)。


3

一般に収束とは

収束の概念は、明確に定義された数学用語です。それは本質的に、「最終的に」一連の要素が単一の値にますます近づくことを意味します。この単一の値を「制限」と呼びます。

正式な定義は次のようになります。

実数の(無限)シーケンスを考えるとX0, X1, X2, ... Xn ...、私たちが言うXn converges to a given number Lのためならば、すべてのあなたが考えることを正の誤差があり、Xmそのようなすべての要素というXnの後に来るXmと異なっLているエラーよりも少ないこともできます。

例:

シーケンスを次のように想像してください:

  • X0 = 1
  • X1 = 0.1
  • X2 = 0.01
  • X3 = 0.001
  • X4 = 0.0001
  • ...
  • Xn = 1 /(10 ^ n)

Xnはゼロに収束しますか?はい!どうして?

エラーE(たとえば、E = 0.0025)を考えてください。シーケンス内に、その後すべての要素が下にある要素があります0.025か?はい!その要素はX3 = 0.001です。X2の後、すべてXNは以下0.0025です。これはすべての E> 0 に対して実行できますか?はい。選択したすべての正のエラーについて、最初の小数点の前にゼロがいくつあるかを見ることができ、同じ数のゼロを持つ要素から始まるシーケンスよりも低くなります。

これはそれを意味しXn = 1/(10^5) converges to 0ます。「それはゼロに近づくことができます」のように、私たちは望みます。


アルゴリズムが収束することはどういう意味ですか?

「技術的に」収束するのはアルゴリズムではなく、アルゴリズムが操作または反復している値です。たとえば、PIのすべての数字を出力するアルゴリズムを書いているとしましょう。

アルゴリズムは次のような数字の印刷を開始します。

  • X0 = 3.14
  • X1 = 3.141
  • X2 = 3.1415
  • X3 = 3.14159
  • ...

自問することもできます:アルゴリズムは、PIにますます近い数値を出力しますか?つまり、X0, X1, ... XN ...アルゴリズムが出力するシーケンスはPIに収束しますか?

その場合、アルゴリズムはPIに収束すると言います。


通常、アルゴリズムの正確性を証明することに関心があります。

通常、アルゴリズムを作成するとき、アルゴリズムが提供する解決策が解決する問題に対する正しい解決策であるかどうかを知ることに関心があります。これは時々収束の形で来ることができます。

一般に、アルゴリズムにはメトリックと呼ばれるものがあります。メトリックは、アルゴリズムが生成する特定の結果に与える数値です。たとえば、AI /機械学習の反復アルゴリズムでは、入力に基づいてアルゴリズムが生成している「エラー」を追跡することが非常に一般的です。このエラーはメトリックです。

これらの反復アルゴリズムでは、すべてのステップで異なるエラーが生成されます。そして、アルゴリズムがしようとしているのは、エラーが最小になるようにエラーを最小化することです。エラーのシーケンスが収束すると、アルゴリズムが収束すると言います。

これらの場合、global optimum通常、エラーは可能な限り最小のセットアップとして定義されます。その場合、「アルゴリズムがグローバル最適に収束する」とは、「アルゴリズムが可能な限り低いエラーに収束するシーケンスでエラーを生成する」ことを意味します。

「グローバル最適」が「正しい解」である場合、アルゴリズムが収束するということは、アルゴリズムが正しいということと同じです。

また、アルゴリズムが収束することを証明するには、証明が必要です(0.001、0.0001、...などの例で行ったように)。


例として、分類器

この例は、分類子の場合です。機械学習アルゴリズムを使用して数値が奇数か偶数かを分類し、次のデータセットがあると仮定します。

  • (1、奇数)
  • (2、偶数)
  • (3、奇数)
  • (77、奇数)
  • (4、偶数)

数字のすべてのセットに対するアルゴリズムは、偶数または奇数の場合、それらのそれぞれに対して吐き出します。そのために、メトリックエラーを、エラーが発生した回数を指定された要素の総数で割ったものとして定義できます。

したがって、アルゴリズムが以下を吐き出す場合:

  • (1、偶数)//間違っている
  • (2、偶数)
  • (3、偶数)//間違っている
  • (77、偶数)//間違っている
  • (4、偶数)

エラーメトリックはになります3/5 = 0.6。ここで、アルゴリズムを再度実行し、吐き出します。

  • (1、偶数)//間違っている
  • (2、偶数)
  • (3、奇数)
  • (77、奇数)
  • (4、偶数)

エラーメトリックはになります1/5 = 0.2

ますます実行されるとしましょう。エラーのシーケンスは次のようになります。

0.6, 0.2, 0.1, 0.01, 0.000456, 0.00000543, 0.000000000444 ....

それで、大きな問題は、私たちのアルゴリズムはゼロになるでしょうか?ゼロに収束することはありますか?アルゴリズムはすべて収束しますか?最終的にそれが正しくなることを証明できますか(またはできる限り近くになりますか)?

うまくいけば:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.