- ベストアンサー
パラメータが9個ある関数(ガウス分布)の最小二乗法による近似
ある画像から輝度ヒストグラムを取ったところ3つのガウス分布が重なっているような形状になりました。 これをサンプルデータとし、それを3つのガウス分布の和で近似しようと考えています。 求めたいパラメータはガウス分布A・B・Cの高さh1・h2・h3、平均値μ1・μ2・μ3、分散σ1・σ2・σ3です。 最小二乗法により解こうと考えましたが9元連立方程式となり、指数関数の内外にパラメータが入っており、1つの方程式自体長くなっていることにより解くことが困難です。 パラメータを求める上での条件は3つです。 ・サンプルデータを1つのガウス分布で近似しその差を取り、さらにその差をガウス分布で近似し差を取り、再びガウス分布で近似するといった方法を取らない ・h1・h2・h3は必ず正の値をとる ・パラメータはあらかじめおおよその値を予想できない これらの条件の下で解くことは可能でしょうか。 もし可能ならその解き方を教えてください。 この時、いくつかの解法の仕方がある場合はできるだけ簡単かつ計算量の少ないものを教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
この問題は、典型的な非線形最適化問題となります。 解析的に解くことはできません。 3つのガウス分布の和の形で与えた式g(x)と実測値f(x)の間の 平均2乗誤差を評価関数とするとよいでしょう。 ただし、パラメータを変換しておきましょう。 (1)h1,h2,h3≧0のためには、代わりにs1,s2,s3を使い h1 = (s1)^2, h2=(s2)^2, h3=(s3)^2 (2)σ1、・・・の方は、2乗するので、そのままにしましょう。 これで、拘束条件なしの最適化問題になりました。 評価関数は、 J(s1,s2,s3,μ1,μ2,μ3,σ1,σ2,σ3) =∫|f(x)-g(x|s1,・・・,σ3)|^2 dx ≒Σ_i{|f(x_i)-g(x_i|s1,・・・,σ3)|^2}Δx x_iはヒストグラムのサンプル点です。 Jの導関数を使う方法と使わない方法があります。 使わない方法では、Hooke&Jeeves法があります。 (Hooke Jeevesで検索すると、Cのプログラムが見つかる かも) これは、パラメータを1つずつ±に少し変化させ、減少する 方向へ移動していくことを原理とする方法です。パターン サーチ法のひとつです。 導関数を使う場合は、パラメータベクトルをwとすると、 w(n+1)=w(n)-∇_w J(w(n)) いずれにしても、初期値は適当に決める必要があります。 まったく分からない場合は、ランダムに決めざるを得ません。 繰り返し近似法ですから、計算量の評価は難しい。 なお、パラメータ群を推定することが目的ですか または、関数近似が目的ですか。 パラメータ群の推定が目的ならば、パラメータの唯一性 (Identifiability)の証明が必要と思います。 あなたの条件には合いませんが、ご参考までに
その他の回答 (1)
混合正規分布のパラメータを決める方法として、EMアルゴリズムを使う方法もあります。 繰り返し計算により、パラメータを最尤推定する方法ですが、詳しいところは、参考URLをご覧ください。 この方法も初期パラメータを適当に決めないといけませんが、EMアルゴリズムの場合かなり柔軟に決めていいそうです。
お礼
アドバイスありがとうございます。 統計的画像処理手法のページを参考にさせていただきます。
お礼
やはり解析的に解くことはできませんか・・・ 目的としては3つのガウス分布に近似しベイズの決定則により最適な閾値を決定することです。 まずは導関数を使う方法でやってみたいと思います。 わかりやすいアドバイスありがとうございました。