Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 導関数の導入 | 数理解析
Pythonによるデータサイエンスのための数学

book導関数の導入

メニューを表示するにはスワイプしてください

Note
定義

導関数は、関数の入力が変化したときに関数がどのように変化するかを測定する指標。関数の変化率を表し、物理学、経済学、機械学習などの分野で傾向の分析、プロセスの最適化、挙動の予測において基本的な役割を果たす。

導関数の極限による定義

関数 f(x)f(x) の、特定の点 x=ax = a における導関数は次の式で与えられる:

limh0f(x+h)f(x)h\lim_{h \rarr 0} \frac{f(x + h) - f(x)}{h}

この式は、x軸に沿ってごく小さなステップ hh を動かしたときに f(x)f(x) がどれだけ変化するかを示す。hh を小さくするほど、瞬間的な変化率に近づく。

基本的な微分のルール

累乗法則

関数が xx の累乗の場合、導関数は次のようになる:

ddxxn=nxn1\frac{d}{dx}x^n=nx^{n-1}

これは、微分するときに指数を前に出し1減らすことを意味する:

ddxx3=3x2\frac{d}{dx}x^3=3x^2

定数則

任意の定数の導関数はゼロ:

ddxC=0\frac{d}{dx}C=0

例えば、f(x)=5f(x) = 5 の場合:

ddx5=0\frac{d}{dx}5=0

和・差の法則

関数の和または差の導関数は次のようになる:

ddx[f(x)±g(x)]=f(x)±g(x)\frac{d}{dx} \left[ f(x) \pm g(x) \right] = f'(x) \pm g'(x)

例えば、個別に微分すると:

ddx(x3+2x)=3x2+2\frac{d}{dx}(x^3 + 2x) = 3x^2 + 2

積・商の法則

積の法則

2つの関数の積の導関数は次のように求める:

ddx[f(x)g(x)]=f(x)g(x)+f(x)g(x)\frac{d}{dx}[f(x)g(x)] = f'(x)g(x) + f(x)g'(x)

それぞれの関数を個別に微分し、その積の和を取る。f(x)=x2f(x)=x^2g(x)=exg(x) = e^x の場合:

ddx[x2ex]=2xex+x2ex\frac{d}{dx}[x^2e^x] = 2xe^x + x^2e^x

商の微分法則

関数の除算時に使用:

ddx[f(x)g(x)]=f(x)g(x)f(x)g(x)g(x)2\frac{d}{dx} \left[ \frac{f(x)}{g(x)} \right] = \frac{f'(x)g(x) - f(x)g'(x)}{g(x)^2}

f(x)=x2f(x)=x^2 および g(x)=x+1g(x)=x+1 の場合:

ddx[x2x+1]=2x(x+1)x2(1)(x+1)2\frac{d}{dx} \left[ \frac{x^2}{x + 1} \right] = \frac{2x(x+1) - x^2(1)}{(x+1)^2}

合成関数の微分法則(連鎖律)

入れ子関数の微分時に使用:

ddxf(g(x))=f(g(x))g(x)\frac{d}{dx} f(g(x)) = f'(g(x)) \cdot g'(x)

例えば、y=(3x+2)5y = (3x + 2)^5 の場合:

ddx(3x+2)5=5(3x+2)43=15(3x+2)4\frac{d}{dx}(3x+2)^5 = 5(3x+2)^4 \cdot 3 = 15(3x+2)^4

この法則はニューラルネットワークや機械学習アルゴリズムで重要。

指数関数の連鎖律の例:

次のような微分を行う場合:

y=e2x2y =e^{2x^2}

合成関数の扱い:

  • 外側の関数: eue^u
  • 内側の関数: u=2x2u = 2x^2

連鎖律を段階的に適用:

ddx2x2=4x\frac{d}{dx}2x^2=4x

その後、元の指数関数を掛ける:

ddx(e2x2)=4xe2x2\frac{d}{dx}\left( e^{2x^2} \right) = 4x \cdot e^{2x^2}
Note
さらに学ぶ

機械学習やニューラルネットワークでは、指数関数的な活性化関数や損失関数を扱う際にこれが現れる。

対数関数の合成関数の微分例:

ln(2x)\ln(2x) を微分する。これは合成関数であり、外側が対数関数、内側が線形関数。

内側の部分を微分:

ddx(2x)=2\frac{d}{dx}(2x)=2

次に、対数関数に連鎖律を適用:

ddxln(2x)=12x2\frac{d}{dx}\ln(2x) = \frac{1}{2x} \cdot 2

これを簡略化すると:

ddxln(2x)=22x=1x\frac{d}{dx}\ln(2x) = \frac{2}{2x} = \frac{1}{x}
Note
注意

ln(kx)\ln(kx) を微分しても、定数項が打ち消し合うため、結果は常に 1x\frac{\raisebox{1pt}{$1$}}{\raisebox{-1pt}{$x$}} となる。

特殊な場合:シグモイド関数の導関数

シグモイド関数は機械学習でよく使用される関数:

σ(x)=11+xx\sigma(x) = \frac{1}{1+x^{-x}}

その導関数は最適化において重要な役割を果たす:

σ(x)=σ(x)(1σ(x))\sigma'(x) = \sigma(x)(1 - \sigma(x))

もし f(x)=11+exf(x) = \frac{\raisebox{1pt}{$1$}}{\raisebox{-3pt}{$1 + e^{-x}$}} であれば、次のようになる:

f(x)=ex(1+ex)2f'(x) = \frac{e^{-x}}{(1 + e^{-x})^2}

この公式により、学習中の勾配が滑らかに保たれる。

question mark

次のうち、x4x^4 の導関数を正しく表しているものはどれか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  3
some-alt