• ベストアンサー

パラメータが9個ある関数(ガウス分布)の最小二乗法による近似

ある画像から輝度ヒストグラムを取ったところ3つのガウス分布が重なっているような形状になりました。 これをサンプルデータとし、それを3つのガウス分布の和で近似しようと考えています。 求めたいパラメータはガウス分布A・B・Cの高さh1・h2・h3、平均値μ1・μ2・μ3、分散σ1・σ2・σ3です。 最小二乗法により解こうと考えましたが9元連立方程式となり、指数関数の内外にパラメータが入っており、1つの方程式自体長くなっていることにより解くことが困難です。 パラメータを求める上での条件は3つです。 ・サンプルデータを1つのガウス分布で近似しその差を取り、さらにその差をガウス分布で近似し差を取り、再びガウス分布で近似するといった方法を取らない ・h1・h2・h3は必ず正の値をとる ・パラメータはあらかじめおおよその値を予想できない これらの条件の下で解くことは可能でしょうか。 もし可能ならその解き方を教えてください。 この時、いくつかの解法の仕方がある場合はできるだけ簡単かつ計算量の少ないものを教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sinisorsa
  • ベストアンサー率44% (76/170)
回答No.1

この問題は、典型的な非線形最適化問題となります。 解析的に解くことはできません。 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)の証明が必要と思います。 あなたの条件には合いませんが、ご参考までに

showpote
質問者

お礼

やはり解析的に解くことはできませんか・・・ 目的としては3つのガウス分布に近似しベイズの決定則により最適な閾値を決定することです。 まずは導関数を使う方法でやってみたいと思います。 わかりやすいアドバイスありがとうございました。

その他の回答 (1)

noname#227064
noname#227064
回答No.2

混合正規分布のパラメータを決める方法として、EMアルゴリズムを使う方法もあります。 繰り返し計算により、パラメータを最尤推定する方法ですが、詳しいところは、参考URLをご覧ください。 この方法も初期パラメータを適当に決めないといけませんが、EMアルゴリズムの場合かなり柔軟に決めていいそうです。

参考URL:
http://www.neurosci.aist.go.jp/~kurita/lecture/statimage/node35.html
showpote
質問者

お礼

アドバイスありがとうございます。 統計的画像処理手法のページを参考にさせていただきます。

関連するQ&A

  • 最小二乗法での線形近似

    excelの最小二乗法による線形近似でわからないことがあります. たとえば,xy平面でデータが散布している状況で・・・ データがほぼ垂直(y軸に平行)に分布している場合,最小二乗法による線形近似がうまくいきません. ばらつきは少ないはずだから,決定係数も高くなると思うのですが,垂直線ではなく斜めの直線が引かれてしまい,決定係数も低くなってしまいます. これは,垂直線だと傾きaの値が∞に大きくなり,データの大きさ(?)上,近似不可能ということなのでしょうか?

  • ベータ分布の正規分布近似について

    二項分布やガンマ分布の正規分布近似は成書によく記載されています。そこで二項分布の仲間であるベータ分布Be(a,b)を正規近似してみようと思いました。 Be(a,b)の平均であるa/(a+b)、分散ab/((a+b)^2*(a+b+1))をそのまま用いN(a/(a+b)、ab/((a+b)^2*(a+b+1)))としたらどうかと思いグラフで見たところ、なるほどa,bがそれぞれ8,9以上になると、モードと平均の差が殆ど無くなり左右対称の釣鐘型に見えてきます。どうやらa,bが大きくなれば正規分布に近づいていきそうだというのはうすうす分かるのですが、このやり方では感覚的に過ぎるのではないかとも思いました。何かスターリングの公式のような近似か、極限を用いて数式的証明をするべきなのでしょうか?それとも実際に色々なa,bの値のもとでグラフ曲線を描き、一々正規曲線を当てはめてみるべきなのでしょうか?それとも二項分布の逆正弦変換のように何かデータを変換させるとかいう方法があるのでしょうか、どうかお教え願います。

  • 最小二乗法とデータのばらつきを除去

    実験データに最小二乗法を適用して近似関数(y=ax+b)を求めたいです。 しかし,実験データにはばらついた値があり,得られた近似関数も それらの値によって,おおきくずれてしまいます。 そこで,何らかの方法でばらついた値を排除していき, 信頼できる近似関数を求めたいと思います。 聞いたところ,正規分布か何らかの方法で, 信頼区間(95%)以外のデータを除去すれば良いと のことですが,具体的な方法が分かりません。 実験データyi,xiと最小二乗法でy(=a*xi+b)から どのような処理をすればよいのか教えてください。 よろしくお願いします。

  • 正規分布の近似確率求め

    σは正規分布のデータしか分からない。 σ1、σ2....σn 値が小→大この順番のn個データを 取った。この五個データの近似確率を求め用の式がひとつ見付かったけど、意味が分からない。  Kε(i)=1-i/(n+1)  この式については どなたが分かれば教えてください。

  • データのヒストグラムに、特定の分布関数を当てはめる意味について。

    データ解析で、度数分布表をヒストグラムにした後、正規分布などの関数でフィッティングした曲線を、そのヒストグラムに付け加えた図をよく見ます。 1. 何故、ヒストグラムを特定の分布関数でフィッティングするんでしょうか?分布関数に含まれる、平均や分散などの値を求めるためでしょうか?それとも、得られたヒストグラムが、特定の分布に従っていることを主張するためでしょうか? 2. また、ヒストグラムに、フィッティングして得られた曲線を付け加えて、学会のポスターや論文の図にしているのは、そうした方が見やすいためでしょうか?または、本来はそのような連続的な曲線になっていると予想されるが、実際のデータは離散的であるので、理想的な曲線を付加しているという意味でしょうか? 自分で考えただけで、人には聞いたことがなく、思い違いしているかもしれないので、回答お願いします。

  • 円の最小二乗法の公式

    いくつかのデータから最小二乗法で近似曲線を求めたいのですが、よくわかりません。そのデータ集の近似曲線は円になります。 最小二乗法を調べ、1次、2次関数についてはわかりました。ある点の座標を(x1,y1), (x2,y2)…、近似曲線上の座標を(x1,y’1),(x2,y’2)… とした時、 (y’1-y1)^2 + (y’2-y2)^2 … が最小となるような係数a,b などを偏微分 → 連立方程式で求めるという方法でした。 円についても、同様の方法で r^2 = (x-a)^2 + (y-b)^2 のような近似曲線の式が求められるのでしょうか?1次関数などのように、y’1-y1を求めようとすると、±√ が出てきてしまい、ややこしくなる気がしますが、これを解くしかないのでしょうか?もしくは別の解法があるのでしょうか?詳しく教えていただけたらと思います。よろしくお願いします。

  • 極小値の判定(最小二乗法)

     最小二乗法でグラフの傾きなどを求める時に、判別式は作らなくてもいいんですか?連立方程式をたてるところまででいいんですか?数学だと2回編微分して判別式を作って0か正か負かでxxの編微分が・・・ということをしなければなりませんが、これはしなくてもいいのですか?差の二乗のの値は正の値でそういったグラフは一意に決まるからという理由からする必要がないのですか?

  • パラメーターが中間のときの近似

    5/23に次のような問題が投稿されていました。  (1/√y) = 2log(x*√y) - 0.8 ...(1) をyについて解く(対数の底は10) 私ならば次の様にします。  y = f(x) + g(y) ...(2) という方程式でg(y)が小さいとみなせるとき、第1近似は  y1 = f(x) これを(2)の右辺に代入して、第2近似は  y2 = f(x) + g(y1) 以下同様に  y[i+1] = f(x) + g(y[i]) これを逐次代入法と呼びます。(厳密にはこれが正しい解に収束することを示さなければなりませんが)。この方法を使うためにはxが大きいときと小さい時に分ける必要があります。Excelで第10近似まで計算したときの結果を下に示します。 xが小さい時1/√yが小さいとみなせる  x   0.05    0.1     1     5  y 2639.5157 688.81421 12.199135 3.5624 残差 -2.2e-16 -2.4e-14  -1.9e-5  -0.61 xが大きい時log(y)が小さいとみなせる  x   5     10    100    1000  y 0.4908 0.8265 0.1694847 0.06260594 残差 1.13 -0.017 -9.0e-5 -1.4e-6 残差というのは近似解を元の方程式(1)に代入したときの左辺ー右辺です。さて、ここでやっと問題です。残差を見れば分かるように、また実際に計算してみれば収束の仕方から分かるようにxが1から10ぐらいの中間の値ではどちらの展開も良い結果を与えません。パラメーターが中間の値のときの良い展開の仕方はないものでしょうか。

  • 3次元混合正規分布のパラメータ推定

    3次元混合正規分布のパラメータ推定 標本(X,Y,Z,値)が大量にあり、これを3次元の混合正規分布で近似しようとしています。 現在、平均や分散などのパラメータの算出をEMアルゴリズムを用いて行おうと考えています。 いろいろ調べて勉強してみましたが、標本をどのように使えばいいか理解することができません。 この標本はどのような形で式につかえばよいでしょうか? そもそもEMアルゴリズムを用いてこの問題を解くことができるのでしょうか? また、この標本をもとにパラメータを決定する代替方法があれば、教えていただけると助かります。 説明不足な点があるかもしれませんが、よろしくお願いします。

  • ガウス分布に対するベイズ推定

    計算・演算が苦手で嫌いな理系大学生です. 質題にもありますが,ガウス分布に対するベイズ推定の計算がほとんど分らない状態で困っているので,この場をお借りして質問させていただきました. 問題は以下の通りです. p(x|u)=N(x|u,b^-1) D={x_1,x_2,・・・,x_N} :観測データ集合 p(u)=N(u|m,a^-1) :uの事前分布 uは未知パラメータ,b,aは精度,m,uは平均,Nはガウス分布とする. このときのベイズ推定でパラメータ推定分布p(u|D)と推定分布p(x|D)を求めよ というものですが,計算が複雑で計算力もないため答えが求まりません. ちなみに答えは p(u|D)=N(u|Um,g^-1) Um=1/(N+λ)*(Σ^N_n=1*x_n+λ*m) g=a+N*b p(x|D)=N(x|Um,a^-1+b^-1) となるらしいです. この計算ができる方にご回答いただけたら幸いです. 詳細な説明もできるだけ含みで,ご回答よろしくお願い致します.