4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

テイラー展開した様子を可視化して遊んだ

Posted at

勉強しているとよく出会うやつ

g2oなどの最適化ソルバーを使って仕事したりしてました
面白いなぁーと思ってから,最適化を日々勉強しています

やっていると,

  • 参考書「ここでテイラー展開すると...」
  • (ふむふむ)
  • 参考書「ここでテイラー展開すると...」
  • (ふむふむ...(汗))
  • 参考書「ここでテイラー展開すると...」
  • (参りました)

あれやろ?と思ってスルーしているとその後の説明についていけないことがざらにあります
そんな自分を〜⤴ぶっ壊す👊,と思った次第です

数式

x0における関数f(x)のテイラー展開
2次まで

f(x + x0) = f(x0) + \frac{1}{1!} \, f'(x0) \, (x - x0) + \frac{1}{2!} \, f''(x0) \, (x - x0)^2 + \cdots

ソフト屋さんなら

ノートに書いたりするだけでなく実装して理解していこう!
自分の勉強の歴史をみてニヤニヤしたりできるから復習効果バツグンなはず!

考えた仕様

  • 変更を楽にしよう

    • 関数の種類
    • そのパラメータ
  • クリックしたxの値においてテイラー展開しよう

様子

見栄え良くするために等間隔でx0を変えた様子を表示してます
2次近似まで計算しています

1次関数

y = 5x + 2

line

見にくいですが,オリジナルの軌跡,1次,2次近似した軌跡全て重なっています
テイラー展開する必要ないですね

2次関数

y = -3x^2 - 2x + 5

curve2order

これもに見くいですがオリジナルの軌跡と2次近似した軌跡が重なっています
2次関数であるとわかっている場合は2次近似するモチベーションはないですね

もちろん,1次式でx0近傍の線形的な振る舞いを近似できることは有用です

3次関数

y = x^3 + x^2 + x + 1

curve3order

ここから可視化し甲斐がでてきました
x0付近で傾きの変化が大きい場合は,1次と比べて2次の方が粘り強いのかな...?
(x0から少し離れたとき,2次式の方がオリジナルの軌跡に近いと思った)

ミカエリス・メンテン式

y = \frac{b_1x}{b_2 + x}

mm

ガウス・ニュートン法の例で使われている式です
後半ほぼ変化なしです

この活動をしてよかったこと

  • いろいろな関数の近似した様子を肌で感じることができました
    • 好きなところで近似できるようにしたので,気になるところで近似して考える時間を作ることができました
  • 傾きの変化が激しい部分はより高次の近似ができるとよいと思いました
    • x0から離れるほどオリジナルとの差も大きくなります
  • 分子・分母に変数が含まれているときの微分の式をかなりひさしぶりに計算できました
    • ミカエリスメンテン式のことですね

ソース置き場と使い方

githubに使い方含めて置いています
https://github.com/fugashy/fgs_opt/tree/master/fgs_opt_from_scratch

2019年8月5日現在,無駄にROS2依存です
高機能な3D可視化ソフトでax + by + cz +d = 0のような関数の可視化もしたいという野望があるのでそうしてます
ROS2非依存で実行できるようにはしたいなぁと思っています

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?