対数関数の微分はなぜ成り立つのか?|対数法則と対数微分を理解する

数学

はじめに

前回の記事では、指数関数の微分を考え、自然対数の底 \(e\) が特別な理由を学びました。特に、自然指数関数には、

$$
\frac{d}{dx}e^x=e^x
$$

という性質がありました。

今回は、この指数関数と深い関係を持つ「対数関数」を考えます。たとえば、自然対数関数 \(y=\ln x\) を微分すると、

$$
\frac{d}{dx}\ln x=\frac{1}{x}
$$

となります。なぜ、対数関数を微分すると、このような式になるのでしょうか?

また、対数には、掛け算を足し算に変えたり、累乗の指数を前に出したりする便利な性質があります。これらの性質を使うと、通常の微分公式では扱いにくい関数も、簡単に微分できるようになります。

この記事では、指数関数との逆関数関係から対数の意味を理解し、対数法則と微分公式を導きながら、対数微分の仕組みを学びます。 さらに、AIで使われる対数損失や交差エントロピーとのつながりも考えていきます。

この記事では、対数関数を指数関数の逆関数として理解し、指数法則から対数法則を導きます。さらに、自然対数と一般の対数関数の微分公式、対数微分の仕組み、AIの損失関数との関係まで学びます。

この記事でわかること

この記事では、次の内容の理解を目指します。

  • 対数関数は、指数関数とどのような関係にあるのか?
  • 対数法則は、なぜ成り立つのか?
  • 自然対数の微分公式は、どのように導けるのか?
  • 一般の対数関数は、どのように微分するのか?
  • 対数微分を使うと、なぜ複雑な関数を微分しやすくなるのか?
  • 対数関数は、AIの損失関数でどのように使われるのか?

1.対数関数とは何か?|指数関数との逆関数関係

まず、対数関数の意味を確認しましょう。

1.1.対数は指数を求める計算

次の式を考えます。\(2^3=8\) は、\(2\) を \(3\) 乗すると \(8\) になることを表しています。では、\(2\) を何乗すると \(8\) になるのでしょうか?

この問いを表すのが対数であり、\(\log_2 8=3\) と書きます。一般に、

$$
a^y=x\quad\Longleftrightarrow\quad y=\log_a x
$$

という関係が成り立ちます。ここで、\(a\) を底、\(x\) を真数と呼びます。実数の範囲で対数関数を考えるときは、\(a\gt 0\)、\(a\ne1\)、\(x\gt 0\) という条件が必要です。

つまり、対数は「底を何乗すると、その数になるか」を表すものなのです。

1.2.対数関数は指数関数の逆関数

指数関数 \(y=a^x\) と対数関数 \(y=\log_a x\) は、互いに逆関数の関係にあります。たとえば、\(2^3=8\) であれば、\(\log_2 8=3\) です。

指数関数が「指数から値を求める」のに対して、対数関数は「値から指数を求める」関数です。

逆関数では、入力と出力の役割が入れ替わります。そのため、指数関数と対数関数のグラフは、直線 \(y=x\) に関して対称になります。次の図で確認してみましょう。

指数関数と対数関数の対称性

青色の \(y=e^x\) と緑色の \(y=\ln x\) は、破線の \(y=x\) に関して対称になっています。たとえば、指数関数が通る点 \((0,\ 1)\) は、対数関数では \((1,\ 0)\) に対応します。このように、入力と出力を入れ替えると、グラフ上の点の座標も入れ替わるのです。

1.3.自然対数とは何か?

前回の記事では、自然対数の底 \(e\) を学びました。この \(e\) を底とする対数を「自然対数」と呼び、\(\ln x=\log_e x\) と表します。

自然対数と自然指数関数には、

$$
e^{\ln x}=x\quad(x\gt 0),\quad \ln(e^x)=x
$$

という関係があります。この逆関数の関係が、自然対数の微分公式を導く鍵になります。

2.対数法則はなぜ成り立つのか?

対数には、計算を簡単にする「対数法則」という性質があります。これは単なる計算の決まりではなく、指数法則を対数の形に書き換えたものです。

以下では、底 \(a\gt 0\)、\(a\ne1\)、真数 \(x\gt 0\)、\(y\gt 0\) とします。

2.1.積の対数が和になる理由

まず、次の指数法則を思い出しましょう。

$$
a^{p+q}=a^pa^q
$$

ここで、\(x=a^p\)、\(y=a^q\) とおくと、

$$
xy=a^{p+q}
$$

となります。

ここで、第1章で学んだ対数の定義を思い出しましょう。

$$
a^t=z\quad\Longleftrightarrow\quad t=\log_a z
$$

\(a^t=z\) の両辺の底 \(a\) の対数をとると、\(\log_a(a^t)=\log_a z\) です。定義より \(\log_a z=t\) なので、

$$
\log_a(a^t)=t
$$

が成り立ちます。つまり、底 \(a\) の対数をとると、指数部分を取り出せるのです。

この関係を \(xy=a^{p+q}\) に使うと、

$$
\begin{aligned}
\log_a(xy)&=\log_a(a^{p+q})\\
&=p+q
\end{aligned}
$$

となります。一方、\(p=\log_a x\)、\(q=\log_a y\) なので、

$$
\log_a(xy)=\log_a x+\log_a y
$$

が得られます。つまり、対数を使うと、掛け算を足し算に変換できるのです。

たとえば、

$$
\begin{aligned}
\log_2(8\cdot4)
&=\log_2 8+\log_2 4\\
&=3+2\\
&=5
\end{aligned}
$$

となります。

2.2.商の対数が差になる理由

次に、指数法則、

$$
a^{p-q}=\frac{a^p}{a^q}
$$

を考えます。2.1節と同じように、\(x=a^p\)、\(y=a^q\) とおけば、

$$
\frac{x}{y}=a^{p-q}
$$

です。両辺の底 \(a\) の対数をとり、2.1節で確認した逆関数関係を使うと、

$$
\begin{aligned}
\log_a\frac{x}{y}
&=p-q\\
&=\log_a x-\log_a y
\end{aligned}
$$

となります。つまり、対数を使うと、割り算を引き算に変換できるのです。

2.3.累乗の指数が係数になる理由

最後に、指数法則、

$$
(a^p)^r=a^{pr}
$$

を考えます。\(x=a^p\) とおけば、\(x^r=a^{pr}\) です。両辺の底 \(a\) の対数をとると、

$$
\begin{aligned}
\log_a(x^r)&=pr\\
&=r\log_a x
\end{aligned}
$$

が得られます。この式は、\(x\gt0\) であれば実数の \(r\) に対して成り立ちます。

つまり、累乗の指数を、対数の前に係数として取り出せるのです。

2.4.対数法則を整理する

ここまでの結果をまとめましょう。

$$
\begin{aligned}
&\log_a(xy)=\log_a x+\log_a y\\[6pt]
&\log_a\frac{x}{y}=\log_a x-\log_a y\\[6pt]
&\log_a(x^r)=r\log_a x
\end{aligned}
$$

ただし、\(a\gt 0\)、\(a\ne1\)、\(x\gt 0\)、\(y\gt 0\) とします。

これらの対数法則によって、積は和に、商は差に、累乗の指数は係数に変換できます。この変換の関係を図で整理してみましょう。

対数法則の計算構造

これらの関係は、別々の公式を暗記するものではなく、指数法則から導かれる一連の性質です。特に、掛け算や累乗を含む式を、足し算や係数を使った式に変換できることが重要です。この特徴は、第5章で扱う対数微分につながります。

3.自然対数の微分公式を導く

ここから、対数関数の微分を考えます。まずは、自然対数 \(y=\ln x\) を微分してみましょう。

3.1.指数関数との逆関数関係を使う

自然対数と自然指数関数は逆関数なので、\(y=\ln x\) は \(x=e^y\) と書き換えられます。

ここで、両辺を \(x\) で微分します。右辺では \(y\) が \(x\) の関数であることに注意し、自然指数関数の微分公式と連鎖律を使います。

$$
\begin{aligned}
&1=e^y\frac{dy}{dx}\\[6pt]
&\frac{dy}{dx}=\frac{1}{e^y}=\frac{1}{x}
\end{aligned}
$$

したがって、

$$
\frac{d}{dx}\ln x=\frac{1}{x}
$$

が得られます。ただし、実数の自然対数 \(\ln x\) は \(x\gt 0\) で定義されます。

つまり、自然対数の微分公式は、自然指数関数との逆関数関係と連鎖律から導けるのです。

3.2.導関数からグラフの特徴を理解する

自然対数の導関数は \(f'(x)=1/x\) です。\(x\gt 0\) では \(1/x\gt 0\) なので、自然対数関数は増加します。一方、\(x\) が大きくなるほど接線の傾きは小さくなります。

たとえば、

$$
\begin{aligned}
f'(1)&=1\\
f'(2)&=\frac12\\
f'(4)&=\frac14
\end{aligned}
$$

です。このように、自然対数関数は増加し続けますが、接線の傾きは次第に小さくなります。指数関数が急速に増加するのに対して、対数関数がゆっくりと増加することも、両者の逆関数関係と深く結びついています。

3.3.合成関数の自然対数を微分する

次に、\(y=\ln(g(x))\) という関数を考えます。ここでは、\(g(x)\gt0\) であり、\(g(x)\) は微分可能とします。

内側の関数を \(u=g(x)\) とおけば、\(y=\ln u\) です。連鎖律を使うと、

$$
\begin{aligned}
\frac{dy}{dx}
&=\frac{dy}{du}\frac{du}{dx}\\
&=\frac1u\,g'(x)\\
&=\frac{g'(x)}{g(x)}
\end{aligned}
$$

となります。したがって、合成関数の自然対数の微分公式は、

$$
\frac{d}{dx}\ln(g(x))=\frac{g'(x)}{g(x)}
$$

です。

たとえば、\(y=\ln(x^2+1)\) なら、内側の関数 \(g(x)=x^2+1\) の導関数は \(g'(x)=2x\) なので、

$$
\frac{dy}{dx}=\frac{2x}{x^2+1}
$$

となります。このように、対数関数の中に別の関数が入っていても、連鎖律を使えば微分できます。

なお、\(g(x)\ne0\) であれば、\(\ln|g(x)|\) の微分についても同じ形の公式が成り立ちます。

4.一般の対数関数の微分と底の変換

ここまでは、自然対数を扱いました。では、底が \(e\) 以外の場合は、どのように微分すればよいのでしょうか?

4.1.底の変換公式を導く

一般の対数 \(y=\log_a x\) を考えます。対数の定義から \(x=a^y\) なので、両辺の自然対数をとり、対数法則を使うと、

$$
\begin{aligned}
\ln x&=\ln(a^y)\\
&=y\ln a
\end{aligned}
$$

となります。\(\ln a\ne0\) なので、\(y\) について解くと、

$$
\log_a x=\frac{\ln x}{\ln a}
$$

が得られます。これを「底の変換公式」と呼びます。ただし、\(a\gt 0\)、\(a\ne1\)、\(x\gt 0\) とします。

4.2.一般の対数関数を微分する

底の変換公式から、\(\log_a x=\ln x/\ln a\) でした。ここで、\(\ln a\) は \(x\) に依存しない定数なので、

$$
\begin{aligned}
\frac{d}{dx}\log_a x
&=\frac{1}{\ln a}\frac{d}{dx}\ln x\\
&=\frac{1}{x\ln a}
\end{aligned}
$$

となります。つまり、一般の対数関数の微分公式は、

$$
\frac{d}{dx}\log_a x=\frac{1}{x\ln a}
$$

です。

4.3.底によって増加・減少が変わる

一般の対数関数の導関数は \(f'(x)=1/(x\ln a)\) です。\(x\gt 0\) なので、導関数の符号は \(\ln a\) によって決まります。

  • \(a\gt 1\) の場合:\(\ln a\gt 0\) なので増加する。
  • \(0\lt a\lt 1\) の場合:\(\ln a\lt 0\) なので減少する。

このように、指数関数と同じく、対数関数も底によって増減が変わります。

5.対数微分とは何か?|積・累乗を微分する

ここまで、対数関数の微分公式を学びました。しかし、対数は、対数関数そのものを微分するときだけに使うわけではありません。

対数法則を利用すると、積や累乗を含む複雑な関数を、微分しやすい形に変換できます。この方法を対数微分と呼びます。

5.1.なぜ対数をとると微分しやすくなるのか?

たとえば、\(y=x^2(x+1)^3\) という関数を考えます。この関数は積の微分公式と連鎖律でも微分できますが、最初に両辺の自然対数をとる方法もあります。

ここでは \(x\gt0\) とします。この範囲では \(y=x^2(x+1)^3\gt0\) なので、対数法則を使って、

$$
\begin{aligned}
\ln y
&=\ln\left(x^2(x+1)^3\right)\\
&=2\ln x+3\ln(x+1)
\end{aligned}
$$

と変形できます。掛け算と累乗が、足し算と係数に変換されました。

両辺を \(x\) で微分します。左辺の \(\ln y\) では、\(y\) 自体が \(x\) の関数なので、連鎖律を使います。

$$
\frac{d}{dx}\ln y
=\frac{d}{dy}\ln y\cdot\frac{dy}{dx}
=\frac1y\frac{dy}{dx}
$$

一方、右辺はそれぞれの項を微分するので、

$$
\frac1y\frac{dy}{dx}=\frac2x+\frac{3}{x+1}
$$

となります。両辺に \(y\) を掛け、最後に \(y=x^2(x+1)^3\) を戻すと、

$$
\begin{aligned}
\frac{dy}{dx}
&=x^2(x+1)^3\left(\frac2x+\frac{3}{x+1}\right)\\
&=x(x+1)^2(5x+2)
\end{aligned}
$$

が得られます。このように、対数微分を使うと、積や累乗を含む関数を、和の微分へ変換できるのです。

5.2.\(x^x\) は通常の微分公式で扱えるのか?

次に、\(y=x^x\) という少し変わった関数を考えます。

通常の累乗関数 \(y=x^n\) では指数 \(n\) が定数であり、指数関数 \(y=a^x\) では底 \(a\) が定数です。しかし、\(x^x\) では、底も指数も変数になっています。

そのため、これまでの微分公式をそのまま当てはめることはできません。そこで、対数微分を使って、この関数の導関数を求めてみましょう。

5.3.対数微分で \(x^x\) を微分する

実数の範囲で \(x^x\) を考えるため、ここでは \(x\gt0\) とします。\(y=x^x\) の両辺の自然対数をとり、対数法則を使うと、

$$
\ln y=\ln(x^x)=x\ln x
$$

となります。

両辺を \(x\) で微分します。左辺は、5.1節と同じように、\(y\) が \(x\) の関数であることに注意して連鎖律を使います。

$$
\frac{d}{dx}\ln y=\frac1y\frac{dy}{dx}
$$

一方、右辺は積の微分公式を使って、

$$
\begin{aligned}
\frac{d}{dx}(x\ln x)
&=\ln x+x\frac1x\\
&=\ln x+1
\end{aligned}
$$

となります。したがって、

$$
\frac1y\frac{dy}{dx}=\ln x+1
$$

です。両辺に \(y\) を掛け、\(y=x^x\) を戻せば、

$$
\frac{d}{dx}x^x=x^x(\ln x+1)
$$

が得られます。つまり、対数をとることで、変数が指数に入っている関数を、積の微分公式で扱える形に変換できたのです。

なお、前回学んだ指数関数の性質を使い、\(x^x=e^{x\ln x}\) と書き換えてから連鎖律で微分しても、同じ結果が得られます。

6.AIの対数損失・交差エントロピーとのつながり

対数関数は、AIの学習でも重要な役割を持っています。特に、予測と正解のずれを評価する「損失関数」で使われます。

6.1.対数損失とは何か?

AIがある事象の起こる確率を予測する状況を考えます。実際に起こった事象に対してAIが割り当てた確率を \(p\) とすると、次のような損失を考えることができます。

$$
L(p)=-\ln p
$$

ただし、\(0\lt p\le1\) とします。この式は、実際に起こった事象に低い確率を割り当てるほど、大きな損失を与えるという性質を持ちます。

たとえば、

$$
\begin{aligned}
L(0.9)&\approx0.105\\
L(0.5)&\approx0.693\\
L(0.1)&\approx2.303
\end{aligned}
$$

となります。実際に起こった事象に割り当てた予測確率 \(p\) と、対数損失 \(L(p)=-\ln p\) の関係をグラフで確認してみましょう。

対数損失と予測確率

グラフを見ると、\(p\) が \(1\) に近づくほど損失は \(0\) に近づき、\(p\) が \(0\) に近づくほど損失は急激に大きくなります。つまり、AIが実際に起こった事象に低い確率を割り当てた場合、大きな損失が与えられるのです。

6.2.対数損失を微分するとどうなるのか?

対数損失 \(L(p)=-\ln p\) を \(p\) で微分すると、

$$
\frac{dL}{dp}=-\frac1p
$$

となります。これは、\(p\) が小さいほど損失の傾きの絶対値が大きくなり、確率 \(p\) の変化に対して損失が敏感に変化することを意味します。

ただし、実際のニューラルネットワークでパラメータを更新するときの勾配は、確率を計算する関数も含めて連鎖律で求めます。そのため、ここでの \(-1/p\) がそのままパラメータに対する勾配になるわけではありません。

6.3.交差エントロピーとの関係

複数のクラスを予測する分類問題では、交差エントロピー損失がよく使われます。

正解を表す分布を \(t_i\)、AIの予測確率を \(p_i\) とすると、

$$
L=-\sum_{i=1}^{m}t_i\ln p_i
$$

と表せます。

ここで、予測確率は \(p_i\gt 0\) であり、\(\sum_{i=1}^{m}p_i=1\) とします。

正解クラスだけが \(1\)、それ以外が \(0\) となる「one-hot表現」を使う場合、交差エントロピーは正解クラスの予測確率 \(p_{\mathrm{true}}\) を用いて、

$$
L=-\ln p_{\mathrm{true}}
$$

となります。

つまり、先ほどの対数損失と同じ形です。

また、独立な観測データの尤度を掛け合わせるときも、対数をとることで積を和に変換できます。この性質は、対数尤度や最尤推定でも重要になります。

対数関数がAIで使われる理由の1つは、確率の積を和に変換でき、確率に基づく損失を微分して学習に利用できることなのです。

交差エントロピーの詳しい意味や、ソフトマックス関数と組み合わせた微分は、AI編で説明します。

まとめ

今回は、対数関数の意味と、対数法則・対数微分が成り立つ理由を学びました。

  • 対数関数は、指数関数の逆関数である。
  • 対数法則は、指数法則から導ける。
  • 対数を使うと、積を和、商を差、累乗の指数を係数に変換できる。
  • 自然対数の微分公式は、指数関数との逆関数関係と連鎖律から導ける。
  • 一般の対数関数は、底の変換公式を使って微分できる。
  • 対数微分を使うと、積や累乗を含む関数を微分しやすくなる。
  • 対数関数は、AIの対数損失や交差エントロピーでも使われる。

重要な公式をまとめると、

$$
\begin{aligned}
&\frac{d}{dx}\ln x=\frac1x\\[6pt]
&\frac{d}{dx}\log_a x=\frac{1}{x\ln a}\\[6pt]
&\frac{d}{dx}\ln(g(x))=\frac{g'(x)}{g(x)}\\[6pt]
&\frac{d}{dx}x^x=x^x(\ln x+1)
\end{aligned}
$$

となります。

なお、最初の2式は \(x\gt 0\)、3式は \(g(x)\gt 0\)、最後の式は \(x\gt 0\) で成り立ちます。また、一般の対数では \(a\gt 0\)、\(a\ne1\) とします。

対数関数の微分公式は、指数関数との逆関数関係から導けます。また、対数法則を使うと、積や累乗を含む関数を微分しやすい形に変換できます。この考え方は、AIの損失関数や確率モデルにもつながっています。

次回は、導関数を使って関数の最大値・最小値を求める方法を考えます。導関数の符号と極値の関係を理解し、AIの損失関数を最小化する考え方へつなげていきます。

関連記事

▶ 前回:指数関数の微分はなぜ特別なのか?|自然対数の底eの役割を理解する
指数関数の微分はなぜ特別なのか?|自然対数の底eの役割を理解する
指数関数を微分すると、なぜ元の関数に比例するのか?微分の定義から公式を導き、自然対数の底eが特別な理由や極限との関係を図で解説。連鎖律を使った計算例や、AIのシグモイド関数・ソフトマックス関数への応用も紹介します。
▶ 第4回:合成関数の微分とは何か?|連鎖律が成り立つ理由を理解する
合成関数の微分とは何か?|連鎖律が成り立つ理由を理解する
合成関数の微分とは何か?連鎖律がなぜ成り立つのかを、変化率の連鎖と微分の定義から丁寧に解説します。入力・中間変数・出力の関係を図で理解し、具体的な計算例を通して連鎖律の使い方を学びます。AIの誤差逆伝播法とのつながりも紹介します。
▶ 次回:関数の最大値・最小値はどう求めるのか?|導関数と極値の関係

(準備中)

▶ 関連:微分の公式はなぜ成り立つのか?|和・積・商の微分を理解する
微分の公式はなぜ成り立つのか?|和・積・商の微分を理解する
微分の公式はなぜ成り立つのか?べき関数、定数倍、和・差、積、商の微分公式を、微分の定義から丁寧に導出します。長方形の面積変化を使った図解や具体的な計算例を通して、公式の仕組みとAIの活性化関数とのつながりを理解します。

シリーズ全体を理解する

▶ 微分・積分をしくみから理解する|変化率・偏微分・勾配・連鎖律

(準備中)

関連書籍

対数関数の微分をさらに深く理解したい方には、微分積分の入門書がおすすめです。特に、指数関数との逆関数関係、対数法則の導出、連鎖律を使った微分計算を確認すると、理解が深まります。

ふたたびの微分・積分 | 永野 裕之 |本 | 通販 | Amazon
Amazonで永野 裕之のふたたびの微分・積分。アマゾンならポイント還元本が多数。永野 裕之作品ほか、お急ぎ便対象商品は当日お届けも可能。またふたたびの微分・積分もアマゾン配送商品なら通常配送無料。
妥協しないデータ分析のための 微積分+線形代数入門 定義と公式、その背景にある理由、考え方から使い方まで完全網羅! | 杉山 聡 |本 | 通販 | Amazon
Amazonで杉山 聡の妥協しないデータ分析のための 微積分+線形代数入門 定義と公式、その背景にある理由、考え方から使い方まで完全網羅!。アマゾンならポイント還元本が多数。杉山 聡作品ほか、お急ぎ便対象商品は当日お届けも可能。また妥協しな...

コメント

タイトルとURLをコピーしました