機械学習技術は「近似アルゴリズム」ですか?


23

最近cstheory stackexchangeについてMLのような質問があり、Powellの方法、勾配降下法、遺伝的アルゴリズム、またはその他の「近似アルゴリズム」を推奨する回答を投稿しましたコメントで、これらの方法は「近似アルゴリズム」ではなく「ヒューリスティック」であり、理論的な最適値に近づかないことが多いと言われました(「極小値にしばしば行き詰まる」ため)。

他の人はそれに同意しますか?また、探索空間の大部分を探索するように設定されている場合(たとえば、パラメータ/ステップサイズを小さく設定する)、どのヒューリスティックアルゴリズムが理論的な最適値に近づくことを保証できるという感覚があるように思えますが、論文ではそれを見ませんでした。これが論文で示されているか証明されているかどうかは誰にもわかりませんか?(アルゴリズムの大規模なクラスではない場合、多分小さなクラスの場合はNNなど)


この質問についてさらに考えて
みる

回答:


29

複数の重要な概念を混ぜていると思います。いくつかのことを明確にしてみましょう。

  • メタヒューリスティックな方法があります。これは、候補ソリューションを繰り返し改善しようとする方法です。この例としては、タブー検索、シミュレーテッドアニーリング、遺伝的アルゴリズムなどがあります。これらのメソッドがうまく機能するケースは多くありますが、これらのメソッドが機能するタイミングと機能しないタイミングについては深く理解されていません。さらに重要なことは、彼らが解決策に到達しないとき、私たちはそれからarbitrarily意的に遠く離れることができます。メタヒューリスティック手法によって解決される問題は、連続的な問題を処理するためのはるかに優れたツールがあるため、本質的に離散的な傾向があります。しかし、ときどき、継続的な問題のメタヒューリスティックも見られます。

  • 数値最適化手法があり、このコミュニティの人々は、最適化される関数の性質とソリューションの制限(凸最適化、2次計画法、線形計画法などのグループへ)を慎重に調べ、示されているアルゴリズムを適用しますそのタイプの機能、およびそれらのタイプの制限に対して機能します。この分野の人々が「働くように見せられた」と言うとき、彼らは証拠を意味します。状況は、これらのタイプのメソッドが継続的な問題で機能することです。しかし、問題がこのカテゴリに該当する場合、これは間違いなく使用するツールです。

  • 離散最適化手法があります。これは、最短経路、最大流量など、よく研究された離散問題のアルゴリズムに接続されているものです。この分野の人々は、アルゴリズムが実際に機能することも保証します。このグループには、高速アルゴリズムが存在しないと予想される本当に難しい問題を研究する人々のサブセットがいます。次に、彼らは近似アルゴリズムを研究します。これは、彼らの解が真の最適の一定因子内にあることを示すことができる高速アルゴリズムです。これは「近似アルゴリズム」と呼ばれます。これらの人々はまた、結果を証明として示しています。

だから...あなたの質問に答えるために、メタヒューリスティックは近似アルゴリズムであるとは思わない。それは意見に関連するものとして私には思えない、それは単なる事実です。


「数値最適化手法」、「離散最適化手法」について、多くのML手法は、「初期検索スペース」が大きくなることを余儀なくされた場合、真の最適化の定数因子内にあることが証明できるようです。これで。

2
同意しません。*数値の最適化のために、局所的な最小値に到達することができます(もちろん、これを不可能にする手順を適用することもできます)。*ニューラルネットワークについても同じです(少なくともパーセプトロンのトレーニング中に発生する可能性があります)。*遺伝的アルゴリズムは局所的な最小値になることもあり、さらに大きな突然変異率を選択した場合、賢明な進化は得られません!IIはまた、特定のモデルに常にbit意的に大きなエラーを発生させるデータセットがあることを強く疑っています。
jb。

2
@vzn多くの人々は、最適なソリューションが見つかるモデルを選択します。これは、SVMと同様に、凸損失関数を使用するためです。ここで真の最適値を見つけるということは、「検索スペースで最適なソリューションを見つける」ことを意味するため、検索スペースがどのように見えるかには関係ありません。jbが言ったように、一般的な損失関数では、真の最適値を見つけることは通常不可能/実行不可能です。
アンドレアスミューラー

この答えを現在の状況とアプリケーションの一般的なカテゴリの説明として受け入れますが、まだ別の領域を結びつける存在が存在し、まだ証明されていないブリッジthmがあると思います。NNが任意の精度で連続数学fnをモデル化または「概算」できるという証拠は密接に関係しています...すなわちkolmogorovs thm
vzn

3

機械学習は、多くの局所的最小値を持つ関数の最適化を扱うことがよくあります。隠れユニットを持つフィードフォワードニューラルネットワークは良い例です。これらの関数が離散的であろうと連続的であろうと、グローバルな最小値を達成して停止する方法はありません。1次元で滑らかな(無限に多くの導関数がある)場合でも、連続関数のグローバルな最小値を見つける一般的なアルゴリズムがないことを証明するのは簡単です。実際には、ニューラルネットワークを学習するためのすべてのアルゴリズムはローカルミニマムにとどまりました。これを確認するのは簡単です。ランダムなニューラルネットワークを作成し、ランダムな入力に対する応答の大きなセットを作成し、同じアーキテクチャを使用して別のニューラルネットワークを学習して応答をコピーします。完璧な解決策が存在しますが、逆伝播も他の学習アルゴリズムもそれを発見することはできません。

シミュレーテッドアニーリングや遺伝的アルゴリズムなどの一部の学習方法では、多くの局所的最小値を探索します。連続関数の場合、勾配降下のようなメソッドがあり、最も近いローカルミニマムを見つけます。それらははるかに高速であるため、実際に広く使用されています。しかし、十分な時間を与えられた場合、前者の方法のグループは、トレーニングセットエラーの点で後者よりも優れています。しかし、現実的な問題については、合理的な時間の制約があるため、通常は後者のグループの方が適しています。

ロジスティック回帰のような一部のモデルでは、1つの局所最小値があり、関数は凸であり、最小化は最小値に収束しますが、モデル自体は単純化されています。

それが苦い真実です。

また、収束の証明と最適なソリューションへの収束の証明は異なるものであることに注意してください。K-meansアルゴリズムはこの例です。

最後に、一部のモデルでは、学習方法がまったくわかりません。たとえば、出力が入力の任意の計算可能な関数である場合、妥当な時間内にこの関数を実装するチューリングまたは同等のマシンを見つける良いアルゴリズムを知りません。たとえば、f(1)= 2、f(2)= 3、f(3)= 5、f(4)= 7、...、f(10)= 29(10個の最初の素数)の場合、合理的な時間内にf(11)= 31を予測できる学習アルゴリズムを知らない。ただし、素数の概念を既に知っている場合を除く。

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