2乗誤差の最小化
注目度
2
閲覧数
2781
解決済
困ってます
このエントリーをはてなブックマークに追加
testa
(6pt)

\int_{-\pi}^{\pi} {\left\ f(x) \right\ dx} = 0

のとき、2乗誤差Jが以下のように与えられたとして、

J = \int_{-\pi}^{\pi} {\left\ \{ f(x)-\sum_{i=0}^{n} (a_{k}cos{kx} + b_{k}sin{kx}) \}^2   \right\ dx}

このJを最初化する、a_{k},b_{k}の求め方を教えてください。
2010-06-14 14:58:10
MachiParu
(37pt)
\sin nx, \cos mx の直交性に注意して,注意深く展開し,0になる項を消してみてください.すると,$f(x)$のフーリエ展開を$n$次で打ち切ったときの係数が出てくるはずです.
3拍手 |
2010-08-01 10:52:00
tsukebo
(32pt)
 答えだけ言ってしまえば,f(x) と三角関数の内積を正規化したものになります.でいいのかな
3拍手 |
2010-08-01 11:23:15
shogo82148
(24pt)
もうちょっとヒントを追加。

最適化問題を解くときのポイントは「最適化したい関数をパラメータで偏微分して、結果が0になる」ようにパラメータを決めることです。

この場合は目的関数Jをパラメータa_k, b_kで偏微分してみればいいわけです。

まずはa_kで偏微分してみましょう。
積分と微分の順序は入れ替えられることに注意すると
\frac{\partial J}{\partial a_{k}} = \int_{-\pi}^{\pi}\frac{\partial}{\partial a_{k}}\left\{ f(x)-\sum_{k=0}^{n}\left(a_{k}\cos kx+b_{k}\sin kx\right)\right\} ^{2}\mathrm{d}x
さらに、合成関数の微分を行えばこんな式になります。
\frac{\partial J}{\partial a_{k}} = \int_{-\pi}^{\pi}2\left\{ f(x)-\left(a_{k}\cos kx+b_{k}\sin kx\right)\right\} \cos kx\mathrm{d}x

ここからさらに展開し、三角関数の直交性を利用して簡単化していくと、a_kf(x)のみの非常に簡単な式で書き表せるはずです。

そこまで計算できたら
\frac{\partial J}{\partial a_{k}}=0
と置けば、フーリエ級数展開で見たことのある式が導出できます。

3拍手 |
2010-08-01 12:19:51
testa
(6pt)
返信遅れて申し訳ありません。
みなんさんありがとうございます。

解き方が解りました。

以下にまとめさせていただきたいと思います。

\frac {\partial{J}} {\partial{a_i}} = 0 より、

\int_{-{\pi}}^{{\pi}}\{f(x)-\sum_{k=1}^{n}(a_{k}\cos(kx)+b_{k}\sin(kx))\}\cos(ix)dx=0

三角関数の直交性より

\int_{-{\pi}}^{{\pi}}\{f(x)\cos(ix)-a_i\cos^2(ix)\}dx = 0

\int_{-{\pi}}^{{\pi}}f(x)\cos(ix)dx = \pi a_i


よって、

a_i = \frac{1}{\pi}\int_{-{\pi}}^{{\pi}}f(x)\cos(ix)dx


b_i も同様にして、

\frac {\partial{J}} {\partial{b_i}} = 0

から求められ、

b_i = \frac{1}{\pi}\int_{-{\pi}}^{{\pi}}f(x)\sin(ix)dx

となる。

以上です。
ありがとうございました!!
2010-09-11 20:23:56
一言投稿 (Q&Aに関して、思ったことなどをつぶやいてみよう!)
一言投稿はまだありません

そのままでしばらくお待ちください


しばらくたっても変わらない場合はキャンセルしてください

キャンセル

以下の内容で回答を投稿します

よろしいですか?

回答内容

回答の投稿が完了しました

こちらからご確認ください