übung 3
parent
21bdd9376a
commit
3aaba244d5
|
|
@ -37,19 +37,23 @@ class SLN:
|
||||||
for it in range(maxIter):
|
for it in range(maxIter):
|
||||||
Y = self.neuron(X) # nur ein Aufruf
|
Y = self.neuron(X) # nur ein Aufruf
|
||||||
err = ErrorRate(Y, T)
|
err = ErrorRate(Y, T)
|
||||||
if (it % 20) == 0:
|
# if (it % 20) == 0:
|
||||||
print('#{} err:{}\n{}\n{}'.format(it, err, self._W, self._b))
|
print('#{} err:{}\n{}\n{}'.format(it, err, self._W, self._b))
|
||||||
nnwplot.plotTwoFeatures(X, T, self.neuron)
|
nnwplot.plotTwoFeatures(X, T, self.neuron)
|
||||||
plt.pause(0.05) # warte auf GUI event loop (je nach python Version notwendig oder nicht)
|
plt.pause(0.05) # warte auf GUI event loop (je nach python Version notwendig oder nicht)
|
||||||
if err <= maxErrorRate:
|
if err <= maxErrorRate:
|
||||||
break
|
break
|
||||||
# update _W
|
# update _W
|
||||||
|
total_to_learn = 0
|
||||||
for n in range(N):
|
for n in range(N):
|
||||||
error = T[n] - Y[n]
|
error = T[n] - Y[n]
|
||||||
for j in range(self.dIn):
|
for j in range(self.dIn):
|
||||||
weighted_error = error * X[j, n]
|
weighted_error = error * X[j, n]
|
||||||
to_learn = weighted_error * eta
|
to_learn = weighted_error * eta
|
||||||
self._W[j, 0] += to_learn
|
print("{:.2f} = {} * {} * {}".format(to_learn, error, X[j, n], eta))
|
||||||
|
total_to_learn += to_learn
|
||||||
|
print(total_to_learn)
|
||||||
|
self._W[j, 0] += total_to_learn
|
||||||
# update _b
|
# update _b
|
||||||
...
|
...
|
||||||
print('#{} err:{}\n{}\n{}'.format(it, err, self._W, self._b))
|
print('#{} err:{}\n{}\n{}'.format(it, err, self._W, self._b))
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue