コード例 #1
0
def main():
    X, Y = load_data(sys.argv[1])
    X_val, Y_val = load_data(sys.argv[2])
    X_test, Y_test = load_data(sys.argv[3])

    print("1", X.shape)
    print("2", Y.shape)

    red = NeuralNetwork()
    red.type = 'C'
    #1
    red.structure = [5, 4, 5]
    red.initialize_parameters()
    red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(red.get_coded_y(predicts), red.get_coded_y(original))

    print("--------------------")
    #2
    red.structure = [5, 16, 5]
    red.initialize_parameters()
    red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(red.get_coded_y(predicts), red.get_coded_y(original))

    print("--------------------")
    # 3
    red.structure = [5, 32, 5]
    red.initialize_parameters()
    red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(red.get_coded_y(predicts), red.get_coded_y(original))

    print("--------------------")
    #4
    red.structure = [5, 64, 5]
    red.initialize_parameters()
    red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(red.get_coded_y(predicts), red.get_coded_y(original))

    print("--------------------")
    #5
    red.structure = [5, 128, 5]
    red.initialize_parameters()
    red.back_propagation2(X, Y, 10, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(red.get_coded_y(predicts), red.get_coded_y(original))

    print("--------------------")
コード例 #2
0
def main():
    X, Y = load_data(sys.argv[1])
    X_val, Y_val = load_data(sys.argv[2])
    X_test, Y_test = load_data(sys.argv[3])

    red = NeuralNetwork()
    red.out = 'sigmoid'
    #1
    red.structure = [7, 16, 1]
    red.initialize_parameters()

    print("X", X.shape)
    print("Y", Y.shape)

    red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(predicts, original)

    #2
    red.structure = [7, 32, 1]
    red.initialize_parameters()

    print("X", X.shape)
    print("Y", Y.shape)

    red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(predicts, original)

    #3
    red.structure = [7, 16, 16, 1]
    red.initialize_parameters()

    print("X", X.shape)
    print("Y", Y.shape)

    red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(predicts, original)

    #4
    red.structure = [7, 32, 32, 1]
    red.initialize_parameters()

    print("X", X.shape)
    print("Y", Y.shape)

    red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(predicts, original)

    #5
    red.structure = [7, 4, 4, 4, 1]
    red.initialize_parameters()

    print("X", X.shape)
    print("Y", Y.shape)

    red.back_propagation3(X, Y, 50, X_val, Y_val, 0.05, 3)

    predicts = []
    original = []
    X_test_t = np.transpose(X_test)
    Y_test_t = np.transpose(Y_test)

    for j in range(len(X_test_t)):
        X_eval = X_test_t[j].reshape(len(X_test_t[j]), 1)
        Y_eval = Y_test_t[j].reshape(len(Y_test_t[j]), 1)
        y_predict, _ = red.L_model_forward(X_eval)
        predicts.append(y_predict.reshape(len(y_predict)))
        original.append(Y_eval.reshape(len(Y_eval)))

    stadistics(predicts, original)