Lesson 7

関数の基礎

Lesson 7 Chapter 1
二次関数

Lesson 7 では関数の基礎について学びます。 主に機械学習において登場することの多い関数やその分類について紹介していくので、それぞれの特徴をつかんでおきましょう。

まず、二次関数とは、次数が2の多項式として表される関数です。 $x$の関数として具体的に書くと以下のようになります。 \[ f(x) = ax^2 + bx + c \quad (a \neq 0) \] このとき$xy$平面上に$y=f(x)$のグラフを描くと放物線になります。以下は$y=x^2$のグラフです。

L7C1_graph.png $y=x^2$のグラフ(Matplotlib により作成)

$a \gt 0$のときは下に凸、$a \lt 0$のときは上に凸になります。

二次関数$f(x)$は、次のように変形(平方完成)することで特徴をつかむことができます。 \[ f(x) = a \left( x +\dfrac{b}{2a}\right)^2 -\dfrac{b^2}{4a} + c \] このとき、グラフ$y=f(x)$の軸は直線$x=-\dfrac{b}{2a}$、頂点の座標は$\left(-\dfrac{b}{2a}, -\dfrac{b^2}{4a} + c\right)$とわかります。

Lesson 7 Chapter 2
絶対値を含む関数

絶対値とは、数直線上での原点からの距離のことで、$x$の絶対値は$|x|$と書きます。 絶対値を含む関数のもっとも基本的なものとして$y=|x|$があります。 これのグラフは以下のようになります。

L7C2_graph.png $y=|x|$のグラフ(Matplotlib により作成)

中身が一次関数(次数が1の多項式)であるような絶対値を含むような関数は、上記の例のようにグラフが折れ線になることがあります。 折れ線の折れ曲がりの点のように、絶対値の中身が0になるような点においては、微分(Lesson 8)が不可能なことがあるので注意しましょう。

Lesson 7 Chapter 3
ガウス記号を含む関数

ガウス記号とは、$[\quad]$という記号のことで、$[x]$で$x$を超えない最大の整数のことを指します。 ガウス記号を含む関数は、そのグラフが階段状になります。下は$y=[x]$のグラフです。

L7C3_graph.png $y=[x]$のグラフ(Matplotlib により作成)

ガウス記号を含む関数においては、ガウス記号の中身がちょうど整数になるような点で不連続になる(このとき微分不可能)ことがあります。 また微分可能なところにおいても、導関数の値(「傾き」)が常に0になることがあります。

Lesson 7 Chapter 4
三角関数

次は三角関数について説明します。 $xy$平面上の単位円$x^2+y^2=1$上の点$A(1,0)$と点$B(x,y)$に対し、$\theta = \angle AOB$とおきます。 このとき \begin{align*} \sin \theta &= y \\ \cos \theta &= x \\ \tan \theta &= \frac{y}{x} \left(= \frac{\sin \theta}{\cos \theta}\right) \end{align*} と置きます。この$\sin \theta$、$\cos \theta$、$\tan \theta$をまとめて三角関数といいます。 以下は$y=\sin x$、$y=\cos x$、$y=\tan x$のグラフです。 $y=\sin x$と$y=\cos x$を比較するためにこれらは重ねて表示しています。

L7C4_graph1.png $y=\sin x$および$y=\cos x$のグラフ(Matplotlib により作成)

L7C4_graph1.png $y=\tan x$のグラフ(Matplotlib により作成)

上のグラフからもわかるように、$\cos x = \sin \left(x + \dfrac{\pi}{2}\right)$が成り立ちます。 また$\tan x$は$x$が$\dfrac{\pi}{2}$の整数倍になるところで不連続です。 その他にも三角関数にはさまざまな性質があり、その中には数学的に非常に良い性質と言えるものがあるので、多くの場面で使われています。 例えば以下のような性質があります。

  • 周期性。任意の整数$n$に対して以下が成り立つ
    • $\sin(\theta + 2\pi n) = \sin \theta$
    • $\cos(\theta + 2\pi n) = \cos \theta$
    • $\tan(\theta + \pi n) = \tan \theta$。
  • 三角関数の基本公式
    • $\sin^2 \theta + \cos^2 \theta = 1$
    • $1 + \tan^2 \theta = \dfrac{1}{\cos^2 \theta}$
  • 加法定理
    • $\sin(x\pm y) = \sin x \cos y \pm \cos x \sin y$
    • $\cos(x\pm y) = \cos x \cos y \mp \sin x \sin y$
    • $\tan(x\pm y) = \dfrac{\tan x \pm \tan y}{1 \mp \tan x \tan y}$

三角関数の良い性質はこれだけではありません。興味のある人は調べてみましょう。

Lesson 7 Chapter 5
指数関数

指数関数は、以下のように定義される関数です。 \[ f(x) = a^x \quad (a > 0, a \neq 1) \] 以下は$y=2^x$のグラフと$y=\left(\dfrac{1}{2}\right)^x$のグラフです。なおこれらは$y$軸について対象になります。

L7C5_graph1.png $y=2^x$のグラフ(Matplotlib により作成)

L7C5_graph2.png $y=\left(\dfrac{1}{2}\right)^x$のグラフ(Matplotlib により作成)

$f(x) = a^x$を「$a$を底とする指数関数」ということがあります。指数関数の持つ性質としては以下のようなものがあります。

  • 任意の$x$に対し$a^x > 0$
  • $a^x a^y = a^{x+y}$、つまり$f(x+y) = f(x)(y)$(指数法則)
  • $0 \lt a \lt 1$のとき、$f(x) = a^x$は狭義単調減少。つまり$x$が増加すると$f(x)$は減少する
  • $a \gt 1$のとき、$f(x) = a^x$は狭義単調増加。つまり$x$が増加すると$f(x)$も増加する

なおChapter6で登場する$e$という数を用いた指数関数$f(x) = e^x$($e$を底とする指数関数)は、「微分しても変わらない」などといった良い性質があります。 単に指数関数といったときはこの$e^x$を指すこともあるので注意しましょう。

Lesson 7 Chapter 6
対数関数

指数関数に大きく関連するものとして、対数関数を紹介します。 $a > 0$、$a \neq 1$のとき、正の実数$x$に対して、$a^p = x$となる実数$p$がただ一つ存在します(これは指数関数の性質から導かれます)。 この$p$のことを、$x$の$a$を底とする対数といって、$p = \log_a x$と書きます。$a$を底というのに対し、$x$は真数といいます。 そして、これを$x$の関数$f(x)=\log_a x$とみなすとき、$a$を底とする対数関数といいます。

以下は$y=\log_2 x$のグラフです。

L7C6_graph.png $y=\log_2 x$のグラフ(Matplotlib により作成)

対数関数には以下のような性質があります。

  • $a^{\log_a x} = x$(定義)
  • $\log_a 1 = 0$
  • $\log_a xy = \log_a x + \log_a y$
  • $\log_a \dfrac{x}{y} = \log_a x - \log_a y$
  • $\log_a x^p = p\log_a x$
  • $\log_a x = \dfrac{\log_b x}{\log_a b}$(底の変換公式)

ここで、やや唐突ですが$n$を限りなく大きくしたときに$\left(1 + \dfrac{1}{n}\right)^n$がどうなるかを考えましょう。 このとき実は、$\left(1 + \dfrac{1}{n}\right)^n$は限りなくある値$2.71828...$に近づきます。この値をネイピア数$e$といいます。 まとめると、次のようになります。 \[ e = \lim_{n\leftarrow \infty} \left(1 + \dfrac{1}{n}\right)^n = 2.71828... \] そして、この$e$を底とする対数を自然対数といいます。 自然対数は、それが持つ良い性質(微分などに関するもの、Lesson 8 で説明)からさまざまな場面で用いられるので、$\log_e x$と書く代わりに底を省略して$\log x$と書くことがあります。 そのほか、$\ln x$で自然対数を表すこともあります。

底の省略

数学や統計の分野においては、$\log x$と書いたときの底はネイピア数$e$であることがほとんどですが、他の分野ではそうとは限りません。
例えば生物や化学の場合は、底が10のものを$\log x$と書くことがあります。これは常用対数といいます。 さらに情報系の場合は、底が2のものを$\log x$と書くことがあります。これは二進対数といいます。
底を省略するときには、省略しても誤解なく伝わる場面であるかしっかり判断する必要があります。 次のような注釈を入れておくのも良いでしょう。
この教材では、自然対数の底を省略します。

Lesson 7 Chapter 7
合成関数

関数の合成とは、ある関数を適用したあとでさらにある関数を適用することを指します。

関数$f(x)$と$g(x)$があったときに、次のようにしてこれらの関数を合成したものを考えられます。 \[ (g \circ f) (x) = g(f(x)) \] このように、$g \circ f$で$f$と$g$の合成を表します。どちらの関数を先に書くかに注意してください。 そして関数の合成によってできた新しい関数を合成関数といいます。

合成関数の例を見てみましょう。関数$f(x)=2x+1$と関数$g(x)=x^2+3x$を合成してみます。以下のようになります。 \begin{align*} (g \circ f) (x) &= g(f(x)) \\ &= (2x+1)^2 + 3(2x+1) \\ &= 2(2x+1)(x+2) \end{align*}

関数の合成は、繰り返し行うことができます。つまり、 \[ (h \circ (g \circ f)) (x) = h((g \circ f) (x)) = h(g(f(x))) \] です。また \[ ((h \circ g) \circ f) (x) = (h\circ g )(f(x)) = h(g(f(x))) \] なので、$(h \circ (g \circ f)) (x) = ((h \circ g) \circ f) (x)$が成り立ちます。

合成関数は、Lesson 9 で学ぶ合成関数の微分において登場する重要な概念なので、その意味をしっかり理解しておきましょう。

Lesson 7 Chapter 8
逆関数

最後に逆関数について説明します。 関数$f(x)$が(その定義域内で)単射、つまり「$x \neq y$ならば$f(x)\neq f(y)$」が成り立つとき、$f(x)$には逆関数が存在し、次のように定義されます。 $f(x)$が単射なとき、($f(x)$の値域内で)$y$を決めると$f(x) = y$となる$x$がただ一つ存在するので、それを関数$g(y)$の$y$における値とします。 つまり、$g(y)=x$です。 このとき$g(y)$を$f(x)$の逆関数といいます。 また、関数$f(x)$の逆関数を$f^{-1}(x)$と書くこともあります。

逆関数の例をいくつか紹介しておきましょう。 例えば一次関数$f(x)=2x+1$の逆関数は$f^{-1}(y) = \dfrac{1}{2}y-1$になります。 これはどのようにして求められるかを説明します。まず$y=f(x)=2x+1$とおいて、これを$x$について解くと$x=\dfrac{1}{2}y-1$になります。 するとこの右辺が逆関数$f^{-1}(y)$になります。イメージとしては、「$y$を$x$の式で表す代わりに、$x$を$y$で表すことで逆関数を見つける」という感じになります。

また、指数関数$f(x)=e^x$の逆関数は、実は$f^{-1}(y)=\log y$になります。このことはChapter6の対数関数の定義からわかります。

以下に逆関数の性質をいくつか示します。

  • $(g \circ f)^{-1}(y) = (f^{-1}\circ g^{-1})(y)$
  • $(f^{-1})^{-1}(x)=f(x)$
  • $f^{-1}(f(x)) = x$
  • $f(f^{-1}(y)) = y$
  • $y=f(x)$のグラフと$y=f^{-1}(x)$のグラフは直線$y=x$について線対称

逆関数についてもその微分を後ほど学ぶので、定義を身に着けておきましょう。