テイラー展開
テイラー展開
最適化数学でテイラー展開がたくさん出てきたのでとりあえず実装してみることにしました. 今回はサインカーブを使おうと思います.
1. テイラー展開とは
関数のある一点での導関数の無限和で表されたものをテイラー級数と言います. その、テイラー級数を得るためにテイラー展開を行います. この時、ある一点をとすると、周りのテイラー展開と表現します. 要は、近傍における導関数の無限和をとることを意味します.
ちなみに、原点回りのテイラー展開のことをマクローリン展開といいます(ややこしい...). ここで、このテイラー展開やマクローリン展開について気軽に学べる良書として数学ガールを紹介しておきます. 私は、学部時代はテイラー展開の有難みが全く分かりませんでしたが、この数学ガールを読んでテイラー展開の使いどころを理解できるようになりました.
- 作者: 結城浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2007/06/27
- メディア: 単行本
- 購入: 58人 クリック: 1,055回
- この商品を含むブログ (967件) を見る
無限級数で近似していることになりますので、例えばで止めれば関数を5次関数で近似できることになります. が大きいほど元の関数に近づきます.
また、マクローリン展開は原点回りのテイラー展開のことだったので、上式のにを代入すれば良くて、
と表されます.
ここで、サインカーブに対してマクローリン展開してみたいと思います. は微分していくととなります. また、なのでサインの項が消えます. よってサインカーブのマクローリン展開は、
と規則性が見えてきます. (コサインカーブのマクローリン展開も同様に導くことができます.)
2. 実装例
今回は、サインカーブに限定して実装したので、導関数のところは事前にこちらで用意することにしました(4通りしかないので).
また、sympyというのを使えば、テイラー展開もn次導関数も求めることができますが、今回はnumpyだけを用いています.
かなり見づらいですが、元のサインカーブが青色で他は各次元で近似したものを図示しています.
例えば緑色は1次元で近似しているので、直線になっています. その後次元数を上げると元のサインカーブに近づいていき、11次元の時は大分サインカーブに近づいていることが分かります.
これなら分かる最適化数学ではn変数のテイラー展開について触れていましたが、それはまた別の機会で...