Perceptron Convergence

Error-Correcting Perceptron Learning

  • Uses a McCulloch-Pitt neuron
    • One with a hard limiter
  • Unity increment
    • Learning rate of 1
w(n+1)=w(n) if wTx(n)>0 and x(n) belongs to class c1w(n + 1) = w(n) \text{ if $w^Tx(n) > 0$ and $x(n)$ belongs to class $\mathfrak{c}_1$}w(n+1)=w(n) if wTx(n)0 and x(n) belongs to class c2w(n + 1) = w(n) \text{ if $w^Tx(n) \leq 0$ and $x(n)$ belongs to class $\mathfrak{c}_2$}w(n+1)=w(n)η(n)x(n) if wTx(n)>0 and x(n) belongs to class c2w(n + 1) = w(n) - \eta(n)x(n) \text{ if } w^Tx(n) > 0 \text{ and } x(n) \text{ belongs to class }\mathfrak{c}_2w(n+1)=w(n)+η(n)x(n) if wTx(n)0 and x(n) belongs to class c1w(n + 1) = w(n) + \eta(n)x(n) \text{ if } w^Tx(n) \leq 0 \text{ and } x(n) \text{ belongs to class }\mathfrak{c}_1
  1. Initialisation. Set w(0)=0w(0)=0. perform the following computations for
    time step n=1,2,...n = 1, 2,...
  2. Activation. At time step nn, activate the perceptron by applying continuous-valued input vector x(n)x(n) and desired response d(n)d(n).
  3. Computation of Actual Response. Compute the actual response of the perceptron:
    y(n)=sgn[wT(n)x(n)]y(n) = sgn[w^T(n)x(n)]
    where sgn()sgn(\cdot) is the signum function.
  4. Adaptation of Weight Vector. Update the weight vector of the perceptron:
    w(n+1)=w(n)+η[d(n)y(n)]x(n)w(n+1)=w(n)+\eta[d(n)-y(n)]x(n) where d(n)={+1if x(n) belongs to class c11if x(n) belongs to class c2 d(n) = \begin{cases} +1 &\text{if $x(n)$ belongs to class $\mathfrak{c_1}$}\\ -1 &\text{if $x(n)$ belongs to class $\mathfrak{c_2}$} \end{cases}
  5. Continuation. Increment time step nn by one and go back to step 2.
  • Guarantees convergence provided
    • Patterns are linearly separable
      • Non-overlapping classes
      • Linear separation boundary
    • Learning rate not too high
  • Two conflicting requirements
    1. Averaging of past inputs to provide stable weight estimates
      • Small eta
    2. Fast adaptation with respect to real changes in the underlying distribution of process responsible for xx
      • Large eta

slp-separable