post Image
自然対数の底(ネイピア数) e は何に使うのか

はじめに

機械学習を学ぶ上で出てくる自然対数の底(ネイピア数 $e$)を理解していきたい。
シグモイド関数、ソフトマックス関数、交差エントロピー誤差、ガウス関数、ロジスティクス回帰の対数尤度関数にも自然対数という形で出てきます。
式としては、$e$ のように書かれてなく、$exp$ や $ln$ や $log$ で表記されています。

あと、こんな話もできるとかっこいいよね。

まったく出会いが起こらない確率である37%は、スイスの数学者レオンハルト・オイラーが発見したネイピア数(e=約2.718)で1を割った数。
なぜ幸運の確率は5分5分でなく、63%か

ネイピア数とは

ネイピア数 $e=2.71828182845904 \cdots$(鮒一羽二羽一羽二羽しごく惜しい)

$e$ は「ネイピア数」あるいは「自然対数の底」と呼ばれる定数です。間違える人が結構多いですが、$e$ は「自然対数」ではありません。あくまで底となります。$e$ を使った対数が自然対数となり、10進の底が常用対数となります。

数学史上最も美しい等式としてよく取り上げられるオイラーの等式には、ネイピア数が含まれています。
オイラーの等式は、解析学・代数学・幾何学という異なる分野において定義された全く起源の異なる3つの数「e,i,π」が、「1」と「0」という数学の基礎となる数とシンプルな1つの式で結び付けられている。

$e^{\pi i}+1=0$

  • e ネイピア数
  • π 円周率
  • i 虚数単位
  • 1 乗法の単位元、「存在を表し、また、存在を映す数」で、「ピッタリな自然数」
  • 0 加法の単位元、「無を表す数」で、「宇宙」や「調和」を象徴する数

自然

自然対数 $\log_e$ が「自然」であるというのは、数学において自然に生じ、よく見かけるということを根拠とするものである。

自然界の化学反応の速度や物質濃度の半減期を求める際等に現れます。

起源

まず、いつ、誰によって作られたのか、という点ですが、これがはっきりしません。
最古の痕跡としては、メソポタミア文明のころにはその存在は知られていたそうです。
しかし、その真の価値については微分が誕生してから再認識されたようです。

初めてネイピア数そのものを見い出したのはスイスの数学者ヤコブ・ベルヌーイだとされ金利計算の複利を調べて発見した。

この定数に初めて記号を与えたのは、ドイツの数学者ゴットフリート・ライプニッツで、1690年、書簡の中で $b$ を使いました。ライプニッツはヤコブ・ベルヌーイと交流していて微積分を教えていた。
$e$ を初めて使ったのはスイスの数学者レインハルト・オイラーで、1727年ごろ使い始めたようです。出版物では、1736年の『力学 (Mechanica)』が初出です。

自然対数の底eの呼び名「ネイピア数」の由来はジョン・ネイピア(John Napier)。対数の発見者として知られる。
ネイピア数 〜美しきムダな数〜 – 野中文雄

定義

ネイピア数の定義は下記2通りある。

$\displaystyle e = \lim_{n \to \infty} \left(1 + \frac{1}{n} \right )^n$

もしくは

$\displaystyle e = \lim_{h \to 0} \left(1 + h \right )^\frac{1}{h}$

逆数

括弧の中をマイナスに変更しただけで、逆数になってしまう。

$\displaystyle \frac{1}{e} = \lim_{n\to \infty} \left(1 – \frac{1}{n} \right )^n$

以前、書いた記事の「ジョン・ネイピアが20年かけた対数表について」で
ジョン・ネイピアが求めた式があります。
$\displaystyle x=10^{7}\left(1-\frac{1}{10^{7}}\right)^y$
式を書き換えると次のようになり、実は $\displaystyle \frac{1}{e}$ を求めていたのです。
$\displaystyle \left(1-\frac{1}{10^{7}}\right)^{10^{7}} \fallingdotseq \left(1-\frac{1}{\infty}\right)^{\infty} = \frac{1}{e}$

第7回 ネイピア数e誕生物語 – 人と星とともにある数学

連続複利

数式だけ見ると何の話をしているのかピンと来にくいと思うので、具体例を通じてネイピア数を理解していきましょう。

$\displaystyle \left (1 + \frac{1}{n} \right)^n$ は複利計算に関係している。金利計算で複利の計算をするとき、元本を表す「1」とのセットで行うのがふつうです。例えば 3% の金利であれば、「1+0.03」というのが基本のセットになります。

1年間の合計金利が100%になるように複利運用をしたら運用額はどうなるか?(中略)
実用上は現実性が薄くなりますが、同じ計算で分割回数をもっともっと細かくしていって、1日複利(÷365)、1時間複利(÷[365×24])、1秒複利(÷[365×24×360])のような極端な状態を考えることも理論上は可能です。
出展:【数列】連続複利とネイピア数 ”e” – 大人が学び直す数学

分割回数 計算式 増加率 受取額
1年複利 1 $\displaystyle \left (1 + \frac{1}{1} \right)^1$ 2.000000 2,000,000
半年複利 2 $\displaystyle \left (1 + \frac{1}{2} \right)^2$ 2.25000 2,250,000
3ヶ月複利 4 $\displaystyle \left (1 + \frac{1}{4} \right)^4$ 2.44140 2,441,406
1ヶ月複利 12 $\displaystyle \left (1 + \frac{1}{12} \right)^12$ 2.61303 2,613,035
1日複利 365 $\displaystyle \left (1 + \frac{1}{365} \right)^365$ 2.71456 2,714,567
1秒複利 3,153,600 $\displaystyle \left (1 + \frac{1}{3153600} \right)^3153600$ 2.71828 2,718,281

最後の1秒複利では、ネイピア数 $e=2.7182818$ が現れてきましたね。

この $e$ を初めて見出したのは、スイスの数学者ヤコブ・ベルヌーイ(1654~1705)だと言われています。当時の西洋は大航海時代を経て商業と経済活動が活発化し、その分野への数学の応用も盛んで金融業で重要な利息に関する計算に注目されていたのでしょう。

重要な性質

ネイピア数「$e$」を底とする指数関数 $y=e^x$ は重要で、$e^x$ は微分しても積分しても $e^x$ となり、何回微積分しても変わらない唯一の関数としても知られる。どちらかというと、そうなるような値を求めて $e$ としたと考えた方がいい。

「何回微積分しても変わらない」というのは、意味合い的には加法(足し算)においては $0$ 、乗法(掛け算)においては $1$ で、どちらも相手を変化させないですよね。数学ではこういう値が重要なのです。

定数 e そのものには、たいした意味はありません。重要なのは、指数関数 e^x です。この関数は、最も基本的な微分方程式 dy/dx = y の解です。
そのため、この関数を使って、様々な微分方程式の解が構成できるのです。
近代以降の物理では、自然現象の多くが、微分方程式によって記述されます。
e^x などと書くと、初めに e ありきのような印象なので、微分方程式 dy/dx = y, y(0) = 1 で定義される関数を y = exp(x) と書きましょう。e は、exp(1) の略記だと思えばよいです。
自然対数eは何に使えるのですか?- 教えてgoo

性質

  1. $e$ には、指数関数 $e^x$ を微分した結果は、$e^x$ となる。
    $\displaystyle \frac{d}{dx}e^x = e^x$
  2. 底を $e$ とする対数関数 $log(x)$ の微分は $\displaystyle \frac{1}{x}$ となる。
    $\displaystyle \frac{d}{dx}\log_e x = \frac{1}{x}$

性質の確認

Googleが公開したブラウザ上で使えるプログラム実行環境「Colaboratory」はChromeのデスクトップ版で動作します。Python3を使用して性質を確認してみます。
参考:不思議な数「e」と自然対数

性質 ①

性質「$e$ には、指数関数 $e^x$ を微分した結果は、$e^x$ となる。」を確認する

import numpy as np
import matplotlib.pyplot as plt

# 底
def get_base():
    return 2 # 10 , 2.718

# 指数
def exp_func(x):
    b = get_base()
    return np.power(b, x)

# 微分 
def numerical_diff(f, x):
    h = 1e-2 # 0.001 
    return (f(x + h) - f(x - h)) / (2 * h)

def main():
    x_values = np.arange(-1, 1, 0.1)
    exp_values = exp_func(x_values)
    diff_values = numerical_diff(exp_func, x_values)

    # draw graph
    plt.plot(x_values, exp_values, "-") # blue
    plt.plot(x_values, diff_values, "-", color="red") # red
    plt.grid()
    plt.show()

if __name__ == '__main__':
    main()

底2の指数関数(青)と傾きの微分関数(赤)をグラフにすると微分関数が下になります。
底2グラフ.png

底10の指数関数(青)と傾きの微分関数(赤)をグラフにすると微分関数が上になります。
底10グラフ.png

底2の時は微分関数が下に、底10の時に微分関数が上に来るとすると、2と10の間のある数では上でも下でもないという現象が起こりそう。早速底にいろんな数字を入れてみると、3ならば上、2.5なら下。こうやってどんどん一致する数に近づけていき 2.718 と入れるとほぼ一致するのです。(本当は、一致する値は最初から知ってました)
底eグラフ.png

性質 ②

性質「底を $e$ とする対数関数 $log(x)$ の微分は $\displaystyle \frac{1}{x}$ となる」を確認します。

import numpy as np
import matplotlib.pyplot as plt

# 逆数
def inverse_func(x):
    return 1 / x

# 指数
def exp_func(x):
    return np.exp(x)

# 対数
def log_func(x):
    return np.log(x)

# 微分 
def numerical_diff(f, x):
    h = 1e-4 # 0.0001 
    return (f(x + h) - f(x - h)) / (2 * h)

def main():
    x_values = np.arange(0.1, 5, 0.1)
    exp_values = exp_func(x_values)
    inverse_values = inverse_func(x_values)
    log_values = log_func(x_values)
    diff_values = numerical_diff(log_func, x_values)

    # draw graph
    plt.plot(x_values, inverse_values, "-") # blue
    plt.plot(x_values, log_values , "-", color="red") # red
    #plt.plot(x_values, diff_values , "-", color="red") # red
    plt.grid(color='gray')
    plt.show()

if __name__ == '__main__':
    main()

青線の傾きの関数 $\displaystyle \frac{1}{x}$は、$0.5$ で $2$ に、$1$ で $1$ に、 $2$ で $0.5$ になります。
赤線は自然対数の関数 $log(x)$ となり、反比例の関係が見て取れます。

自然対数グラフ.png

    #plt.plot(x_values, log_values , "-", color="red") # red
    plt.plot(x_values, diff_values , "-", color="red") # red

コメントアウトを入れ替えます。
赤線が自然対数の関数 $log(x)$ の微分となり、青線の傾きの関数 $\displaystyle \frac{1}{x}$ と一致します。

自然対数微分グラフ.png

使い道

対数・指数

数学・統計学では自然対数 $\log_ex$
生物・化学・工学では常用対数 $\log_{10}x$
欧米や関数電卓でも常用対数 $\log_{10}x$
情報理論では二進対数 $\log_2x$
自然対数・常用対数・二進対数の使い分け。log,ln,lg,expはどういう意味?

対数関数は指数関数の逆関数の関係にある。

C# 数学10 「常用対数、ネイピア数e-基本1、自然対数-基本1」e log ln exp
自然対数 $\log_e x$ の底 e を省略して単に $\log x$ と書くことも多いです。またたまに「ln x」と書かれることもある(’ln'(エルエヌ) = ‘natural logarithm’:「自然対数(ログナチュラル)」)「ln4」、「ln8」などという書き方をします。

指数関数 $e^x$ のことを $\exp x$ と表記することがあります。exponential (「指数の」という形容詞)という英単語から来ています。単に「イーのエックス乗」、または「エクスポネンシャルエックス」と読む人が多いです。exp(1) は自然対数 ln(1) の底です

いくつかのプログラミング言語(のライブラリ)について、対数をどのように指定するか調べた結果が次の表だ。Delphi 以外は全て ln ではなく log だ。
出典:ln, log, log10 – まじかんと雑記

名称 自然対数 常用対数 一般の対数
Mathematica Log[N] Log[b,N]
C/C++ log(N) log10(N)
Java log(N) log10(N)
ECMAScript log(N)
.NET Framework Log(N) Log10(N) Log(N,b)
ActiveBasic Log(N)
Delphi Ln(N) LogN(b,N)
FORTRAN log(N) log10(N)
Octave log(N) log10(N)
Perl log N
Prolog log(N) log(b,N)
Python log(N) log10(N) log(N,b)
Ruby log(N) log10(N)

底の変換公式

自然対数から常用対数への変換
$\displaystyle \log_{a}b = \frac{(\log_{c}b)}{(\log_{c}a)} = 対数$

$\displaystyle \log_{10}2 = \frac{(\log_{e}2)}{(\log_{e}10)}$
$\displaystyle = \frac{0.69314}{2.30258} = 0.301027$

対数の用途

対数logを理解してみる

  • かけ算を足し算または割り算を引き算にすることで計算を楽にさせる。
    $\displaystyle \prod_{n=1}^{N} f(n) = \sum_{n=1}^{N}\log f(n)$ ※$\prod$は、かけ算を繰り返す記号
  • 機械学習では非常に大きな数を扱います。プログラムでこのような数を扱うと、オーバーフローを起こしてしまうときがあります。そのような数は、対数 をとって扱うことで、オーバーフローを防ぐことができます。例えば、$100000000 = 10^{8}$、$0.000000001 = 10^{-8}$ となります。
  • 機械学習では確率を使いますが、同時確率の場合には 1 以下の数の掛け算の連続になります。多い場合にはアンダーフローを起こしてしまうときがあります。そのような数は、対数 をとって扱うことで、アンダーフローを防ぐことができます。
    例としてサイコロを2回投げた場合、1回目に1の目が出て2回目に2の目が出る確率は、下記の計算となる。
    $\displaystyle \frac{1}{6} \times \frac{1}{6} = \frac{1}{36}$
  • 対数は単調増加関数であるため、ある関数 $f(x)$ があって $f(x)$ を最小にする値を求めた場合、対数をとった $\log f(x)$ でも最小の値は同じになります。また、最大値を求める場合でも同じです。
    $f(x)=(x-1)^{2}+2$は、x=1の時、最小値をとる
    $\log f(x)=\log ((x-1)^{2}+2)$ も、x=1の時、最小値をとる

微分・積分

e を使う意図

自然現象には指数関数が非常によく出てきます。指数関数は $a^x$、ある数の $x$乗です。
この時ある数 $a$ はいろいろ変わるんですが、これを $e^{kx}$ と書き換えて $a$ の違いを $k$ に押し付けることで、ある数は全部 $e$ で統一できます。
でも、なんで $e$ にするのかというと、$e$ にしておくと微分や積分が簡単になるからなんです。なにしろ $e^x$ は微分しても積分しても $e^x$ なんですから。

微分の計算の中で、指数・対数の計算が出てきたときに、底をネイピア数に揃えると計算がすっきりしてすこぶる簡単になるので、それが常に意識され、当然視されます。微分においては、このネイピア数が、算数の四則演算における「1」のように、基点になる数なのです。
【微分】指数関数を微分するⅡ~微分しても変わらない関数 – 大人が学び直す数学

式の簡略化例

性質「底を $e$ とする対数関数 $log(x)$ の微分は $\displaystyle \frac{1}{x}$ となる」を使用します。

尤度関数の微分の一部分
$\displaystyle \frac{\partial u}{\partial v} = \frac{\partial u}{\partial v} \sum _{n=1}^{n} \left (y^{(i)} \log(v) + (1 – y^{(i)}) \log (1-v) \right)$

$u$ を $v$ で微分する。$\log(v)$ の微分は $\displaystyle \frac{1}{v}$ となる。
$\log (1-v)$ は合成関数にして微分、$\displaystyle -\frac{1}{1-v}$ となる。
すると、式が簡略化できる。
$\displaystyle \frac{\partial u}{\partial v} = \sum _{n=1}^{n} \left (\frac {y^{(i)}}{v} – \frac{1-y^{(i)}}{1-v} \right)$

オイラーの公式

性質 ① の「$e$ には、指数関数 $e^x$ を微分した結果は、$e^x$ となる。」がいまいち分からなくて、だから何なんだと思ってたんですが、オイラーの公式を知ることで重要性を理解しました。
Euler’s formula 中学生の知識でオイラーの公式を理解しよう 最終回 – Youtube

$e^{\pi i}+1=0$ は、式変形すると、$e^{\pi i}=-1$ となります。
これが何故そうなるのか。
下図で半径1の円で角度 $\displaystyle \theta = \frac{\pi}{n}$ の位置は $\displaystyle \left(\cos \frac{\pi}{n} + isin\frac{\pi}{n} \right)^n$ となります。
角度をどんどん小さくしていって 0 に近づけます(無限)。
その時に接線(傾き)を求めるということは、$e^\theta$ を微分することになり、性質 ① の通り結果 $e^\theta$ のままとなります。
$\displaystyle \theta = \frac{\pi}{n}$ なので、半周させる(接線を反対側へ)と$n$倍することになり、$\displaystyle \frac{\pi}{n} \cdot n = \pi$ となります。
よって、$e^{\pi}=-1$ が求まります。(虚数 $i$ は 1 扱いで省略)

オイラー見た目.png

初心者用 オイラーの公式 解説 – 東北工業大学

確率

100分の1を100回やってみる

「100回試したら一度は起こって欲しい事象に1/100の確率を使う馬鹿多過ぎwこれを100人で試したら、36人は統計的に100回では起きない概算になる。」(遠藤雅伸@evezoo)
参考: ゲームの神様「100分の1を100回やってみる」

たとえば、100個にひとつ当たりが入っているチョコレートを箱買いした場合と、100個に1個の割合で当たり玉の入った福引の場合の違い。

1/nの確率でn回試しても事象が起きない確率を計算してみた。
ネイピア数 〜美しきムダな数〜

$\displaystyle \frac{1}{100}$ が起こらない確率は、$\displaystyle 1 – \frac{1}{100}$ になります。

$\displaystyle \frac{1}{100}$ を100回やっても起こらない確率、$\displaystyle \left (1 – \frac{1}{100} \right)^{100}$ になります。

数学なので式を一般化すると、$\displaystyle \left (1 – \frac{1}{n} \right)^{n}$ になります。
ネイピア数の定義と似ていますが、中の $+$ と $-$ が違います。
括弧の中を変形します。
$\displaystyle 1 – \frac{1}{n} = \frac{n}{n} – \frac{1}{n} = \frac{n-1}{n}$

さらに変形します。$m = n-1$ にして置き換えます。

$\displaystyle = \frac{n-1}{(n-1)+1} = \frac{m}{m+1}$

分子と分母を入れ替えて逆数をとる

$\displaystyle = \frac{1}{\left (\frac{m+1}{m} \right)} = \frac{1}{\left (1 + \frac{1}{m} \right)}$

分母を調整すると、分母にネイピア数の定義が見えてくる。
$\displaystyle = \frac{1}{\left (1 + \frac{1}{m} \right)}$

$n$ 回掛け合わせて $n$ を無限大に
$\displaystyle = \frac{1}{\left (1 + \frac{1}{m} \right)} → \frac{1}{e} = 0.3678\dots$

まったく起こらない確率は $37\%$ となる。
なぜ幸運の確率は5分5分でなく、63%か につながる。

標準シグモイド関数

$\displaystyle \mathrm{sig}(a) = \frac{1}{1 + \exp(-a)}\Bigl(=\frac {exp(t)}{1+exp(t)}\Bigr)$

オッズ(odds)は、確率論で確率を示す数値。ギャンブルなどで見込みを示す方法として古くから使われています。

オッズ $Odds$と確率 $p$ には以下の関係式が成り立つ。
$\displaystyle Odds=\frac{p}{1−p}$

$\displaystyle p=\frac{Odds}{1+Odds}$

オッズと標準シグモイド関数の定義は似ていることに気が付いたでしょうか。
なぜ「+1」や「-1」をするのか

統計

非線形の回帰分析をする際に、両辺の対数をとった式にすることで線形の単純回帰モデルとして表現し直すことができる。

経済学や自然科学の世界では「所得が1%増えるたびに需要は〇%増える」といったように弾力性が一定と考えられるものが多く存在することから、対数変換をしてから最小二乗法を使う方法がよく使われているんです。
対数変換を行う意味について。回帰分析において対数変換する背景にある前提とは?

性質の証明

式の展開する上では、前提知識として組み合わせと二項定理を先に理解する。
展開式では、かけ算を「$\times$」ではなく「$\cdot$」で表現している。

ネイピア数 自然対数の底e とは – Youtube

組み合わせ(combination)

順列と組合せを理解してみる-組合せ

$\displaystyle _n C _r = \frac{_n P _r}{r!}$

$\displaystyle _n C _2 = \frac{n(n-1)}{2!}$
$\displaystyle _n C _3 = \frac{n(n-1) \cdot n(n-2)}{3!}$

二項定理

二項定理の意味と2通りの証明

$(a+b)^n=\displaystyle\sum_{k=0}^n{}_n\mathrm{C}_ka^kb^{n-k}$

$=(a + b)(a + b)(a + b) \cdots (a + b)$
$=a^n + n \cdot a^{n-1}b + {}_n C _2 \cdot a^{n-2}b^2+ {}_n C _3 \cdot a^{n-3}b^3 \cdots \cdots b^n$

分母の無限は0

極限の考え方で、分母の無限は$0$として扱う。

$\displaystyle \lim_{n \to \infty} \frac{n-1}{2!n}$

展開する
$=\displaystyle \frac{n}{2!n} – \frac{1}{2!n}$

左側の$n$は約分で消せる。右側の$n$は分母が無限で扱っている場合、$0$ 扱いで消す。
$=\displaystyle \frac{1}{2!}$

実際に展開

二項定理を使って展開、組み合わせを更に展開、分母の無限は$0$として扱って展開する。

\begin{align}
e &= \lim_{n \to \infty} \left(1 + \frac{1}{n} \right )^n\\
  &= 1 + {}_n C _1 \cdot 1 \cdot \frac{1}{n} + {}_n C _2 \cdot 1 \cdot \frac{1^2}{n^2} \cdot {}_n C _3 \cdot 1 \cdot \frac{1^3}{n^3} \cdots \cdots\\
  &= 1 + \frac{n}{1!} \cdot 1 \cdot \frac{1}{n} + \frac{n(n-1)}{2!} \cdot 1 \frac{1}{n^2} \cdot \frac{n(n-1)(n-2)}{3!} \cdot 1 \cdot \frac{1}{n^3} \cdots \cdots\\
  &= 1 + \frac{1}{1!} + \frac{1}{2!} + \frac{1}{3!} + \frac{1}{4!} + \frac{1}{5!} \cdots \cdots \frac{1}{n!}\\
  & \frac{1}{2!}以降は、幾ら足しても1より大きくなることはない。式全体は3より小さくなる\\
  &= 1 + 1 + 0.7182818284590 \cdots\\
  &= 2.7182818284590 \cdots\\
\end{align}

※先頭の $1$ も $\displaystyle \frac{1}{0!}$ と考えればより綺麗な式となる。

性質 ①

$e$ には、指数関数 $e^x$ を微分した結果は、$e^x$ となる。

「ネイピア数 e を底とする指数関数は、微分しても形が変わらない」という特殊な性質がある。
【微分】指数関数を微分するⅡ~微分しても変わらない関数 – 大人が学び直す数学

指数関数

$e=2.7182818284590 \cdots$ であるということは分かったが、どうしてこんな値を定義したのか指数関数のグラフで考えてみる。

どんな指数関数も、必ず $1$ を通る。

指数関数グラフ.png

$0$ の時 $1$ を通る接線は、$y=x+1$ となる。
接線1.png

指数関数のグラフを描いた時に
$y=2^x$ の接線は、$0$ の時 $1$ を通る接線の傾きより小さいから、$a$ は $2$ ではない。
$y=3^x$ の接線は、$0$ の時 $1$ を通る接線の傾きより大きいから、$a$ は $3$ ではない。

$a$ の値は、$2 < a < 3$ の範囲内に存在する。この辺りで $a$ が $e$ だろうと匂わせてる。

微分してみる

$0$ の時 $1$ を通る接線の傾きが、$1$ である特別な $a$ の値を考えてみる。
接線の傾きを求めるために、微分($y^\prime$)する。

\begin{align}
\displaystyle
y&=a^x\\
y^\prime &= \lim_{h \to 0} \frac{a^{x+h}-a^x}{h}\\
&=\lim_{h \to 0} \frac{a^x(a^h-1)}{h}
\end{align}

$X = 0$ の場合
$\displaystyle \lim_{h \to 0} \frac{a^{0+h}-a^0}{h} = \frac{a^{h}-1}{h} = 1$ である。

これを先程の式に代入してみる。
$\displaystyle y^\prime = \lim_{h \to 0} \frac{a^x(a^h-1)}{h} = a^x \cdot 1 = a^x$
$y^\prime=a^x$

つまり、微分しても微分する元の式 $y=a^x$ と同じになる。

性質 ②

底を $e$ とする対数関数 $log(x)$ の微分は $\displaystyle \frac{1}{x}$となる。

逆関数

先に、$a=e$ であることを確認する。

逆関数の微分公式を例題と図で理解する – 高校数学の美しい物語

$y=a^x$
$x=\log_ay$
$y=\log_ax$

指数関数 $y=a^x$ に対して線対称となるのが逆関数となる対数関数 $y=\log_ax$

逆関数グラフ.png

\begin{align}
\displaystyle
y&=\log_ax\\
y^\prime &= \lim_{h \to 0} \frac{\log_a(x+h)-\log_ax}{h}\\
&\frac{1}{h} を前にだし、対数関数の性質より引き算は割り算に直せる。\\
&=\lim_{h \to 0} \frac{1}{h}\log_a \frac{x+h}{x}\\
&=\lim_{h \to 0} \frac{1}{h}\log_a \left (1+\frac{h}{x} \right)
\end{align}

$X = 1$ の場合
$\displaystyle \lim_{h \to 0} \frac{1}{h}\log_a \left (1+\frac{h}{1} \right) = \frac{1}{h}\log_a (1+h) = 1$ である。
$\displaystyle \frac{1}{h}$ は対数関数の性質より、$α\log(x)=\log(x)α$ とできて指数に入れられるので
$\displaystyle \lim_{h \to 0} \log_a (1+h)^\frac{1}{h} = 1$ となる。

対数の底と真数部分が同じなら、その値は $1$ になります。

ネイピア数の定義 $\displaystyle e = \lim_{h \to 0} \left(1 + h \right )^\frac{1}{h}$ と
逆関数で求まった式 $\displaystyle \lim_{h \to 0} \log_a (1+h)^\frac{1}{h}$ は $\log_a$ を除けば同じ式である。
よって、$a=e$ である。

逆関数2

先程の微分の式を使う。

$\displaystyle y^\prime = \lim_{h \to 0} \frac{1}{h}\log_a \left (1+\frac{h}{x} \right)$
$\displaystyle \frac{1}{h}$ は対数関数の性質より、$α\log(x)=\log(x)α$ とできて指数に入れられるので
$\displaystyle y^\prime = \lim_{h \to 0} log_a \left (1+\frac{h}{x} \right)^\frac{1}{h}$
$\log$ の中の分数を $\displaystyle \frac{h}{x}$ を変数 $t$ に置き換える。
すると、$h=xt$ になります。
$\displaystyle = \lim_{t \to 0} \log_a (1+t)^\frac{1}{xt}$
$\displaystyle = \lim_{t \to 0} \log_a (1+t)^{\frac{1}{x}\frac{1}{t}}$

$\displaystyle \frac{1}{x}$ を対数の前に出し、さらに $t$ に関係ないので $\lim$ の前に出します。

$\displaystyle = \frac{1}{x}\lim_{t \to 0} \log_a (1+t)^\frac{1}{t}$

対数の底と真数部分が同じなら、その値は $1$ になります。
$\displaystyle \frac{1}{x}\lim_{t \to 0} \log_a (1+t)^\frac{1}{t}$ は $\displaystyle \frac{1}{x}$ と $\log_a$ を除けばネイピア数の定義と同じ式になります。

よって、$\displaystyle y^\prime = \frac{1}{x}$
底 $a$ の対数関数 $log_a(x)$ は、$\displaystyle \frac{1}{x}$ となる。

証明まとめ

指数関数の $y=a^x$ の $0$ の時 $1$ を通る接線は、微分($y^\prime=a^x$)しても元の指数関数と同じで、逆関数を求めたら $a=e$ であることが分かりました。

$a=e$ なので、$y=a^x$ は $y=e^x$ と表せる。

  • $e$ には、指数関数 $e^x$ を微分した結果は、$e^x$ となる。
  • 底を $e$ とする対数関数 $log(x)$ の微分は $\displaystyle \frac{1}{x}$ となる。

最後に

三角関数における度数法(360度で一周)と弧度法(2πで一周)の関係は、ある意味で、対数における常用対数(底が10)と自然対数(底がe)の関係に対応します。

前者は人間のしきたりに合わせたもので、それなりに便利ですが、これだと問題があります。
それは、微積分の理論を推し進めていくと、やがて三角関数の世界と指数関数の世界が相互に乗り入れるようになるのですが、度数法や弧度法だとこれがきれいにいかないのです。
他方、弧度法や自然対数は、数学自体にフィットするように作られていて、端的に言うと sin や log や exp のグラフが軸と交わるところで傾きが 1 になるようにうまく定義されています。
この統一的な仕様のおかげで、いろんな関数が「相互乗り入れ」したときに、うまい具合に式がひとつにつながる仕組みになっているのです。

参照


『 機械学習 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。