logo

パーセプトロン収束定理 📂機械学習

パーセプトロン収束定理

X+X^{+}, XX^{-}線形分離可能なトレーニングセットだとしよう。yyを以下のラベルとする。

yi=±1 (xiX±) y_{i} = \pm 1\ (\mathbf{x}_{i} \in X^{\pm})

トレーニングセット全体X=X+XX = X^{+} \cup X^{-}NN個のデータがあるとすると、以下の順序で入力値を代入するとする。

x(1),x(2),x(N),x(1),x(2),x(N),x(1),x(2), \mathbf{x}(1), \mathbf{x}(2), \cdots \mathbf{x}(N), \mathbf{x}(1), \mathbf{x}(2), \cdots \mathbf{x}(N),\mathbf{x}(1), \mathbf{x}(2), \cdots

つまり、最後のデータまで学習プロセスが終わったら、初めから再開するということだ。

定理1

予測に失敗した入力値が出たたびに、以下のようにするとしよう。

x1,x2,,xn, \mathbf{x}_{1}, \mathbf{x}_{2}, \cdots, \mathbf{x}_{n}, \cdots

重みの初期値をw1=0\mathbf{w}_{1}=\mathbf{0}としよう。nn回目に予測に失敗した入力データに対して、以下のように重みをアップデートするとする。

wn+1=wn+ynxn \mathbf{w} _{n+1} = \mathbf{w}_{n} + y_{n}\mathbf{x}_{n}

すると、以下の式を満たすnon_{o}が存在する。

wno=wno+1=wno+2= \mathbf{w}_{n_{o}} = \mathbf{w}_{n_{o} + 1} = \mathbf{w}_{n_{o} + 2} = \cdots

{wnoTx>0if xX+wnoTx0if xX \begin{cases} \mathbf{w}_{n_{o}}^{T}\mathbf{x} > 0 & \text{if } \mathbf{x} \in X^{+} \\ \mathbf{w}_{n_{o}}^{T}\mathbf{x} \le 0 & \text{if } \mathbf{x} \in X^{-} \end{cases}

説明

上記の要約を一言でまとめると、「パーセプトロンは有限回の学習で完了する」ということだ。non_{o}以降では重みがアップデートされないということであり、これは全てのx\mathbf{x}に対してy=y^y = \hat{y}ということを意味する。

重みをアップデートする方式が単に間違ったデータを足すだけでよいという点と、有限回の回数で学習が終了することを数式的に示すことがポイントだ。

証明

入力データの予測に失敗した回数をnnとすると、上記のように重みをアップデートする時nnの上限があることを示す。


xn\mathbf{x}_{n}の予測に失敗したため、次のように重みをアップデートする。

wn+1=wn+ynxn \begin{equation} \mathbf{w} _{n+1} = \mathbf{w}_{n} + y_{n}\mathbf{x}_{n} \label{eq3} \end{equation} そして、X+X^{+}XX^{-}が分離可能であると仮定したので、次の式を満たすソリューションw\mathbf{w}_{\ast}が存在する。

{wTx>0if xX+wTx0if xXandw=1 \begin{cases} \mathbf{w}_{\ast}^{T}\mathbf{x} > 0 & \text{if } \mathbf{x} \in X^{+} \\ \mathbf{w}_{\ast}^{T}\mathbf{x} \le 0 & \text{if } \mathbf{x} \in X^{-} \end{cases} \quad \text{and} \quad \| \mathbf{w}_{\ast} \| = 1

すると、次が成り立つ。

wTwn+1=wTwn+ynwTxn \mathbf{w}_{\ast}^{T}\mathbf{w} _{n+1} = \mathbf{w}_{\ast}^{T}\mathbf{w}_{n} + y_{n}\mathbf{w}_{\ast}^{T}\mathbf{x}_{n}

そして、α>0\alpha>0を次のように定義する。

α:=minxXywTx \alpha := \min \limits_{\mathbf{x} \in X} y \mathbf{w}_{\ast}^{T}\mathbf{x}

すると、次の不等式が成立する。

wTwn+1wTwn+α \mathbf{w}_{\ast}^{T}\mathbf{w} _{n+1} \ge \mathbf{w}_{\ast}^{T}\mathbf{w}_{n} + \alpha

しかし、重みの初期値がw1=0\mathbf{w}_{1}=\mathbf{0}だったので、次の式が成り立つ。

wTwn+1wTwn+αwTwn1+2αwTw1+nα=nα \begin{equation} \begin{aligned} \\ \mathbf{w}_{\ast}^{T}\mathbf{w} _{n+1} &\ge \mathbf{w}_{\ast}^{T}\mathbf{w}_{n} + \alpha \\ &\ge \mathbf{w}_{\ast}^{T}\mathbf{w}_{n-1} + 2\alpha \\ &\cdots \\ &\ge \mathbf{w}_{\ast}^{T}\mathbf{w}_{1} + n\alpha \\ &= n\alpha \end{aligned} \label{eq1} \end{equation}

そして、コーシー・シュワルツの不等式によって、次の式が成り立つ。

wn+12=w2wn+12wTwn+12 \begin{equation} \| \mathbf{w}_{n+1} \|^{2} = \| \mathbf{w}_{\ast} \|^{2} \| \mathbf{w}_{n+1} \|^{2} \ge | \mathbf{w}_{\ast}^{T} \mathbf{w}_{n+1} |^{2} \label{eq2} \end{equation}

(eq1)\eqref{eq1}(eq2)\eqref{eq2}によって、次の式が成り立つ。

wn+12n2α2 \begin{equation} \| \mathbf{w}_{n+1} \|^{2} \ge n^{2}\alpha^{2} \label{eq4} \end{equation}

再び(eq3)\eqref{eq3}から下記の式を得る。

wn+12=wn2+xn2+2ynwnTxn \| \mathbf{w}_{n+1} \|^{2} = \| \mathbf{w}_{n} \| ^{2} + \| \mathbf{x} _{n} \| ^{2} + 2 y_{n}\mathbf{w}^{T}_{n}\mathbf{x}_{n}

しかしynwnTxn0y_{n}\mathbf{w}^{T}_{n} \mathbf{x}_{n} \le 0であるため、次の不等式を得る。

wn+12wn2+xn2wn2+β \| \mathbf{w}_{n+1} \|^{2} \le \| \mathbf{w}_{n} \| ^{2} + \| \mathbf{x} _{n} \| ^{2} \le \| \mathbf{w}_{n} \| ^{2} + \beta

この時、β=maxxXx2\beta = \max \limits_{\mathbf{x} \in X} \| \mathbf{x} \|^{2}である。すると、重みの初期値がw1=0\mathbf{w}_{1}=\mathbf{0}だったので、次の式が成り立つ。

wn+12wn2+βwn12+2βwn22+3βw12+nβ=nβ \begin{equation} \begin{aligned} \| \mathbf{w}_{n+1} \|^{2} &\le \| \mathbf{w}_{n} \| ^{2} + \beta \\ &\le \| \mathbf{w}_{n-1} \| ^{2} + 2\beta \\ &\le \| \mathbf{w}_{n-2} \| ^{2} + 3\beta \\ &\vdots \\ &\le \| \mathbf{w}_{1} \|^{2} + n\beta \\ &= n\beta \end{aligned} \label{eq5} \end{equation}

二つの不等式(eq4),(eq5)\eqref{eq4}, \eqref{eq5}を一緒にまとめると、次のようになる。

n2α2wn+12nβ n^{2} \alpha^{2} \le \| \mathbf{w}_{n+1} \|^{2} \le n\beta

nnについて整理すると、次のようになる。

n2α2nβ    nβα2 \begin{align*} && n^{2} \alpha^{2} &\le n\beta \\ \implies && n &\le \dfrac{\beta}{\alpha^2} \end{align*}

したがって、次を得る。

nmax=βα2 n_{\text{max}} = \dfrac{\beta}{\alpha^{2}}

これは、パーセプトロンが予測に失敗する回数が多くてもβα2\dfrac{\beta}{\alpha^{2}}回であり、その後は全てのトレーニングデータに対して予測を成功させるという意味である。


  1. Simon Haykin, Neural Networks and Learning Machines (3rd Edition, 2009), p50-53 ↩︎