Exemplo n.º 1
0
    def test_logistic_scalar(self):
        var = Variable(2, 7)
        result = var.logistic()
        expected_derivative = (var.derivative * np.exp(-2)) / (1 +
                                                               np.exp(-2))**2

        self.assertAlmostEqual(1 / (1 + np.exp(-2)), result.value)
        self.assertAlmostEqual(expected_derivative, result.derivative)
Exemplo n.º 2
0
    def test_logistic_vector(self):
        var = Variable(2, np.array([2, 6, 8]))
        x = Variable(5, np.array([0.5, 0.7]))
        y = Variable(3, np.array([0.5, 0.9]))
        result = var.logistic()
        expected_derivative = (var.derivative * np.exp(-2)) / (1 +
                                                               np.exp(-2))**2
        equation = x + y**5
        equation_result = equation.logistic()
        equation_expected_derivative = (equation.derivative *
                                        np.exp(-equation.value)) / (
                                            1 + np.exp(-equation.value))**2

        self.assertAlmostEqual(1 / (1 + np.exp(-2)), result.value)
        np.testing.assert_array_almost_equal(expected_derivative,
                                             result.derivative)
        self.assertAlmostEqual(1 / (1 + np.exp(-equation.value)),
                               equation_result.value)
        np.testing.assert_array_almost_equal(equation_expected_derivative,
                                             equation_result.derivative)