一般に収束とは
収束の概念は、明確に定義された数学用語です。それは本質的に、「最終的に」一連の要素が単一の値にますます近づくことを意味します。この単一の値を「制限」と呼びます。
正式な定義は次のようになります。
実数の(無限)シーケンスを考えると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 ....
それで、大きな問題は、私たちのアルゴリズムはゼロになるでしょうか?ゼロに収束することはありますか?アルゴリズムはすべて収束しますか?最終的にそれが正しくなることを証明できますか(またはできる限り近くになりますか)?
うまくいけば:)