diff --git a/neural_network/simple_neural_network.py b/neural_network/simple_neural_network.py index f2a3234873b5..fd9143fcb910 100644 --- a/neural_network/simple_neural_network.py +++ b/neural_network/simple_neural_network.py @@ -21,6 +21,10 @@ def sigmoid_function(value: float, deriv: bool = False) -> float: return 1 / (1 + math.exp(-value)) +def elementwise_multiply(value, array): + return [value * x for x in array] + + # Initial Value INITIAL_VALUE = 0.02 @@ -47,8 +51,9 @@ def forward_propagation(expected: int, number_propagations: int) -> float: layer_1_error = (expected / 100) - layer_1 # Error delta layer_1_delta = layer_1_error * sigmoid_function(layer_1, True) - # Update weight - weight += INITIAL_VALUE * layer_1_delta + # Update weight using elementwise_multiply function + weight_list = elementwise_multiply(INITIAL_VALUE, layer_1_delta) + weight += sum(weight_list) return layer_1 * 100