平方根関数の微分|基本関数の微分の公式を定義から導出する #5

f:id:lib-arts:20210213195311p:plain

指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#4では分数関数の微分に関して取り扱いました。

#5では平方根関数の微分に関して取り扱いたいと思います。

以下、目次になります。
1. f(x)=\sqrt{x}微分の導出
2. f(x)={}^n\sqrt{x}微分の導出
3. まとめ


1. f(x)=\sqrt{x}微分の導出
1節では定義に基づいたf(x)=\sqrt{x}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{\sqrt{x+h}-\sqrt{x}}{h}
  \displaystyle = \lim_{h \to 0} \frac{(\sqrt{x+h}-\sqrt{x})(\sqrt{x+h}+\sqrt{x})}{h(\sqrt{x+h}+\sqrt{x})}
  \displaystyle = \lim_{h \to 0} \frac{x+h-x}{h(\sqrt{x+h}+\sqrt{x})}
  \displaystyle = \lim_{h \to 0} \frac{h}{h(\sqrt{x+h}+\sqrt{x})}
  \displaystyle = \lim_{h \to 0} \frac{1}{\sqrt{x+h}+\sqrt{x}}
  \displaystyle = \frac{1}{\sqrt{x}+\sqrt{x}}
  \displaystyle = \frac{1}{2\sqrt{x}}

ここまでの議論により、\displaystyle (\sqrt{x})' = \frac{1}{2\sqrt{x}}が導出できます。

これは(x^{\alpha})' = \alpha x^{\alpha-1}を満たしており、ここでの導出は公式が整数以外でも成立することを示す一つの例と見ることもできます。

 

2. f(x)={}^n\sqrt{x}微分の導出
2節では定義に基づいたf(x)={}^n\sqrt{x}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{{}^n\sqrt{x+h}-{}^n\sqrt{x}}{h}
  \displaystyle = \lim_{h \to 0} \frac{({}^n\sqrt{x+h}-{}^n\sqrt{x})(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}{h(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}
  \displaystyle = \lim_{h \to 0} \frac{x+h-x}{h(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}
  \displaystyle = \lim_{h \to 0} \frac{h}{h(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}
  \displaystyle = \lim_{h \to 0} \frac{1}{({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1}}
  \displaystyle = \frac{1}{n({}^n\sqrt{x})^{n-1}}

ここまでの議論により、\displaystyle ({}^n\sqrt{x})' = \frac{1}{n({}^n\sqrt{x})^{n-1}}が導出できます。

また、ここでの導出も(x^{\alpha})' = \alpha x^{\alpha-1}を満たしていることが確認できます。

 

3. まとめ
#5では平方根関数の定義に基づく微分について確認しました。
n乗根の計算は因数分解の公式を知っていないと導出は難しいですが、このような項を一つずつずらす発想は等比数列の和の計算でも出てくるので考え方を抑えておくと良いかと思います。

概要の把握と表記の確認|ベクトル解析を確認する #1

f:id:lib-arts:20210213195311p:plain

ベクトル解析(vector calculus)は応用的な視点から数学を用いる際によく出てくるトピックです。が、カリキュラムによって取り扱うタイミングが異なるようなので、基本的なトピックをまとめることとしました。
#1では簡単に概要の把握について行います。下記を主に参考にします。

物理数学I ベクトル解析 - Wikibooks

以下が目次となります。
1. ベクトル解析の概要
2. graddivrotについて
3. まとめ


1. ベクトル解析の概要
1節ではベクトル解析の概要について確認します。

物理数学I ベクトル解析 - Wikibooks

主に上記を参考にしますが、「ベクトル解析」は主に多変数関数の微積分を取り扱う分野であると把握しておけば一旦十分だと思います。
具体的にも確認できればということで、あるスカラー関数f(x,y,z)xyz方向にそれぞれ微分を行うと考えます。

\displaystyle \left(\begin{array}{c} \frac{\delta f(x,y,z)}{\delta x} \\ \frac{\delta f(x,y,z)}{\delta y} \\ \frac{\delta f(x,y,z)}{\delta z} \\ \end{array} \right)

この微分は上記のように表せます。2節でも取り扱いますが、これはfの勾配と呼ばれ、grad fとも表されます。ここで\displaystyle \frac{\delta f(x,y,z)}{\delta x}スカラー関数f(x,y,z)xに関する偏微分です。

直感的なイメージがつかめるように具体的な関数についても確認します。f(x,y) = x^2+y^2を考えた際にgrad fは下記のように計算できます。

\displaystyle grad f = \left(\begin{array}{c} \frac{\delta f(x,y)}{\delta x} \\ \frac{\delta f(x,y)}{\delta y} \\ \end{array} \right)
  \displaystyle = \left(\begin{array}{c} 2x \\ 2y \\ \end{array} \right)

これを元に関数f(x,y)を考えると、f(x)=x^2と同様に考えて(0,0)を最下点とする下に凸な平面を構成していることがなんとなく想像できるかと思います。

大体のベクトル解析の概要と具体例について確認できたので1節はここまでとします。


2. graddivrotについて
2節では1節で出てきたgradに関連して、同様に使われる表記であるdivrotなどについて取り扱います。ここではスカラー関数をf(x,y,z)のように表すとします。
まず1節で取り扱った勾配のgrad fについては下記のように表します。

\displaystyle grad f = \nabla f = \left(\begin{array}{c} \frac{\delta f(x,y,z)}{\delta x} \\ \frac{\delta f(x,y,z)}{\delta y} \\ \frac{\delta f(x,y,z)}{\delta z} \\ \end{array} \right)

上記がgrad fで、基本的には1節で取り扱った内容と同様ですが、ここで\nablaという記号を導入したところは1節とは異なる点です。\nabla\displaystyle \nabla = \left(\begin{array}{c} \frac{\delta}{\delta x} \\ \frac{\delta}{\delta y} \\ \frac{\delta}{\delta z} \\ \end{array} \right)を表す演算子であると抑えておけば十分だと思います。

次にdivについて取り扱います。divはベクトル\displaystyle \vec{a} = \left(\begin{array}{c} a_x \\ a_y \\ a_z \\ \end{array} \right)に作用する演算で、下記のように定義されます。

\displaystyle div \vec{a} = \nabla \cdot \vec{a}
  \displaystyle = \frac{\delta a_x}{\delta x} + \frac{\delta a_y}{\delta y} + \frac{\delta a_z}{\delta z}

上記の演算は発散(divergence)の計算を意味しており、「ある点から流れ出す 粒子や場の束の和」を表しています。詳しくは下記などを参照いただけたらと思います。

物理数学I ベクトル解析 - Wikibooks

rotについても取り扱います。rotdivと同様にベクトル\displaystyle \vec{a} = \left(\begin{array}{c} a_x \\ a_y \\ a_z \\ \end{array} \right)に作用する演算で、下記のように定義されます。

\displaystyle rot \vec{a} = \nabla \times \vec{a}
  \displaystyle = \left(\begin{array}{c} \frac{\delta a_z}{\delta y}-\frac{\delta a_y}{\delta z} \\ \frac{\delta a_x}{\delta z}-\frac{\delta a_z}{\delta x} \\ \frac{\delta a_y}{\delta x}-\frac{\delta a_x}{\delta y} \\ \end{array} \right)

rotについてはここでは演算の定義の確認にとどめるので、詳しくは下記などを参照いただけたらと思います。

物理数学I ベクトル解析 - Wikibooks


3. まとめ
#1ではベクトルの微分について概要の把握と表記の確認を行いました。
#2では2次形式の微分について取り扱います。

分数関数の微分|基本関数の微分の公式を定義から導出する #4

f:id:lib-arts:20210213195311p:plain

指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#1では指数関数の微分、#2では対数関数の微分、#3では三角関数微分について取り扱いました。

#4では分数関数の微分に関して取り扱いたいと思います。

以下、目次になります。
1. \displaystyle f(x) = \frac{1}{x}微分の導出
2. \displaystyle f(x) = \frac{1}{x^n}微分の導出
3. まとめ


1. \displaystyle f(x) = \frac{1}{x}微分の導出
1節では定義に基づいた\displaystyle f(x) = \frac{1}{x}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{\frac{1}{x+h}-\frac{1}{x}}{(x+h)-x}
  \displaystyle = \lim_{h \to 0} \frac{\frac{1}{x+h}-\frac{1}{x}}{h}
  \displaystyle = \lim_{h \to 0} \frac{x-(x+h)}{hx(x+h)}
  \displaystyle = \lim_{h \to 0} \frac{x-(x+h)}{hx(x+h)}
  \displaystyle = \lim_{h \to 0} \frac{-h}{hx(x+h)}
  \displaystyle = \lim_{h \to 0} \frac{-1}{x(x+h)}
  \displaystyle = -\frac{1}{x^2}

ここまでの議論により、\displaystyle \left( \frac{1}{x} \right)' = -\frac{1}{x^2}が導出できます。

 

2. \displaystyle f(x) = \frac{1}{x^n}微分の導出
2節では定義に基づいた\displaystyle f(x) = \frac{1}{x^n}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{\frac{1}{(x+h)^n}-\frac{1}{x^n}}{(x+h)-x}
  \displaystyle = \lim_{h \to 0} \frac{\frac{1}{(x+h)^n}-\frac{1}{x^n}}{h}
  \displaystyle = \lim_{h \to 0} \frac{x^n-(x+h)^n}{hx^n(x+h)^n}
  \displaystyle = \lim_{h \to 0} \frac{-h({}_n C_1 x^{n-1} + {}_n C_2 x^{n-2}h+...)}{hx^n(x+h)^n}
  \displaystyle = \lim_{h \to 0} \frac{-({}_n C_1 x^{n-1} + {}_n C_2 x^{n-2}h+...)}{x^n(x+h)^n}
  \displaystyle = \lim_{h \to 0} \frac{-{}_n C_1 x^{n-1} - h({}_n C_2 x^{n-2} + {}_n C_3 x^{n-3}h...)}{x^n(x+h)^n}
  \displaystyle = \frac{-{}_n C_1 x^{n-1}}{x^{2n}}
  \displaystyle = \frac{-n x^{n-1}}{x^{2n}}
  \displaystyle = \frac{-n}{x^{n+1}}

ここまでの議論により、\displaystyle \left( \frac{1}{x^n} \right)' = -\frac{n}{x^{n+1}}が導出できます。

また、ここで\displaystyle \frac{1}{x^n} = x^{-n}とみて微分を行うと考えると、\displaystyle (x^{-n})' = -nx^{-n-1}が成立しており、(x^n)' = nx^{n-1}と同様に取り扱うことができることを示すこともできます。

 

3. まとめ
#4では分数関数の定義に基づく微分について確認しました。
#5では平方根関数の定義に基づく微分について確認します。

逆行列の計算について|行列〜線形代数の基本を確認する #2

f:id:lib-arts:20210213195311p:plain

当シリーズでは高校〜大学教養レベルの行列〜線形代数のトピックを簡単に取り扱います。#1では外積の定義とその活用について簡単に取り扱いました。

 #2では逆行列の計算について取り扱います。22列は公式に沿って簡単に計算できますが、33列より大きい行列の逆行列は少々大変なのでなるべく簡単に抑えておくと良いのではと思います。
当記事では下記を主に参考にして確認していくことにします。

線型代数学/逆行列 - Wikibooks

以下、目次になります。
1. 基本事項の確認、22列の行列の逆行列
2. nn列(n \geq 3)の行列の逆行列
3. まとめ


1. 基本事項の確認、22列の行列の逆行列
1節では基本事項の確認を行ったのちに22列の行列の逆行列について確認します。
まず、逆行列を考える上での前提理解を基本事項にまとめます。

n次正方行列(ここではAとおくことにします)に関して逆行列を考える
-> 正方行列はnn列の行列のことです。正方行列や正則行列など色々と出てきてややこしいため、可能な限り間違えないように注意しておくと良いと思います。

・行列A逆行列を持つときAは正則(regular)であるという
-> 正方行列と正則行列、正規行列など似たような名称が多いので注意しておきましょう。基本的には定義を丁寧に何度も確認するようにすると良いと思います。

逆行列は一意に定まる
-> A逆行列A^{-1}は一意に定まり、複数は存在しないことも抑えておくと良いです。

n次の単位行列I_nとした際にAX=I_nXA=I_nが成立すればAは正則であり、XA逆行列となる。
-> XA逆行列であるとき、AX=XA=I_nが成立することは抑えておきましょう。

({}^t A)^{-1} = {}^t(A^{-1})が成立する

上記は行列に関して取り扱う際に知っておく方が望ましいと思います。

次に22列の行列の逆行列について簡単に確認します。22\displaystyle A = \left(\begin{array}{rr} a b \\ c d \\ \end{array} \right)の行列の逆行列ad-bc \neq 0のとき下記のように計算することができます。

\displaystyle A^{-1} = \frac{1}{ad-bc} \left(\begin{array}{rr} d -b \\ -c a \\ \end{array} \right)

証明についてはAA^{-1}を実際に計算すると、単位行列\displaystyle I_2 = \left(\begin{array}{rr} 1 0 \\ 0 1 \\ \end{array} \right)が得られることで確認できます。

また、このとき計算したad-bcが行列A行列式で、det A = |A|のように定義されることも知っておくと良いです。


2. nn列(n \geq 3)の行列の逆行列
2節ではnn列の行列の逆行列について取り扱います。

線型代数学/逆行列 - Wikibooks

上記の記載を確認します。

f:id:lib-arts:20210603152517p:plain

基本的には上記の定理1.1.7のように求めることができます。

f:id:lib-arts:20210603152556p:plain

具体例も簡単に確認しておきます。上記の流れを抑えておくのが良いかと思います。
かなりざっくりとした取り扱いになりましたので、詳しく確認したいは下記を参照いただけたらと思います。

線型代数学/逆行列 - Wikibooks


3. まとめ
#2では逆行列の計算について取り扱いました。
#3では固有値固有ベクトルについて取り扱います。

外積の定義とその活用|行列〜線形代数の基本を確認する #1

f:id:lib-arts:20210213195311p:plain

行列〜線形代数の分野は高校〜大学教養レベルの数学で取り扱われますが、大学の教科書の記載は読むのが大変であることが多いです。そこで基本的な内容を簡単にまとめようということでこちらをシリーズ化します。

#1では外積の定義とその活用について簡単に取り扱います。基本的な内容の取り扱いだけできれば良いので、下記を参考に進めます。

線型代数学/行列と行列式/第三類/外積 - Wikibooks

以下、目次になります。
1. 外積の定義の確認
2. 外積の活用
3. まとめ


1. 外積の定義の確認
1節では外積の定義の確認を行います。基本の確認だけできれば十分なのでここでは3次元ベクトルの外積のみを確認します。\displaystyle \vec{a} = \left(\begin{array}{c} a_1 \\ a_2 \\ a_3 \\ \end{array} \right)\displaystyle \vec{b} = \left(\begin{array}{c} b_1 \\ b_2 \\ b_3 \\ \end{array} \right)とおいた際に、外積\displaystyle \vec{a} \times \vec{b}は下記のように定義します。

\displaystyle \vec{a} \times \vec{b} = \left(\begin{array}{c} a_2b_3-a_3b_2 \\ a_3b_1-a_1b_3 \\ a_1b_2-a_2b_1 \\ \end{array} \right)

上記が外積の定義ですが、外積は下記が成立することも抑えておくと良いと思います。

(A)   \displaystyle \vec{a} \times \vec{b} = -(\vec{a} \times \vec{b})
(B)   \displaystyle k(\vec{a} \times \vec{b}) = k(\vec{a}) \times \vec{b} = \vec{a} \times k(\vec{b})
(C)   \displaystyle \vec{a} \times (\vec{b}+\vec{c}) = \vec{a} \times \vec{b} + \vec{a} \times \vec{c}
(D)   \displaystyle (\vec{a} + \vec{b}) \times \vec{c} = \vec{a} \times \vec{c} + \vec{b} \times \vec{c}

上記の証明に関しては当記事では省略しますが、気になる方は下記を確認してみていただけたらと思います。

線型代数学/行列と行列式/第三類/外積 - Wikibooks

 

2. 外積の活用
2節では外積の活用について確認します。外積は下記が成立するので、活用にあたっては下記を元に考えていくのが良いと思います。

(A)   \displaystyle \vec{a} \times \vec{b}\displaystyle \vec{a}\displaystyle \vec{b}の両方と直交する
(B)   \displaystyle \vec{a}\displaystyle \vec{b}が張る平行四辺形の面積S\displaystyle S = |\vec{a} \times \vec{b}|で計算できる
(C)   \displaystyle \vec{a}\displaystyle \vec{b}\displaystyle \vec{c}が張る平行六面体の面積V\displaystyle V = |(\vec{a} \times \vec{b}) \cdot \vec{c}|で計算できる

証明は当記事では省略しますが、気になる方は下記を確認してみてください。

線型代数学/行列と行列式/第三類/外積 - Wikibooks

ここまでの記載より、外積は2つのベクトルと直交するベクトルを計算したり、二つのベクトルのなす平行四辺形の面積を計算したりに活用できることがわかります。


3. まとめ
#1では外積の定義と活用について確認しました。
#2では逆行列に関して取り扱います。

gMLPの論文の概要を把握する

f:id:lib-arts:20210601205259p:plain

gMLPが話題のようなので、論文の概要を把握できればということで当記事にまとめます。

[2105.08050] Pay Attention to MLPs

以下、目次になります。
1. gMLPの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-2 Introductionの確認(Section1)
2. 論文の重要なポイントの抜粋
2-1. Model(Section2)
2-2. Image Classification(Section3)
2-3. Masked Language Modeling with BERT(Section4)
2-4. Conclusion(Section5)
3. まとめ


1. gMLPの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-1節では論文のAbstractを確認します。

f:id:lib-arts:20210601205510p:plain
上記がgMLPの論文のAbstractです。以下、簡単に重要事項についてまとめます。

・Transformerはここ数年におけるDeepLearningの構造の中でも重要なトピックの一つである
・この研究におけるgMLPはgatingを使うMLPのみを用いることでTransformerと同等のパフォーマンスを実現した
Vision-Transformerにおけるself-attentionはそれほど重要でない可能性がある
・BERTに関連するいくつかのdownstream tasksにおいて、gMLPはTransformerを上回った
・gMLPはTransformerと同様にスケールさせることができる

Abstractについて概ね把握できたので1-1節はここまでとします。


1-2 Introductionの確認(Section1)
1-2節ではIntroductionの記載を確認します。

f:id:lib-arts:20210601212051p:plain
第一、第二パラグラフでは、Transformer関連の研究のブレークスルーについて書かれた後に、Transformer構造の二つの重要なコンセプトについて紹介されています。それぞれ「(1)リカレント構造の必要ない構造」、「(2) トークン(単語など)間で空間的に情報の集約を行うmulti-head self-attentionブロック」の二つが挙げられています。一方でこの際に生じるinductive biasについて論じられており、それに関連してMLPでは任意の関数を表すことができるとされています。
inductive biasについては下記で確認したGraph Networkが大元になっていると思われるので、気になる方は下記も確認してみていただけたらと思います。

このinductive biasについて考えた際に「self-attentionはTransformerの著しい効率化について寄与しているか」がここでopen question(考察のテーマくらいの認識で良さそうです)になるとされています。

f:id:lib-arts:20210601212138p:plain

第三パラグラフでは、attentionを用いないMLP-basedのgMLPをTransformerの代替に考えると記載されており、続く第四パラグラフではImageNetなどの画像タスクに関する取り組みのDeiTやViTに比較してgMLPが同等のパフォーマンスを示したことが記載されています。

f:id:lib-arts:20210601213224p:plain

f:id:lib-arts:20210601212234p:plain
第五、第六パラグラフでは、gMLPのBERTへの適用について議論されており、第五パラグラフではpretrainingについて、第六パラグラフではfinetuningについてそれぞれ記載されています。
BERTのMLM(Masked Language Modeling)などについて知りたい方は下記の3章でまとめましたので、こちらも確認してみていただけたらと思います。

f:id:lib-arts:20210601213956p:plain

第七パラグラフでは、Introductionの総括も兼ねて、この研究で行った実験の結果を元に考えると「self-attentionはそれほど重要なモジュールではないのではないか」と問題提起が行われています。

2. 論文の重要なポイントの抜粋
2-1. Model(Section2)
2-1節ではSection2のModelの重要な点について確認します。

f:id:lib-arts:20210601220528p:plain

f:id:lib-arts:20210601220701p:plain

まず上記が冒頭部の記載ですが、(1)式〜(3)式でgMLPの大枠の数式について記載されています。nが系列の長さ(Lとされることもあります)、dが分散ベクトルの次元(Word2vecと同様です)を表すことは抑えておくと良いと思います。ここで(2)式が恒等写像(identity mapping)であればこの式はオーソドックスなFFN(Feed Forward Networkの意味ですが、Multi Layer Perceptronの意味もここでは含んでいると解釈する方が良いと思います)を表すとされています。また、(1)の式は Transformerのパラメータ演算(FFN)と同様であることも記載されています。
ここで(2)式の関数sトークン間の空間的な相互作用(spatial interactions across tokens)を表すとされており、ここの処理でTransformerのself-attentionを代替するというのがこの論文のテーマであると考えて良いかと思います。
また、処理の全容に関しては、下記のFigure1にまとめられています。

f:id:lib-arts:20210601222129p:plain

上記のグレーの四角形の中に(1)式〜(3)式の処理が記載されており、gMLPにおける特殊な処理である関数sは黄色のSpatial Gating Unitで表されています。

f:id:lib-arts:20210601222004p:plain

Spatial Gating Unitに関してはSection2-1で詳しく記載されています。(5)式が関数sの処理であり、ここで用いられているf_{W,b}(Z)の定義については(4)式で示されています。ここでZXに対応するのでnd列、Wトークン列の長さに対応してnn列であることは抑えておくと良いと思います。

ここでWはattentionの処理のように、どのくらい他のトークンの値を参考にするかを表した行列と考えておくのが良さそうです。また安定化にあたってはWの初期値を0近辺、bの初期値を1にすると学習が安定したと記載されています。また、(5)式の代わりにZを分割したZ_1Z_2を用いた(6)式を用いると効率的だったことについても記載されています。


2-2. Image Classification(Section3)
2-3. Masked Language Modeling with BERT(Section4)
2-4. Conclusion(Section5)
この記事では省略します。


3. まとめ
この論文ではself-attentionを用いないとありましたが、「self-attentionを用いる用いない以上にinductive biasをどのように考慮して全体を設計するのかに今後の研究にあたっては重視されそうだ」と解釈する方が良いのではと思われました。
そのため考察にあたってはあまり細かい定義を気にし過ぎずに、以前の記事でも取り扱った"Relational inductive biases, deep learning, and graph networks"の研究などを元に統合的に整理しつつinductive biasの設計について考える方が良いのではないかと思います。

[1806.01261] Relational inductive biases, deep learning, and graph networks

この辺の構造に関しては色々とアイデアがあると思いますので、議論がある程度収束するまではあまり細かい構成を考え過ぎなくても良いのではという印象でした。

三角関数の微分|基本関数の微分の公式を定義から導出する #3

f:id:lib-arts:20210213195311p:plain

指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#1では指数関数の微分について、#2では対数関数の微分について取り扱いました。

#3では三角関数微分に関して取り扱いたいと思います。

以下、目次になります。
1. f(x)=\sin{x}微分の導出
2. f(x)=\cos{x}微分の導出
3. まとめ


1. f(x)=\sin{x}微分の導出
1節ではf(x)=\sin{x}微分の導出について取り扱います。こちらを考えるにあたって、加法定理と三角関数の極限の公式の下記は既知とし、こちらを導出にあたって用います。

\sin{(x+h)} = \sin{x}\cos{h}+\cos{x}\sin{h}
\displaystyle \lim_{h \to 0} \frac{\sin{h}}{h} = 1

ここでは上記は予めわかっているとし、以後f(x)=\sin{x}に対して微分の定義に基づいて導出を行います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{f(x+h)-f(x)}{(x+h)-h} = \lim_{h \to +0} \frac{\sin{(x+h)}-\sin{x}}{h}

ここで上記に対し、加法定理の\sin{(x+h)} = \sin{x}\cos{h}+\cos{x}\sin{h}を適用します。

\displaystyle \lim_{h \to +0} \frac{\sin{(x+h)}-\sin{x}}{h}
  \displaystyle = \lim_{h \to +0} \frac{\sin{x}\cos{h}+\cos{x}\sin{h}-\sin{x}}{h}
  \displaystyle = \lim_{h \to +0} \frac{\sin{x}(\cos{h}-1)+\cos{x}\sin{h}}{h}
  \displaystyle = \lim_{h \to +0} \left( \sin{x}\frac{\cos{h}-1}{h}+\cos{x}\frac{\sin{h}}{h} \right)
  \displaystyle = \lim_{h \to +0} \left( \sin{x}\frac{\cos^2{h}-1}{h(\cos{h}+1)}+\cos{x}\frac{\sin{h}}{h} \right)
  \displaystyle = \lim_{h \to +0} \left( \sin{x}\frac{-\sin^2{h}}{h(\cos{h}+1)}+\cos{x}\frac{\sin{h}}{h} \right)
  \displaystyle = \lim_{h \to +0} \left( \sin{x}\frac{\sin{h}}{h}\frac{-\sin{h}}{\cos{h}+1}+\cos{x}\frac{\sin{h}}{h} \right)

上記において、\displaystyle \lim_{h \to 0} \frac{\sin{h}}{h} = 1を用いると、下記のようにできます。

\displaystyle \lim_{h \to +0} \left( \sin{x}\frac{\sin{h}}{h}\frac{-\sin{h}}{\cos{h}+1}+\cos{x}\frac{\sin{h}}{h} \right) = \sin{x} \times 1 \times 0 + \cos{x} \times 1
  \displaystyle = \cos{x}

ここまでの議論により、\displaystyle (\sin{x})' = \cos{x}が導出できます。


2. f(x)=\cos{x}微分の導出
2節ではf(x)=\cos{x}微分の導出について確認します。基本的には\displaystyle \cos{x} = \sin{\left(x+\frac{\pi}{2}\right)}であることを利用します。

\displaystyle (\cos{x})' = \left(\sin{\left(x+\frac{\pi}{2}\right)}\right)'
  \displaystyle = \cos{\left(x+\frac{\pi}{2}\right)} \left(x+\frac{\pi}{2}\right)'
  \displaystyle = \cos{\left(x+\frac{\pi}{2}\right)}
  \displaystyle = \sin{\left(x+\pi\right)}
  \displaystyle = -\cos{x}

ここまでの議論により、\displaystyle (\cos{x})' = -\sin{x}が導出できます。


3. まとめ
#3では三角関数の定義に基づく微分について確認しました。
加法定理や三角関数の極限の公式は当記事では既知としましたが、この辺は公式の導出が多いので大変かもしれません。指数関数や対数関数と比較しても毎回全てを導出するのは大変なので、ある程度公式はそのまま覚える方が良いのではという印象です。
#4では分数関数の微分に関して取り扱います。