質問
解答
NM法(ネルダーミード法、Nelder-Mead method)とは、関数の最小値(または最大値)を求めるための数値最適化アルゴリズムの一つです。特に、関数の導関数(勾配)を必要としない最適化手法として知られています。
【概要】
【用途の例】パラメータ調整(機械学習、経済モデル) 実験設計や工学最適化 勾配が得られない、またはノイズの多い関数の最適化
【基本的な仕組み】NM法では、「単体(シンプレックス、simplex)」と呼ばれる**n+1n+1 個の点で構成される図形**(2次元なら三角形、3次元なら四面体)を使って探索を行います。 探索手順の概要: 初期の単体(n+1点)を選ぶ 最も悪い点(関数値が最大)を他の点を基準にして動かす 反射(reflection) 拡張(expansion) 収縮(contraction) 縮小(shrink)
単体を変形しながら最小値に収束していく
【図解イメージ(2次元の場合)】
【メリット】
【デメリット】
【実装例(Python: SciPy)】from scipy.optimize import minimizedef f(x): return x[0]**2 + x[1]**2 + 3result = minimize(f, [1, 1], method='Nelder-Mead')print(result.x) # 最小点
【まとめ】NM法(ネルダーミード法)とは、勾配を使わずに関数の最小値を探索するための古典的な数値最適化手法です。 特に、関数の形が複雑・ノイズがある・微分できない場合に役立ちます。反面、高次元や精度が重要な問題には向きません。
|
【下記、広告です。クリックいただけると励みになります。】