スキップしてメイン コンテンツに移動

Taylor Expannsion

Introdction


Today, I introduce Taylor Expansion.
I write not only One dimensional Taylor Expansion but also Multi dimensional Taylor Expansion.

One dimensional Taylor Expansion

f(X) is continuously differentiable for n-times on (a,b)
f(x) is expressed following.
\[\exists c ~~s.t~~ f(b) = \sum_{k=0}^{n-1} f^{(k)}(a)\frac{(b-a)^k}{k!} + f^{(n)}(c) \frac{(b-a)^n}{n!}, c \in (a,b)\]
This is called Maclaurin Expansion.
The last item is called Remainder term.

Multi dimensional Taylor Expansion

Multi dimensional Taylor Expansion is complex.
f is n-variable function.
f is continuously differentiable for m-times.
\(f(x_1+h_1,x_2+h_2,.....,x_n+h_n)\) is expressed following.
\[\exists \theta ~~s.t~~\]
\[f(x_1+h_1,x_2+h_2,...,x_n+h_n)=f(x_1,x_2,...,x_n) + \]
\[\sum_{m=0}^{n-1} \frac{1}{m-1} \sum_{k_1=1}^{n} \sum{k_2=1}^{n} ... \sum{k_{m-1}=1}^{n} \frac{\partial^{m-1} f}{\partial x_{k_1} \partial x_{k_2} .... \partial x_{k_{m-1}} }(x_1,x_2,..,x_n)h_{k_1}h_{k_2} ..... h_{k_m-1} \]
\[+ \frac{1}{m} \sum_{k_1=1}^{n} \sum_{k_2=1}^{n} ... \sum_{k_m=1}^{n} \frac{\partial^{m} f}{\partial x_{k_1} \partial x_{k_2} ... \partial x_{k_m} }(x_1 + \theta h_1, x_2 + \theta h_2,...., x_n + \theta h_n) h_k{k_1}h_{k_2}....h_{k_n}\]
Last item is Remainder term in Multi Taylor Expansion.

Proof

I prove only one dimensional Taylor Expansion.
This proof is used by Rolle’s theorem.
Rolle's Theorem is this page
To assume f(x) is continuously differentiable for n-times on (a,b).
This thorem is proved by founding A such that
\[f(b) = \sum_{k=}^{n-1} f^{(k)} (a) \frac{(b-a)^k}{k!} + A \frac{(b-a)^n}{n!}\]
Now, I define following function such that
\[g(x) = f(b) - \sum_{k=0}^{n-1} f^{(k)}(x) \frac{(b-a)^k}{k!} - A \frac{(b-x)^n}{n!}\]
This g(x) fulfill following.
  • g(a) = 0
  • g(b) = 0
Thus, by Rolle’s theorem
\[\exists c \in (a,b) ~~s.t~~ g'(c) = 0\]
\[\begin{eqnarray*} g'(x) &=& - \sum_{k=0} ^{n-1} f^{(k+1)} (x) \frac{(b-x)^k}{k!} + \sum_{k=1}^{n-1} f^{(k)} (x) \frac{(b-x)^{k-1}}{(k-1)!} + A \frac{(b-x)^{n-1}}{(n-1)!} \\ &=& -\sum_{k=1}^{n} f^{(k)} (x) \frac{(b-x)^{n-1}}{(k-1)!} + \sum_{k=1}^{n-1} f^{(k)} (x) \frac{(b-x)^{k-1}}{(k-1)!} + A \frac{(b-x)^{n-1}}{(n-1)!}\\ &=& -f^n (x) \frac{(b-x)^{n-1}}{(n-1)!} + A \frac{(b-x)^{n-1}}{(n-1)!} \end{eqnarray*}\]
I substitiute c for x on this form.
\[g'(c) = \frac{(b-x)^{n-1}}{(n-1)!} (A - f^{(n)}(x))\]
\[A = f^{(n)}(x)\]
Q.E.D

Reference
https://mathtrain.jp/taylortheorem
http://www.ne.jp/asahi/search-center/internationalrelation/mathWeb/Differentiation/TheoremsDffrntlNvarFnctn/TaylorTheorem.htm




コメント

このブログの人気の投稿

カーネルK-means 理論編

Introduction English ver 今日は、カーネルK-meansの理論について書きます。カーネルK-meansは通常のK-meansの欠点を補うことができます。通常のK-meansの欠点とカーネルK-meansの強みも説明します。もし、まだ御覧になられていなければ、通常の K-means 理論編 の記事を見ていただけるとよいのではないかと思います。 カーネルK-meansの実装編 も併せてご覧ください。 概要 K-meansの弱点 カーネルトリック カーネルK-means アルゴリズム K-meansの弱点 例えば、次のようなデータを用意します。 このデータはK-meansによってうまく分類することはできません。なぜなら通常のK-meansでは、データとプロトタイプのユークリッド距離に依存しているからです。そのため、このような円状に分布しているデータはうまく分類することができません。 プロトタイプとはそれぞれのクラスにあり、そのクラスを代表するようなもののことです。K-meansでは各クラスの平均ベクトルとなります。それゆえ、以下のような分類になってしまいます。 このようなデータではK-meansはうまくいきません。 K-meansで分類できるデータセットは次のように各クラスで固まっている必要があります。 カーネルK-meansはK-meansの弱点を補います。 カーネルトリック 初めに、カーネルトリックを説明します。 線形分離できないようなデータ$X$を例えば次のように線形分離できるように$\phi(x)$に送る写像$\phi$を考えます。 カーネルは次のように定義されます。 $$K(x,y) = \phi(x)^T \phi(y)$$ $\phi$を具体的に計算することは難しいですが、$K(x,y)$を計算することなら簡単です。 この手法をカーネルトリックと呼ばれます。 カーネルK means K-meansの目的関数を復習しておきます。 $$J = \sum_{n=1}^{N} \sum_{k=1}^{K} r_{nk} ||x_n-\mu_k||^2$$ ここで、 プロトタイプは$\mu_i ~\forall k \in K$としま...

K-means 理論編

Introduction English ver 今日はK-meansアルゴリズムの理論について書きます。 K-meansアルゴリズムはクラスタリングのためのアルゴリズムです。 K-meansの実装の記事は カーネルK-meansの実装 を御覧ください。 この記事はカーネルK-menasの実装についての記事ですが、通常のK-meansの実装も行っています。カーネルK-meansについてはまた、今度別の記事で紹介したいと思います。 概要 1 of K 符号化法 プロトタイプ 歪み尺度 最適化 1 of K 符号化法 K-meansはK個のクラスについて分類することを考えます。 K-meansでは $x_n$がkのクラスに属していることを次のように表します。 ベクトル$r_n:1 \times K$ を $$r_n := (0,0,..,1,..,0)$$ このベクトルはk番目にのみ1を持ち、それ以外は0を要素に持つようなベクトルです。 こののような表現の仕方を1 of K符号化法と呼びます。 プロトタイプ K-meansではプロトタイプと呼ばれるベクトルを選びます。このベクトルは各クラスに一つあり、そのクラスの代表のようなベクトルです。 K-means ではそのようなベクトルは各クラスの平均ベクトルとなります。これは目的関数から自然と導かれます。 歪み尺度 プロトタイプベクトルを $\mu_i ~\forall k \in K$とします。 この時、k-meansの目的関数は次のようになります。 $$J = \sum_{n=1}^{N} \sum_{k=1}^{K} r_{nk} ||x_n-\mu_k||^2$$ ここで、 $r_{nk}$ は$r_n$のk番目の要素です。 この目的関数について少し説明をします。$r_{n}$は$x_n$が属しているクラスのラベルの場所だけ1で他は0であるので、 $$J = \sum_{n=1}^{N} ||x_n - \mu_{x_n}||$$ ここで、$\mu_{k_n}$は$x_n$が属しているクラスのプロトタイプです。 よって、 $$J = ||x_1 - \mu_{x_1}|| + ||x_2 -\mu_{x_2}|| + ...

カーネルk-meansの実装

Introduction   English ver 今日はカーネルk-meansの実装をしました。k-menasアルゴリズムはクラスタリングのためのアルゴリズムです。僕がカーネルk-meansを実装しようと思ったのには一つ理由があります。それは僕の友人がk-meansのプレゼンを、僕がカーネルのプレゼンをしていた時に、k-meansにカーネルを適応できないかと思ったからです。そこで、カーネルk-meansについての論文を探しました。 ここのpdf を主に参考にさせていただきました。うまくカーネルk-meansを実装できたと思います。ここでは、普通のk-meansとカーネルを用いた,kernel k-meansについての実装の結果を紹介します。 また、この記事では実装結果のみ書きますが、理論のほうも別の記事で書くつもりです。書き終えたらリンクをこの記事にも貼っておきます。 #  理論編書きました。K-means 理論編 概要 dataset   ちょっとだけ理論の説明  k-means    kernel k-means   Dataset   English ver 今回使うのは二つのデータセットです。一つ目は、普通のk-means用のデータです。二つ目はkernel k-means用のデータセットです。 一つ目のデータは、三つのグループで構成されており、次元は2で、サンプル数は300です。以下のような分布になっています。 二つ目のデータは二つのグループで構成されており、次元は2でサンプル数は300です。   this page にデータセットを作ったコードを載せています。 ちょっとだけ理論の説明 k-meansとは、k-平均法とも呼ばれています。初めに、適当なクラスに分け、各クラスの中で平均となるベクトルを求めます。そして、各データに対して、すべての平均ベクトルとの距離を求めます。そして、最小となる距離になるクラスに改めて、そのデータをクラスタリングします。そして、新たに得られたクラスの中でそれぞれ平均ベクトルを求め、これを繰り返し、平均ベクトルが動かな...