示例#1
0
    hidden = Layer(NUM_HIDDEN_NODES, input_data.shape[0], expit)
    output = Layer(len(input_files), NUM_HIDDEN_NODES, softmax)

    average_errors = np.ones(len(input_files))
    accepted_errors = np.full(len(input_files), ACCEPTED_ERROR)

    while not np.all(np.less(average_errors, accepted_errors)):
        # get a random date
        input_data, expected_value = get_input_data(input_files)

        # process inputs
        outputs = output.process(hidden.process(input_data))

        # calculate errors
        output.errors = expected_value - outputs
        hidden.errors = expit_prime(hidden.h) * np.dot(output.errors, output.weights)

        # update weights and biases
        output.update()
        hidden.update()

        average_errors = update_ema(output.errors, average_errors)

    print('last errors:\n', output.errors)
    print('last outputs:\n', outputs)
    print('last outputs rounded:\n', outputs.round())

    #index = expected_value.nonzero()[0][0]
    #print('index of class:', index)
    #print('output of class:', outputs[index])