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 ↩︎