def test_squared_loss_lipschitz(n_samples=4, n_features=2, random_state=42): rng = np.random.RandomState(random_state) for scaling in np.logspace(-3, 3, num=7): X = rng.randn(n_samples, n_features) * scaling y = rng.randn(n_samples) n_features = X.shape[1] L = spectral_norm_squared(X) _check_lipschitz_continuous(lambda w: _squared_loss_grad(X, y, w), n_features, L)
def test_squared_loss_lipschitz(n_samples=4, n_features=2, random_state=42): rng = np.random.RandomState(random_state) for scaling in np.logspace(-3, 3, num=7): X = rng.randn(n_samples, n_features) * scaling y = rng.randn(n_samples) n_features = X.shape[1] L = spectral_norm_squared(X) _check_lipschitz_continuous(lambda w: _squared_loss_grad( X, y, w), n_features, L)
def test_same_energy_calculus_pure_lasso(): rng = check_random_state(42) X, y, w, mask = _make_data(rng=rng, masked=True) # check funcvals f1 = _squared_loss(X, y, w) f2 = _squared_loss_and_spatial_grad(X, y, w.ravel(), mask, 0.) assert f1 == f2 # check derivatives g1 = _squared_loss_grad(X, y, w) g2 = _squared_loss_and_spatial_grad_derivative(X, y, w.ravel(), mask, 0.) np.testing.assert_array_equal(g1, g2)
def test_same_energy_calculus_pure_lasso(): rng = check_random_state(42) X, y, w, mask = _make_data(rng=rng, masked=True) # check funcvals f1 = _squared_loss(X, y, w) f2 = _squared_loss_and_spatial_grad(X, y, w.ravel(), mask, 0.) assert_equal(f1, f2) # check derivatives g1 = _squared_loss_grad(X, y, w) g2 = _squared_loss_and_spatial_grad_derivative(X, y, w.ravel(), mask, 0.) np.testing.assert_array_equal(g1, g2)