퍼셉트론 수렴 정리
📂머신러닝퍼셉트론 수렴 정리
X+, X−가 선형 분리 가능한 트레이닝 셋이라고 하자. y를 다음과 같은 레이블이라고 하자.
yi=±1 (xi∈X±)
전체 트레이닝 셋 X=X+∪X−에 N개의 데이터가 있다고 할 때 다음과 같은 순서로 입력값을 대입한다고 하자.
x(1),x(2),⋯x(N),x(1),x(2),⋯x(N),x(1),x(2),⋯
즉 마지막 데이터까지 학습 과정이 끝나면 처음으로 돌아가 다시 시작하는 것이다.
정리
예측에 실패한 입력값이 나올 때 마다 다음과 같이 둔다고 하자.
x1,x2,⋯,xn,⋯
가중치의 초기값을 w1=0이라고 하자. n번째 예측 실패한 입력 데이터에 대해서 다음과 같이 가중치를 업데이트 한다고 하자.
wn+1=wn+ynxn
그러면 다음의 식을 만족하는 no가 존재한다.
wno=wno+1=wno+2=⋯
{wnoTx>0wnoTx≤0if x∈X+if x∈X−
설명
위 정리를 한 마디로 요약하면 ‘퍼셉트론은 유한번에 학습을 완료한다’ 이다. no 이후에는 가중치가 업데이트 되지 않는 다는 말이고, 이는 모든 x에 대해서 y=y^라는 말이다.
가중치를 업데이트 하는 방식이 그저 틀린 데이터를 더해주기만 하면 된다는 점과 유한번의 횟수에 학습이 끝남을 수식적으로 보이는 것이 핵심이다.
증명
예측을 실패한 입력 데이터의 수를 n이라고 하면 위와 같이 가중치를 업데이트 할 때 n의 상한이 있음을 보일 것이다.
xn의 예측에 실패했으므로 다음과 같이 가중치를 업데이트한다.
wn+1=wn+ynxn
그리고 X+와 X−가 분리가능하다고 가정했으므로 다음의 식을 만족하는 솔루션 w∗가 존재한다.
{w∗Tx>0w∗Tx≤0if x∈X+if x∈X−and∥w∗∥=1
그러면 다음이 성립한다.
w∗Twn+1=w∗Twn+ynw∗Txn
그리고 α>0를 다음과 같이 정의하자.
α:=x∈Xminyw∗Tx
그러면 다음의 부등식이 성립한다.
w∗Twn+1≥w∗Twn+α
그런데 가중치의 초기값이 w1=0이었으므로 다음의 식이 성립한다.
w∗Twn+1≥w∗Twn+α≥w∗Twn−1+2α⋯≥w∗Tw1+nα=nα
그리고 코시-슈바르츠 부등식에 의해서 다음의 식이 성립한다.
∥wn+1∥2=∥w∗∥2∥wn+1∥2≥∣w∗Twn+1∣2
(eq1)와 (eq2)에 의해서 다음의 식이 성립한다.
∥wn+1∥2≥n2α2
다시 (eq3)으로부터 아래의 식을 얻는다.
∥wn+1∥2=∥wn∥2+∥xn∥2+2ynwnTxn
그런데 ynwnTxn≤0이므로 다음의 부등식을 얻는다.
∥wn+1∥2≤∥wn∥2+∥xn∥2≤∥wn∥2+β
이때 β=x∈Xmax∥x∥2이다. 그러면 가중치의 초기값이 w1=0이었으므로 다음의 식이 성립한다.
∥wn+1∥2≤∥wn∥2+β≤∥wn−1∥2+2β≤∥wn−2∥2+3β⋮≤∥w1∥2+nβ=nβ
두 부등식 (eq4),(eq5)를 한데 묶으면 다음과 같다.
n2α2≤∥wn+1∥2≤nβ
n에 대해서 정리하면 다음과 같다.
⟹n2α2n≤nβ≤α2β
따라서 다음을 얻는다.
nmax=α2β
이는 퍼셉트론이 예측을 실패하는 횟수가 아무리 많아야 α2β라는 뜻이고 그 이후로는 모든 트레이닝 데이터에 대해서 예측을 성공한다는 의미이다.
■