対象読者
- 合成関数の微分がイメージできない方
- 合成関数の微分の手順ではなく、意味を理解したい方
結論
合成関数の微分のことを「なんか分子分母を付け足して微分を展開できること」だと思ってはいないだろうか。以下の式展開は、\(dy\)を分子分母に付け足しているだけに見える。
$$ \frac{dz}{dx} = \frac{dz}{dy}\frac{dy}{dx} $$
この式変形は言葉遊びみたいで合成関数の微分の意味やイメージを理解することは難しいだろう。
しかし、答えは簡単だ。合成関数の微分とは単なる比の掛け算に過ぎない。
突然だが、3人の戦士に登場いただこう。彼らは以下のような力関係にあるとする。
- AさんはBさんよりp倍強い
- BさんはCさんよりq倍強い
このとき、AさんはCさんよりpq倍強い。これが理解できたのなら、合成関数の微分の意味を理解したも同然だ。だって、合成関数の微分も同じことを表しているのだから。
と、言われても納得できるはずもない。関数や微分の意味の理解が前提だからだ。なので、以下を順に説明していき、合成関数の微分なんて、簡単であることを示す。
- 関数の意味について
- 微分の意味について
- 合成関数の微分について
関数とは2つの値の対応関係
高校数学まででは、関数を把握するためにグラフを多用してきた。だから、関数とグラフを同じものだと誤解しがちだ。
否、「関数」とは、数の関係のことだ。詳しく言うと、入力と出力という2つの数の対応関係のことだ。関数\(f(x) = x^2\)は以下のような対応関係を表している。
- 入力が1の時、出力は1 (\(f(1) = 1\))
- 入力が2の時、出力は4 (\(f(2) = 4\))
- 入力が3の時、出力は9 (\(f(3) = 9\))
- …
このように、入力と出力をはっきりと意識すると、関数のイメージが、「グラフという絵」から、「入力の集合と出力の集合の対応関係」という厳密なものに変わるだろう。また、グラフのイメージも刷新されるはずだ。グラフとは、「絵」というより、「入力と出力の順序対(座標)の集合」という方が相応しいのだ。入力の集合を定義域、出力の集合を値域と呼ぶ。
関数\(f\)は以下のように定義域\(X\)、値域\(Y\)を明示して書くことができる。
$$f: X \rightarrow Y, f(x) = y$$
定義域と値域の区別は関数をイメージする上で重要だ。その練習として、定義域と値域は別物である例を以下に示す。
定義域と値域が異なる例
関数\(f(x) = x^2\)の定義域を実数全体とする。つまり、入力にはどんな実数を選んでも良い、ということだ。
このとき、この関数の値域も実数全体になりそうだが、そうはならない。マイナスの入力は、2乗によって打ち消されてしまうからだ。こうして定義域と値域は一致しなくなる。
微分の図形的な解釈
高校では、以下のような微分の公式を習っただろう。
$$\frac{d}{dx} x^n = nx^{n-1}$$
この公式からは計算手順以上の意味を見出せない。微分の意味とは何なのか。
微分とは、「クネクネ曲がったものでも、局所的に見れば真っ直ぐ」ということを意味する。地球は本当は楕円?であり、曲がっている。だけど、地面に立った人間視点(局所)から見れば、地球は平らに見える。これが微分だ。
関数の微分は、とある点\(x=a\)におけるグラフの傾きを意味する。曲がっている2次関数\(y(x) = x^2\)でも、\(x=a\)周りのメッチャ狭い区間(局所)の変化は一定の比率\(\frac{dy}{dx}(a)=2a\)になる。この比率自体は点の位置(aの値)で変化するが、その区間内では一定の値として扱える。局所的な変化は一定の比で表すことができる。これが「微分とはグラフの傾きを求めること」の真意だ。
微分とは、入力の微小変化と出力変化の比
以上で関数と微分の図形的解釈を押さえた。関数の微分のイメージをより厳密にできる準備が整った。
関数の微分は「入力の微小変化と出力の微小変化は一定の比の関係にある」ことを表す。
とある入力と出力の関係\(f(x) = y\)があるとする。その入力を僅かにずらした値\(x +\Delta{x}\)を入力とするとき、出力も元の値\(y\)から僅かに変化するだろう。その変化量を\(\Delta{y}\)とおくと、以下のように書ける。
\begin{align} &f(x + \Delta{x}) = y + \Delta{y} \\ &\Leftrightarrow \Delta{y} = \frac{f(x + \Delta{x}) – f(x)}{\Delta{x}}\Delta{x} \\ \end{align}ここで、微分の意味を思い出して欲しい。微分とは、局所的な変化は一定の比で追える、ということだった。言い換えると、以下のように出力の変化は入力の変化との比で表せる。
$$ \Delta{y} \simeq \frac{df}{dx} \Delta{x}$$
厳密な等式ではなく、ニアリーイコール(\(\simeq\))とした理由は、\(\Delta{x}\)が局所的と言えるほど小さいとは限らないからだ。
\(\Delta{x}\)を十分小さく、つまり微小(局所的)にしたとき、\(\Delta{x}\)は\(dx\)と書く。このとき、上式は厳密な等式となる。
\begin{align} dy = \frac{df}{dx} dx \tag{1} \end{align}これが関数の微分だ。
微小という概念は難しいが、任意の実数よりも小さくできる、という意味だ。ゼロではないが、ゼロ以外の如何なる実数よりも小さい値を意味する。詳細は極限の基礎となる、ε-N論法やε-δ論法を参照されたい(ググるのが面倒な方は補足へ)。
合成関数とは出力と入力を繋ぐこと
「合成関数」とは、複数の関数の入出力を繋げて、1つの関数として表したものだ。
以下のような2つの関数があるとする。
$$f: X \rightarrow Y, f(x) = y$$
$$g: Y \rightarrow Z, g(y) = z$$
\(f\)の出力を\(g\)の入力として繋げた関数を\(h\)とおくと、以下のように書ける。
$$h: X \rightarrow Z, h(x) = g(f(x)) = g \circ f(x) = z$$
合成関数には、\(g(f(x))\)やら\(g \circ f(x)\)のように複数の書き方がある。この合成関数\(h\)の表現からは集合\(Y\)が消えてしまっているが、2つの関数をつなぐ仲介役として存在している。
以下で、入力の微小変化が集合\(Y\)を介して伝播していくことが合成関数の微分であることを示す。
合成関数の微分は単なる比の掛け算
合成関数\(h = g \circ f\)において、入力\(x\)の微小変化によって、出力\(z\)は一定の割合で変化する。
関数\(f\)において、入力\(x\)の変化は出力\(y\)の変化を引き起こす。入力の変化が微小なとき、出力は入力と一定の比の関係で追える。
関数\(f\)の出力の微小変化は関数\(g\)に入力される。関数\(g\)の出力\(z\)もまた微小に変化し、これも同様に一定の比によって表される。
\begin{align} dz = \frac{dg}{dy} dy \tag{2} \end{align}以上のように、中間の集合\(Y\)を介した変化の連鎖をイメージできるはずだ。この連鎖のイメージが重要であり、その証拠に合成関数の微分は英語で「chain rule(連鎖律)」と呼ばれる。式(1)、(2)より、xとzの微小変化の関係が導ける。
\begin{align} dz &= \frac{dg}{dy}dy = \frac{dg}{dy} \cdot \frac{df}{dx}dx \\ &=g^{\prime}(y) \cdot f^{\prime}(x) dx \\ &=g^{\prime}(f(x)) \cdot f^{\prime}(x) dx \end{align}これが合成関数の微分の公式だ。この意味が理解できていれば、
- 合成する関数が3個、4個と増えていったとしても、同様に、各々の関数の微分係数を掛け算していけば良い
- 単に\(dy\)を分子・分母にかけて、2つの分数の掛け算にした訳ではない
ことが分かるだろう。
この比(微分係数)を掛け合わせていく感じは冒頭で唐突に述べた例と全く同じだ。
- AさんとBさんの力関係は、関数\(g\)の微分
- BさんとCさんの力関数は、関数\(f\)の微分
- AさんとCさんの力関係は、合成関数\(g \circ f\)の微分
補足 : 微小の意味 ε-δ(イプシロンデルタ)論法
微分は極限を用いて定義される。
$$ \frac{df}{dx} = \lim_{\Delta{x} \to {0}} \frac{f(x + \Delta{x}) – f(x)}{\Delta{x}}$$
高校数学では、極限と代入の区別はなかった。例えば、0への極限は0を代入した値として扱われた。しかし、極限と代入は異なる。
以下では、極限の厳密な表現を通して、「微小」や「十分小さい」の意味を確認する。
例えば、\(f(x)=x^2\)とおくと、その微分は\(f'(x) = 2x\)となる。この厳密な表現は以下のようになる(ε-δ論法という)。
$$ \forall \epsilon > 0, \exists{\delta} > 0 s.t. \\ 0 < \Delta{x} < \delta \Rightarrow \frac{\Delta{f}}{\Delta{x}} – 2x < \epsilon \tag{3}$$
\(\Delta{f} = f(x + \Delta{x}) -f(x)\)とおいた。
この式(3)を意訳すると、「いい感じの\(\Delta{x}\)を選べば、\(\Delta{f} / \Delta{x} – 2x\)は任意の正の実数\(\epsilon\)よりもを小さくできる」となる。
「\(\forall\)」は「任意の」、「\(\exists\)」は「存在する」を意味する。
「任意の」というのが「微小」を理解するためのポイントだ。
これでもかってくらい小さな値を\(a_0\)と適当においてみる。\(\epsilon\)は任意に選ぶことができるため、より小さな値にすることができる。例えば\(\epsilon = a_0 / 2 = a_1\)と選ぶことができる。
さらに、\(\epsilon\)は任意なため、\(\epsilon = a_1 / 2 = a_2\)のようにさらに小さい値に選び直すことができる。
このように、\(\epsilon\)は無限に小さく選び直すことができる。これが「任意の」の意味だ。0には届かないんだけど、0以外の如何なる値よりも小さい。これが「微小」や「十分小さい」などの意味だ。
では、微小を踏まえて、式(3)の証明を行う。
普通に計算すれば、以下の等式が成り立つ。
$$ \frac{\Delta{f}}{\Delta{x}} – 2x = \Delta{x} $$
ここで、\(\delta\)をとある値と定めてみる。例えば、\(\delta= \epsilon / 2 \)としてみる。このとき、\(\Delta{x} < \delta\)とおくと、如何なる\(\epsilon\)においても、以下が成り立つ。
$$ \frac{\Delta{f}}{\Delta{x}} – 2x < \epsilon/2 < \epsilon \tag{4}$$
別に、\(\delta= \epsilon / 2 \)である必要はなく、\(\delta= \epsilon / 3 \)でも\(\delta= \epsilon / 10 \)でもOKだ。重要なのは、任意の\(\epsilon\)よりも小さな\(\delta\)が存在し、常にそれを選ぶことができる、という点だ。
このように、\(\delta\)よりも小さい\(\Delta{x}\)を\(dx\)と表したのだった。
式(4)は「\(\Delta{f}/\Delta{x}\)は\(2x\)に限りなく近づいていく」ことを示している。これが極限であり、\(f(x) = x^2\)の微分が\(2x\)であることの意味だ。
コメント
本当にありがとうございます。人生で一番感謝してます。
他のサイトは全部数式で示してたり理由づけが乱暴だったりで僕の求めてたものはなかったです
どの解説サイトにもない観点からの説明で、本当に物凄くしっくりきました。
語彙力0で上手く言葉に言い表せないんですけど、本当に感謝してます。
これからも解説記事心待ちにしています
こちらこそ、わざわざお褒めのコメントいただき、ありがとうございます!