logo

識別関数とは何か? 📂機械学習

識別関数とは何か?

定義

すべての$y \in \mathbb{R}^{n}$と$\theta \in \mathbb{R}$、そしてある$\mu \in M \left( I_{n} \right)$に対して $$ \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) = 0 \implies \mu =0 $$ を満たす関数$\sigma : \mathbb{R} \to \mathbb{R}$を識別関数discriminatory functionと呼ぶ。


  • $I_{n} := [0,1]^{n}$は、$n$次元の単位立方体であり、$n$個の閉区間$[0,1]$のデカルト積である。
  • $M \left( I_{n} \right)$は、$I_{n} := [0,1]^{n}$上で定義される符号 有限 正則 ボレル測度の集合である。
  • $y^{T}$は$y$の転置行列であり、$y^{T} x$は$x$と$y$の内積$\left< x, y \right>$と等しい。

定義についての説明

数式で識別関数を理解するには、対偶から始めるのが良い。 $$ \mu \ne 0 \implies \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) \ne 0 $$ 簡単に言うと、測度$\mu$が実際にすべての値を$0$に送るほど酷くなければ、$\sigma$に何を入れてもルベーグ積分したときに$I_{n}$の部分空間の中で$0$でないと正しく測定される場所があるべきだということだ。測度論のほとんど至る所の概念を考えれば、単に関数の値が$0$でないだけでは不十分であることが理解できるだろう。

もっと簡単に言うと、$\sigma$は、すべての$y \in \mathbb{R}^{n}$、$\theta \in \mathbb{R}$に対して上記の性質を満たすことによって、「はい、いいえ」を区別することができる実際の関数の役割を果たす。“識別的"という言葉には多少否定的なニュアンスがあるが、科学技術分野では単に区別するという程度で理解すればよい。

識別関数は、人工ニューラルネットワークなどの分野を理論的に支える**普遍近似定理**に登場し、当然最近流行しているディープラーニングとも関係がある。式で見ると、$x \in I_{n}$は入力データ、$y \in \mathbb{R}^{n}$は重み、$\theta \in \mathbb{R}$はバイアスと見ることができる。その場合、$\sigma$は、他ならぬ活性化関数と見ることができるだろう。活性化関数のアイデア自体がしきい値の模倣であることを考えると、信号が伝わるか伝わらないかの「識別」は、正確に識別関数の概念と一致する。

定理

$\sigma$が連続な識別関数である場合、 $$ S := \left\{ G(x) = \sum_{k=1}^{N} \alpha_{k} \sigma \left( y_{k}^{T} x+ \theta_{k} \right) : y_{k} \in \mathbb{R}^{n} \land \alpha_{k} , \theta_{k} \in \mathbb{R} \land N \in \mathbb{N} \right\} $$ は$C\left( I_{n} \right)$で一様に稠密である。別の言い方をすると、すべての$f \in C \left( I_{n} \right)$と$\varepsilon > 0$に対して、次を満たす$G \in S$が存在する。 $$ \left\| G - f \right\| < \varepsilon $$

定理についての説明

上記の定理を簡単な言葉で説明すると、私たちが望む任意の$f$を適切な重みとバイアスを見つけて識別関数の有限な線形結合で近似できるということである。機械学習の文脈では、$f$は私たちが真に見つけたい関数、つまり、私たちが望む作業をする関数である。その関数は、写真を入力として受け取り、それが犬か猫かを判断したり、韓国語の文字列を受け取り英語に変換したり、もっと複雑で興味深い関数であるかもしれない。

問題は、識別関数の定義から明らかなように、実際に識別関数がどのような関数であるかを知ることが難しいということである。このポストで紹介された定義だけを見て説明を読まずにいると、あるいは読んだとしても測度論の知識がなければ、つかみどころのない話に見えるかもしれない。幸いなことに、よく知られている形のいくつかの関数は、識別関数であることが証明され、それによって人工ニューラルネットワークが機能することが数学的に保証される。

証明 1

ハーン・バナッハの定理の系2:$X$が$\mathbb{C}$-ベクトル空間であり、$Y \subset S $の両方が$X$の部分空間であるとする。もし$s \in S$が$d (s, Y) = \delta > 0$と等しければ、次を満たす$x^{ \ast } \in X^{ \ast }$が存在する: $$ \left\| x^{ \ast } \right\| \le 1 $$ $$ \begin{align*} y^{ \ast } (s) =& y^{ \ast } (s) = \delta \qquad , s \in (S \setminus Y) \\ x^{ \ast } (y) =& y^{ \ast } (y) = 0 \qquad , y \in Y \end{align*} $$

$\overline{S} = C \left( I_{n} \right)$であることを示せばよい。$\overline{S} \subsetneq C \left( I_{n} \right)$と仮定すると、閉包$\overline{S}$が全体空間でないため、ハーン・バナッハの定理により、 $$ L \left( C \left( I_{n} \right) \right) = L \left( \overline{S} \right) = \left\{ 0 \right\} $$ である$L \ne 0$有界線形汎関数$L \in \left( C \left( I_{n} \right) \right)^{ \ast }$が存在する。リースの表現定理により、$L$は、ある$\mu \in M \left( I_{n} \right)$とすべての$h \in C \left( I_{n} \right)$に対して、 $$ L (h) = \int_{I_{n}} h(x) d \mu (x) $$ として表すことができる。特にその中で、$h(x) = \sigma \left( y^{T} x + \theta \right)$はすべての$y, \theta$に対して$\overline{S}$に属するので、$L$の性質により、 $$ L (h) = \int_{I_{n}} \sigma \left( y^{T} x + \theta \right) d \mu (x) = 0 $$ である。前提では$\sigma$は識別的であるので、$\mu = 0$であるが、その場合、$L$のリースの表現により、$L = 0$でなければならず、$0 \ne L$と矛盾する。したがって、$\overline{S} = C\left( I_{n} \right)$が成立しなければならない。


  1. G. Cybenko. (1989). Approximation by Superpositions of a Sigmoidal Function p4. ↩︎