logo

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

識別関数とは何か?

定義

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


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

定義についての説明

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

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

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

定理

σ\sigmaが連続な識別関数である場合、 S:={G(x)=k=1Nαkσ(ykTx+θk):ykRnαk,θkRNN} 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(In)C\left( I_{n} \right)一様に稠密である。別の言い方をすると、すべてのfC(In)f \in C \left( I_{n} \right)ε>0\varepsilon > 0に対して、次を満たすGSG \in Sが存在する。 Gf<ε \left\| G - f \right\| < \varepsilon

定理についての説明

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

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

証明 1

ハーン・バナッハの定理の系2XXC\mathbb{C}-ベクトル空間であり、YSY \subset S の両方がXXの部分空間であるとする。もしsSs \in Sd(s,Y)=δ>0d (s, Y) = \delta > 0と等しければ、次を満たすxXx^{ \ast } \in X^{ \ast }が存在する: x1 \left\| x^{ \ast } \right\| \le 1 y(s)=y(s)=δ,s(SY)x(y)=y(y)=0,yY \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*}

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


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