Ich versuche gerade das VB Beispiel eines NN (daß, das Frank gepostet hat) etwas zu durchleuchten.

Ein Punkt ist mir irgendwie aber sehr suspekt:
(Das ist an der Stelle an der die Gewichtung und der BIAS der einzelnen Neuronen geändert werden)
Code:
For k = 1 To 2

    HiddenNeuron(k).Bias = HiddenNeuron(k).Bias + LEARNING_RATE * 1 * HiddenNeuron(k).Delta
    HiddenNeuron(k).Weights(1) = HiddenNeuron(k).Weights(1) + LEARNING_RATE * Input1 * HiddenNeuron(k).Delta
    HiddenNeuron(k).Weights(2) = HiddenNeuron(k).Weights(2) + LEARNING_RATE * Input2 * HiddenNeuron(k).Delta

Next k

' See above how the Weight is altered by the Delta multiplied by the
' Learning rate - the larger the delta, and the larger the learning
' rate (which is a constant) - the more we're going to change each
' weight. But - the important part here is that we alter the weight
' of the Neuron also in terms of the INPUT. The larger the input was
' the more important this weight is to alter and so the more we're
' going to alter it by. - Bear this in mind when you look at how
' the weights for two neurons can start moving in the same direction
' initially and then change to moving in opposite directions - this
' is because of the Delta mainly being applied to a weight when
' there is a high input on that weight.
Die LEARNING_RATE ist eine Konstante.

Was mich irgendwie daran stört ist, daß die Gewichtung und der Bias ja immer größer wird:

Bias = Bias + (LearningRate * 1 * Delta)

oder besser :

Bias = Bias + (LearningRate * Delta)

Das würde ja bedeuten, daß der Wert immer größer wird. (Da das Delta ja wohl immer zwischen 0 und 1 liegt.)
(Im Prinzip ja egal, da es ja auf die Gewichtungen in Bezug zueinander wichtig sind).

Ist das wirklich so gewollt ?