예제 #1
0
    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