最適化アルゴリズムが他の最適化問題に関して定義されているのはなぜですか?


23

機械学習の最適化手法に関するいくつかの研究を行っていますが、他の最適化問題に関して多数の最適化アルゴリズムが定義されていることに驚いています。以下にいくつかの例を示します。

たとえば、https://arxiv.org/pdf/1511.05133v1.pdf

ここに画像の説明を入力してください

すべてが素晴らしくて良いように見えが、更新にはこのがあります。...を解決するアルゴリズムは何ですか?私たちは知りません、そしてそれは言いません。魔法のように、内積が最小になるように最小化ベクトルを見つけるという別の最適化問題を解決します。これはどのように行うことができますか?z k + 1 argminargminxzk+1argmin

別の例をご覧くださいhttps : //arxiv.org/pdf/1609.05713v1.pdf

ここに画像の説明を入力してください

アルゴリズムの途中でその近位の演算子をヒットするまで、すべてが素晴らしくて見栄えがよく、その演算子の定義は何ですか?

ブーム:ここに画像の説明を入力してください

さて、近位オペレーターでこのをどのように解決したらよいでしょうか。それは言いません。いずれにせよ、その最適化問題はが何であるかに応じて困難に見えます(NP HARD)。 fargminxf

誰かが私に啓発してください:

  1. なぜ他の最適化問題に関して非常に多くの最適化アルゴリズムが定義されているのですか?

(これはある種の鶏と卵の問題ではありません。問題1を解決するには、問題3を解決する方法を使用して問題2を解決する必要があります。

  1. これらのアルゴリズムに組み込まれているこれらの最適化問題をどのように解決しますか?たとえば、、右側のを見つける方法は?xk+1=argminxreally complicated loss function

  2. 最終的に、これらのアルゴリズムを数値的に実装する方法について私は困惑しています。ベクトルの追加と乗算はPythonでは簡単な操作であると認識していが、については、関数の最小化を魔法のように与える関数(スクリプト)はありますか?argminx

(報奨金:著者が高レベル最適化アルゴリズムに埋め込まれた副問題のアルゴリズムを明確にしている論文を参照できますか?)


これは関連する可能性があります。
GeoMatt22

1
副次問題が存在するだけでなく潜在的にNP困難であることに重点を置いた場合、あなたの質問はもっと良くなると思います。
-Mehrdad

おっと...「NP-hardness」は私の最後のコメントで「NP-hard」と言ったはずです。
-Mehrdad

バウンティリクエストで要求されているように、参照を提供する私の回答の編集2を参照してください。
マークL.ストーン

回答:


27

トップレベルのアルゴリズムのフローチャートを見ています。フローチャートの個々のステップのいくつかは、独自の詳細なフローチャートに値する場合があります。ただし、簡潔さを重視した公開論文では、多くの詳細が省略されていることがよくあります。「旧式」と見なされる標準的な内部最適化問題の詳細は、まったく提供されない場合があります。

一般的な考え方は、最適化アルゴリズムでは、一連の一般的に簡単な最適化問題の解決が必要になる場合があるということです。トップレベルのアルゴリズム内に3つまたは4つのレベルの最適化アルゴリズムがあることも珍しくありませんが、それらの一部は標準オプティマイザーの内部にあります。

(階層レベルの1つで)アルゴリズムをいつ終了するかを決定する場合でも、サイド最適化の問題を解決する必要があります。たとえば、非負制約の線形最小二乗問題を解いて、最​​適性を宣言するタイミングを決定するために使用されるKKT最適性スコアの評価に使用されるラグランジュ乗数を決定できます。

最適化の問題が確率的または動的である場合、最適化の階層レベルがさらに追加される可能性があります。

以下に例を示します。逐次二次計画法(SQP)。初期最適化問題は、問題のラグランジアンの二次近似である目的をもつ初期点から開始し、制約の線形化により、Karush-Kuhn-Tucker最適条件を繰り返し解くことによって処理されます。結果の二次計画(QP)が解かれます。解決されたQPには信頼領域の制約があるか、次の反復を見つけるために、現在の反復からQPの解まで線探索が実行されます。それ自体が最適化問題です。準ニュートン法を使用している場合、ラグランジアンのヘッセ行列に対する準ニュートン更新を決定するために最適化問題を解決する必要があります-通常、これはBFGSやSR1などの閉形式の公式を使用した閉形式最適化です しかし、数値の最適化である可能性があります。次に、新しいQPが解決されます。開始など、QPが実行不可能な場合、最適化問題が解決されて実行可能点が見つかります。一方、QPソルバー内で呼び出される内部最適化問題のレベルは1つまたは2つあります。各反復の終わりに、非負の線形最小二乗問題を解いて最適性スコアを決定する場合があります。等。

これが混合整数問題である場合、より高いレベルのアルゴリズムの一部として、この分岐全体が各分岐ノードで実行される可能性があります。同様にグローバルオプティマイザーの場合、ローカル最適化問題を使用してグローバル最適解の上限を作成し、次にいくつかの制約の緩和を行って下限最適化問題を作成します。1つの混合整数またはグローバル最適化問題を解決するために、分岐および境界からの数千または数百万もの「簡単な」最適化問題が解決される場合があります。

これにより、アイデアが得られるはずです。

編集:私の答えの後に質問に追加された鶏と卵の質問への応答:鶏と卵の問題がある場合、それは明確に定義された実用的なアルゴリズムではありません。私が挙げた例では、鶏と卵はありません。より高いレベルのアルゴリズムステップは、定義済みまたは既に存在する最適化ソルバーを呼び出します。SQPはQPソルバーを繰り返し呼び出してサブ問題を解決しますが、QPソルバーは元の問題よりも簡単な問題QPを解決します。さらに高いレベルのグローバル最適化アルゴリズムがある場合、SQPソルバーを呼び出してローカルの非線形最適化サブ問題を解決し、SQPソルバーはQPソルバーを呼び出してQPサブ問題を解決します。チキンと卵はありません。

注:最適化の機会は「どこでも」です。最適化アルゴリズムを開発している専門家などの最適化の専門家は、平均的なJoeやJaneよりも、こうした最適化の機会を見て、そのように見ている可能性が高くなります。そして、アルゴリズム的に傾いているため、当然ながら、低レベルの最適化アルゴリズムから最適化アルゴリズムを構築する機会があります。最適化問題の定式化と解決は、他の(より高いレベルの)最適化アルゴリズムの構成要素として機能します。

編集2:OPによって追加されたバウンティリクエストへの応答。SQP非線形オプティマイザーSNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdfを説明する論文では、SNOPTのQPサブ問題を解決するために使用されているQPソルバーSQOPTが個別に文書化されています。


2

私はマークの答えが好きですが、基本的に最適化アルゴリズムの上で実行できる「シミュレーテッドアニーリング」について言及します。高レベルでは、次のように機能します。

それは、熱く始まる「温度」パラメータを持っています。熱いうちに、下位の最適化アルゴリズムが指す場所から頻繁に離れます(さらに離れます)。冷却されると、従属アルゴリズムのアドバイスに従い、ゼロになると、ローカルの最適化が行われます。

直感的には、最初に空間を広く検索し、最適な場所を探すための「より良い場所」を探します。

ローカル/グローバル最適問題に対する実際の一般的な解決策はないことがわかっています。すべてのアルゴリズムには盲点がありますが、多くの場合、このようなハイブリッドはより良い結果をもたらすようです。


「メタアルゴリズム」のこのカテゴリは、メタヒューリスティックと呼ばれることもあります。
GeoMatt22

@ GeoMatt22私が学部生として定式化した発見的証明または発見的議論の定義は次のとおりです。同様に、ヒューリスティックアルゴリズムは任意のアルゴリズムまたはその欠如であり、解決すべき問題を正しく解決しないことが保証されていません。
マークL.ストーン

クロック停止」ヒューリスティックのような?Neumaier(2004)の分類法を説明ここで、合理的なようです。
GeoMatt22

ハイブリッドオプティマイザーまたはメタヒューリスティックに言及する場合は+1。理論と論文では非常に優れていますが、工学最適化でよく遭遇する現実世界のマルチモーダル複雑な目的関数の解決には向いていません。
予報官

@forecasterには、問題に応じてさまざまなアプローチがあります。ディープラーニングやPDEベースの最適化など、多くの実際のアプリケーションでは非常に成功する可能性があるため、「デリバティブベースのオプティマイザー」をあまりにも割引きしないように注意します。(ここでは、派生物のない代替案を含むいくつかの議論。)
GeoMatt22

2

私があなたの欲望を満足させる参照はここにあると思う。セクション4-モダンベイジアン計算の最適化に進みます。

TL; DR-近位方法について説明します。このような方法の利点の1つは分割です-簡単なサブ問題を最適化することで解決策を見つけることができます。多くの場合(または、少なくとも時には)、特定の近位機能を評価するための特殊なアルゴリズムが文献で見つかる場合があります。彼らの例では、彼らはイメージのノイズ除去を行います。手順の1つは、Chambolleによる非常に成功した引用の多いアルゴリズムです。


2

これは多くの最適化ペーパーで非常に一般的であり、一般性に関係しています。著者は通常、この方法でアルゴリズムを記述して、関数fに対して技術的に機能することを示します。ただし、実際には、これらの副問題を効率的に解決できる非常に特殊な機能にのみ有用です。

たとえば、今、私は2番目のアルゴリズムについてのみ話している、あなたが近位演算子(実際には解決するのが非常に難しいことがある別の最適化問題に注意した)を見るときはいつも、それはアルゴリズムが効率的であるための順序。これは、l1ノルム、グループノルムなど、機械学習で関心のある多くの機能にとって非常に重要です。これらの場合、近位演算子の明示的な式の副問題を置き換えることになり、その問題を解決するアルゴリズムは必要ありません。

それらがこのように書かれている理由については、別の関数を思いついてそのアルゴリズムを適用したい場合、最初に、近位が閉形式の解を持っているか、効率的に計算できるかどうかを確認してください。その場合は、数式をアルゴリズムにプラグインするだけで準備完了です。前述のように、これにより、アルゴリズムが最初に公開された後に現れる可能性がある将来の機能に適用できるアルゴリズムが十分に一般的であり、それらを計算するための効率的なアルゴリズムの近位表現が保証されます。

最後に、例として、古典的なFISTAアルゴリズムの元の論文を取り上げます。これらは、2つの非常に特殊な関数、2乗損失とl1-ノルムのアルゴリズムを導き出します。しかし、彼らは、いくつかの前提条件を満たしている限り、どの関数も適用できないことに注意します。その1つは、正規化されたものの近位を効率的に計算できることです。これは理論的な要件ではなく、実用的な要件です。

この区分化により、アルゴリズムが一般的になるだけでなく、分析も容易になります。この特性を持つサブ問題のアルゴリズムが存在する限り、提案されたアルゴリズムはこの収束率などを持ちます。

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