def test_ogdlr_grad_numerically_l2(lambda2): epsilon = 1e-6 clf = OGDLR(lambda2=lambda2) clf.fit(X[:100], y[:100]) for xx, yy in zip(X[:10], y[:10]): grad, grad_num = clf.numerical_grad(xx, yy, epsilon) assert np.allclose(grad, grad_num, atol=epsilon)
def test_ogdlr_grad_numerically(alr): epsilon = 1e-6 clf = OGDLR(alr_schedule=alr) clf.fit(X[:100], y[:100]) for xx, yy in zip(X[:10], y[:10]): grad, grad_num = clf.numerical_grad(xx, yy, epsilon) assert np.allclose(grad, grad_num, atol=epsilon)
def test_ogdlr_grad_numerically_l1_l2(args): # test all combinations of lambda1 and lambda2 values of 0, # 0.5, and 2 and for alpha = 0.02 and beta = 1. epsilon = 1e-6 clf = OGDLR(*args) clf.fit(X[:100], y[:100]) close = [] for xx, yy in zip(X[:10], y[:10]): grad, grad_num = clf.numerical_grad(xx, yy, epsilon) assert np.allclose(grad, grad_num, atol=epsilon)