def get_output_cost_deriv(self, outputs, training_values): """ Finds the cost of the network Args: output(List): A list of output neurons training_values(List): A list of actual values Returns: cost(List): List of costs Raises: ValueError: If output length doesn't match training data """ if len(outputs) != len(training_values): raise ValueError( "Network output length should match training data") costs = [outputs[i] - training_values[i] for i in range(len(outputs))] for i in range(len(costs)): costs[i] *= Layer.deriv_activation(outputs)[i] return costs