Esempio n. 1
0
    init = 0.00001
    d = 10

    # learning rate functions
    def lrf1(t):
        return init / (1 + ((init / d) * t))

    def lrf2(t):
        return init / (1 * t)

    # Question 2.2
    print("SVM in primal domain with stocahstic gradient descent.")
    print("\nWith first learning rate function: ")
    for C in Cs:
        print('\nC value = ' + str(C))
        parameters = SVM.PrimalSVM(epochs, lrf1, C, train_data, train_labels)
        print("Parameters:")
        print(parameters)
        error = SVM.test(parameters, train_data, train_labels)
        print("Train error: " + str(error))
        error = SVM.test(parameters, test_data, test_labels)
        print("Test error: " + str(error))
    input("\nWith second learning rate function: ")
    for C in Cs:
        print('\nC value = ' + str(C))
        parameters = SVM.PrimalSVM(epochs, lrf2, C, train_data, train_labels)
        print("Parameters:")
        print(parameters)
        error = SVM.test(parameters, train_data, train_labels)
        print("Train error: " + str(error))
        error = SVM.test(parameters, test_data, test_labels)