最も急な丘登りよりも確率的な丘登りを選択するのはいつですか?


回答:


3

最も急な山登りアルゴリズムは、凸最適化に適しています。ただし、実際の問題は通常、非凸最適化タイプです。複数のピ​​ークがあります。このような場合、このアルゴリズムがランダムな解で開始すると、グローバルピークではなく、ローカルピークの1つに到達する可能性が高くなります。シミュレーテッドアニーリングなどの改善により、アルゴリズムをローカルピークから遠ざけることができるようになり、グローバルピークが見つかる可能性が高まるため、この問題が改善されます。

明らかに、ピークが1つだけの単純な問題の場合は、最も急な坂登りが常に優れています。グローバルピークが見つかった場合は、早期停止を使用することもできます。対照的に、シミュレートされたアニーリングアルゴリズムは、実際にはグローバルピークからジャンプして戻り、戻って再びジャンプします。これは、十分に冷却されるか、特定の事前設定された回数の反復が完了するまで繰り返されます。

実世界の問題は、ノイズが多く欠落しているデータを扱います。確率的なヒルクライミングアプローチは低速ですが、これらの問題に対してより堅牢であり、最適化ルーチンは、最も急なヒルクライミングアルゴリズムと比較して、グローバルピークに到達する可能性が高くなります。

エピローグ:これは、ソリューションを設計するとき、またはさまざまなアルゴリズムから選択するときに永続的な問題を提起する良い質問です。つまり、パフォーマンスと計算コストのトレードオフです。ご想像のとおり、答えは常にです。アルゴリズムの優先順位に依存します。データのバッチで動作しているオンライン学習システムの一部である場合、時間の制約は強くなりますが、パフォーマンスの制約は弱くなります(次のデータのバッチは、最初のデータのバッチによって導入される誤ったバイアスを修正します)。一方、利用可能なすべてのデータを手元に置いたオフライン学習タスクの場合は、パフォーマンスが主な制約であり、確率論的アプローチが推奨されます。


2

まず、いくつかの定義から始めましょう。
山登りは、単にループを実行する検索アルゴリズムであり、値が増加する方向、つまり上り坂に向かって連続的に移動します。ループはピークに達し、より高い値を持つネイバーがなくなると終了します。

確率的ヒルクライミングは、ヒルクライミングの一種であり、上り坂の動きの中からランダムに選択します。選択の確率は、上り坂の動きの急峻さによって異なります。2つのよく知られている方法は
次のとおりです。*州に多くの後継者(数千、数百万など)がある場合は、良好と見なされます。
ランダムに再開する山登り:「成功しない場合は、もう一度試してみてください」という哲学に基づいています。

さてあなたの答えに。確率的ヒルクライミングは、実際には多くの場合、パフォーマンスが向上します。次のケースを考えてください。この画像は、状態空間の風景を示しています。画像にある例は、「人工知能:現代のアプローチ」という本から引用したものです。

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

現在の状態が示すポイントにいるとします。単純な山登りアルゴリズムを実装すると、極大値に達してアルゴリズムが終了します。より最適な目的関数値を持つ状態は存在しますが、アルゴリズムは極大値でスタックしているため、そこに到達できません。アルゴリズムは、平坦な極大値でスタックすることもあります。
ランダム再起動ヒルクライミングは、ランダムに生成された初期状態からゴール状態が見つかるまで一連のヒルクライミング検索を実行します。

ヒルクライミングの成功は、状態空間の風景の形にかかっています。極大、平坦なプラトーが少ししかない場合。ランダムに再開する山登りは、すぐに適切な解決策を見つけます。実際の問題のほとんどは、状態空間のランドスケープが非常に粗いため、山登りアルゴリズムやそのバリアントの使用には適していません。

注:ヒルクライムアルゴリズム、最大値だけでなく最小値の検索にも使用できます。私は私の回答で最大という用語を使用しました。最小値を探している場合、グラフを含めてすべてが逆になります。


確率的山登りアルゴリズムが実際にどのように機能するかについて詳しく教えていただけますか?
モスタファガディミ

1

私もこれらの概念に不慣れですが、私が理解しているように、確率的ヒルクライミングは、計算時間が貴重な場合(フィットネス関数の計算を含む)にパフォーマンスが向上しますが、最高に到達する必要はありません可能な解決策。ローカルの最適値に達しても問題ありません。スウォームで動作するロボットは、これを使用できる1つの例です。

最も急な山登りで見られる唯一の違いは、隣接ノードだけでなく隣接ノードの後継ノードも検索するという事実です。これは、チェスアルゴリズムが最適な移動を選択する前にさらに多くの移動を検索する方法とよく似ています。


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