第8章 合成関数の微分(連鎖律)

Chain Rule

入門

8.1 合成関数とは

関数の中に関数が入っている形を合成関数という。

合成関数の定義

2つの関数 $f$ と $g$ の合成関数は:

$$(f \circ g)(x) = f(g(x))$$

「$g$ の結果を $f$ に入れる」という操作である。

合成関数のイメージ x g g(x) f f(g(x)) f ∘ g
図1: 合成関数 $f(g(x))$。$x$ に $g$ を施して $g(x)$ を得て、それに $f$ を施す。全体を $f \circ g$ と書く。
例:合成関数の具体例

$f(x) = x^2$, $g(x) = x + 1$ のとき:

$$(f \circ g)(x) = f(g(x)) = f(x+1) = (x+1)^2$$ $$(g \circ f)(x) = g(f(x)) = g(x^2) = x^2 + 1$$

注意:$f \circ g \neq g \circ f$ 一般に順序を入れ替えると結果が変わる。

例:合成関数の分解

$h(x) = (x^2 + 3x)^5$ を分解すると:

  • 内側の関数:$g(x) = x^2 + 3x$(中身)
  • 外側の関数:$f(u) = u^5$(外の形)
  • $h(x) = f(g(x)) = (g(x))^5$

8.2 連鎖律(Chain Rule)

定理(連鎖律)

$g$ が $x$ で微分可能で、$f$ が $u=g(x)$ で微分可能なら、合成関数 $y=f(g(x))$ は $x$ で微分可能であり:

$$\dfrac{dy}{dx} = \dfrac{dy}{du} \cdot \dfrac{du}{dx}$$

または関数の記法で:

$$(f(g(x)))' = f'(g(x)) \cdot g'(x)$$

言葉で言うと:「外側の微分」×「内側の微分」

証明

微分の定義から始める。$h(x) = f(g(x))$ とおくと:

$$h'(x) = \lim_{\Delta x \to 0} \dfrac{f(g(x + \Delta x)) - f(g(x))}{\Delta x}$$

Step 1:$\Delta u = g(x + \Delta x) - g(x)$ とおく。

$\Delta x \to 0$ のとき $\Delta u \to 0$($g$ は連続だから)。

Step 2:$u = g(x)$ とおく。$\Delta u \ne 0$ のとき、$\Delta u$ を掛けて $\Delta u$ で割ると:

$$\dfrac{f(g(x+\Delta x))-f(g(x))}{\Delta x}=\dfrac{f(u+\Delta u)-f(u)}{\Delta u}\cdot\dfrac{\Delta u}{\Delta x}$$

Step 3:$\Delta x\to0$ のとき $\Delta u\to0$ なので、右辺の 1 つ目の分数は $f'(u)=f'(g(x))$ に、2 つ目の分数は $g'(x)$ に近づく。よって

$$h'(x)=f'(g(x))\,g'(x)$$

これで連鎖律が示された。

(補足)$\Delta x$ を $0$ にいくら近づけても $\Delta u=0$ となる $\Delta x$ がある関数では、Step 2 の割り算ができない。その場合も連鎖律は成り立つが、厳密に示すにはもう一工夫が要る(大学で学ぶ)。

連鎖律の視覚的理解 x g'(x) u = g(x) f'(u) y = f(u) dy/dx = (dy/du) × (du/dx) = f'(g(x)) × g'(x) 連鎖律:xの変化 → uの変化 → yの変化 変化率は掛け算で伝播する
図2: 連鎖律の見方。$x$ の変化が $u = g(x)$ の変化を通して $y = f(u)$ に伝わり、変化率は $\dfrac{dy}{dx} = \dfrac{dy}{du} \cdot \dfrac{du}{dx}$ と掛け算になる。

8.3 連鎖律の適用例

例1:$(x^2 + 1)^3$ の微分

内側:$u = g(x) = x^2 + 1$, 外側:$y = f(u) = u^3$

Step 1:外側を微分($u$ で微分)

$$\dfrac{dy}{du} = 3u^2$$

Step 2:内側を微分($x$ で微分)

$$\dfrac{du}{dx} = 2x$$

Step 3:連鎖律を適用

$$\dfrac{dy}{dx} = \dfrac{dy}{du} \cdot \dfrac{du}{dx} = 3u^2 \cdot 2x$$

Step 4:$u$ を元に戻す

$$= 3(x^2 + 1)^2 \cdot 2x = 6x(x^2 + 1)^2$$
例2:$\sqrt{x^3 + 2x}$ の微分

$y = \sqrt{u} = u^{1/2}$, $u = x^3 + 2x$

Step 1:外側を微分

$$\dfrac{dy}{du} = \dfrac{1}{2}u^{-1/2} = \dfrac{1}{2\sqrt{u}}$$

Step 2:内側を微分

$$\dfrac{du}{dx} = 3x^2 + 2$$

Step 3:連鎖律を適用

$$\dfrac{dy}{dx} = \dfrac{1}{2\sqrt{u}} \cdot (3x^2 + 2)$$

Step 4:$u$ を元に戻す

$$= \dfrac{3x^2 + 2}{2\sqrt{x^3 + 2x}}$$
例3:$\dfrac{1}{(x^2 + 1)^2}$ の微分

$y = u^{-2}$, $u = x^2 + 1$

Step 1:外側を微分

$$\dfrac{dy}{du} = -2u^{-3} = -\dfrac{2}{u^3}$$

Step 2:内側を微分

$$\dfrac{du}{dx} = 2x$$

Step 3:連鎖律を適用

$$\dfrac{dy}{dx} = -\dfrac{2}{u^3} \cdot 2x = -\dfrac{4x}{(x^2 + 1)^3}$$

8.4 連鎖律の一般形

一般のべき乗の微分

$[g(x)]^n$ の微分は:

$$\dfrac{d}{dx}[g(x)]^n = n[g(x)]^{n-1} \cdot g'(x)$$
導出

$f(u) = u^n$, $u = g(x)$ として連鎖律を適用:

$$\dfrac{d}{dx}[g(x)]^n = f'(g(x)) \cdot g'(x) = n[g(x)]^{n-1} \cdot g'(x)$$
一般べき乗則の公式 d/dx [g(x)]ⁿ = n·[g(x)]ⁿ⁻¹·g'(x) 「前に指数を出して、指数を1減らして、中身を微分」 例:(x²+1)³ → 3(x²+1)²·2x = 6x(x²+1)² (3 は指数を前に出したもの、² は指数を 1 減らしたもの、2x は中身の微分)
図3: 一般べき乗則 $\dfrac{d}{dx}[g(x)]^n = n[g(x)]^{n-1} g'(x)$ と、その例 $(x^2+1)^3$。

8.5 多重合成関数

3つ以上の関数の合成にも連鎖律は適用できる。

多重連鎖律

$y = f(g(h(x)))$ のとき:

$$\dfrac{dy}{dx} = f'(g(h(x))) \cdot g'(h(x)) \cdot h'(x)$$

または:

$$\dfrac{dy}{dx} = \dfrac{dy}{du} \cdot \dfrac{du}{dv} \cdot \dfrac{dv}{dx}$$

($u = g(v)$, $v = h(x)$ として)

例:$y = \sqrt{(x^2+1)^3}$ の微分

3層の合成関数:

  • 最内層:$v = x^2 + 1$
  • 中間層:$u = v^3$
  • 最外層:$y = \sqrt{u} = u^{1/2}$

Step 1:各層を微分

  • $\dfrac{dy}{du} = \dfrac{1}{2}u^{-1/2}$
  • $\dfrac{du}{dv} = 3v^2$
  • $\dfrac{dv}{dx} = 2x$

Step 2:連鎖律を適用

$$\dfrac{dy}{dx} = \dfrac{1}{2}u^{-1/2} \cdot 3v^2 \cdot 2x$$

Step 3:元の変数に戻す

$$= \dfrac{1}{2}(v^3)^{-1/2} \cdot 3v^2 \cdot 2x$$ $$= \dfrac{1}{2} \cdot v^{-3/2} \cdot 3v^2 \cdot 2x$$ $$= 3x \cdot v^{-3/2+2} = 3x \cdot v^{1/2}$$ $$= 3x\sqrt{x^2+1}$$

8.6 連鎖律と他の規則の組み合わせ

例1:$y = x^2(x+1)^3$ の微分

積の公式と連鎖律を組み合わせる。

$f(x) = x^2$, $g(x) = (x+1)^3$ とすると:

各部分の微分

  • $f'(x) = 2x$
  • $g'(x) = 3(x+1)^2 \cdot 1 = 3(x+1)^2$(連鎖律)

積の公式を適用

$$y' = f'(x)g(x) + f(x)g'(x)$$ $$= 2x(x+1)^3 + x^2 \cdot 3(x+1)^2$$ $$= (x+1)^2[2x(x+1) + 3x^2]$$ $$= (x+1)^2(2x^2 + 2x + 3x^2)$$ $$= (x+1)^2(5x^2 + 2x)$$ $$= x(x+1)^2(5x + 2)$$
例2:$y = \dfrac{(x-1)^2}{(x+1)^3}$ の微分

商の公式と連鎖律を組み合わせる。

$f(x) = (x-1)^2$, $g(x) = (x+1)^3$ とすると:

各部分の微分

  • $f'(x) = 2(x-1)$
  • $g'(x) = 3(x+1)^2$

商の公式を適用

$$y' = \dfrac{f'g - fg'}{g^2}$$ $$= \dfrac{2(x-1)(x+1)^3 - (x-1)^2 \cdot 3(x+1)^2}{(x+1)^6}$$

共通因数をくくり出す

分子の共通因数は $(x-1)(x+1)^2$ です:

$$= \dfrac{(x-1)(x+1)^2[2(x+1) - 3(x-1)]}{(x+1)^6}$$ $$= \dfrac{(x-1)[2x+2-3x+3]}{(x+1)^4}$$ $$= \dfrac{(x-1)(5-x)}{(x+1)^4}$$ $$= -\dfrac{(x-1)(x-5)}{(x+1)^4}$$

8.7 連鎖律のまとめ

連鎖律の適用手順 Step 1 内側と外側を識別 Step 2 外側を先に微分 Step 3 内側を微分して掛ける 例:(x² + 3x)⁵ を微分 1. 内側:g(x) = x² + 3x、外側:f(u) = u⁵ 2. 外側を微分:f'(u) = 5u⁴ → 5(x² + 3x)⁴ 3. 内側の微分 g'(x) = 2x + 3 を掛ける 結果:5(x² + 3x)⁴(2x + 3)
図4: 連鎖律を使う手順と、$(x^2+3x)^5$ の微分の例。

よくある質問

連鎖律 $h'(x) = f'(g(x)) \cdot g'(x)$ の直感的な意味は?

「外側の変化率 $\times$ 内側の変化率」である。$x$ が少し変わると $u = g(x)$ が $g'(x)$ 倍変化し、さらに $y = f(u)$ が $f'(u)$ 倍変化する。合成した変化率はこれらの積になる。

連鎖律はどんな場面で使うか

$(x^2+1)^{10}$、$e^{3x}$、$\sin(2x)$ など「関数の中に関数が入っている」合成関数すべてで使う。機械学習の誤差逆伝播法(バックプロパゲーション)もニューラルネットの各層への連鎖律の繰り返し適用である。

連鎖律で間違えやすい点は何か

「外側だけ微分して内側を忘れる」ミスが最も多い。例えば $(\sin(x^2))' = \cos(x^2)$ だけでは不完全で、内側の $x^2$ の微分 $2x$ を掛けて $\cos(x^2) \cdot 2x$ が正解である。内側の微分を必ず掛けることを意識しよう。

練習問題

練習1:基本的な連鎖律

次の関数を微分せよ。

  1. $(2x+1)^4$
  2. $(x^3-1)^5$
  3. $\sqrt{3x+2}$
  4. $\dfrac{1}{(x^2+1)^3}$
練習2:複合的な問題

次の関数を微分せよ。

  1. $x(x+1)^4$
  2. $(x-1)^2(x+2)^3$
  3. $\dfrac{x}{(x+1)^2}$
練習3:多重合成

$y = ((x+1)^2 + 1)^3$ を微分せよ。

解答を見る

練習1の解答

  1. $4(2x+1)^3 \cdot 2 = 8(2x+1)^3$
  2. $5(x^3-1)^4 \cdot 3x^2 = 15x^2(x^3-1)^4$
  3. $\dfrac{1}{2}(3x+2)^{-1/2} \cdot 3 = \dfrac{3}{2\sqrt{3x+2}}$
  4. $-3(x^2+1)^{-4} \cdot 2x = -\dfrac{6x}{(x^2+1)^4}$

練習2の解答

  1. 積の公式より:
    $= 1 \cdot (x+1)^4 + x \cdot 4(x+1)^3$
    $= (x+1)^3[(x+1) + 4x] = (x+1)^3(5x+1)$
  2. 積の公式より:
    $= 2(x-1)(x+2)^3 + (x-1)^2 \cdot 3(x+2)^2$
    $= (x-1)(x+2)^2[2(x+2) + 3(x-1)]$
    $= (x-1)(x+2)^2(5x+1)$
  3. 商の公式より:
    $= \dfrac{1 \cdot (x+1)^2 - x \cdot 2(x+1)}{(x+1)^4}$
    $= \dfrac{(x+1) - 2x}{(x+1)^3} = \dfrac{1-x}{(x+1)^3}$

練習3の解答

$u = (x+1)^2 + 1$ とおくと $y = u^3$

$\dfrac{dy}{du} = 3u^2$

$\dfrac{du}{dx} = 2(x+1)$

よって:

$\dfrac{dy}{dx} = 3u^2 \cdot 2(x+1) = 6(x+1)[(x+1)^2+1]^2$