Skip to contents

Delegates the fit to morie_geron_batch_learning (closed-form ridge/least squares); adds exact leave-one-out risk from the hat matrix, e_loo_i = e_i / (1 - h_ii).

Usage

morie_geron_supervised_learning(X, y, ridge = 0, fit_intercept = TRUE)

Arguments

X

Labeled inputs (n, d).

y

Targets, length n.

ridge

L2 penalty.

fit_intercept

Include intercept column.

Value

list with theta, predict, fitted, residuals, empirical_risk, loo_risk, optimism, leverage, r2, estimate, n, method.

Examples

V <- c(1, 2, 3, 4, 5, 6, 7, 8)
morie_geron_supervised_learning(V, V)
#> $theta
#> [1] 1.128963e-15 1.000000e+00
#> 
#> $predict
#> function (Xnew) 
#> {
#>     A <- if (is.matrix(Xnew)) 
#>         Xnew
#>     else matrix(as.numeric(Xnew), nrow = 1)
#>     storage.mode(A) <- "double"
#>     .morie_gr_need(ncol(A) == nfeat, "predict: feature count mismatch")
#>     if (fit_intercept) 
#>         A <- cbind(1, A)
#>     as.numeric(A %*% theta)
#> }
#> <bytecode: 0x56217186f730>
#> <environment: 0x56216c7c1fe8>
#> 
#> $fitted
#> [1] 1 2 3 4 5 6 7 8
#> 
#> $residuals
#> [1] -6.661338e-16 -4.440892e-16  0.000000e+00  4.440892e-16  8.881784e-16
#> [6]  1.776357e-15  2.664535e-15  2.664535e-15
#> 
#> $empirical_risk
#> [1] 2.372746e-30
#> 
#> $loo_risk
#> [1] 5.248464e-30
#> 
#> $optimism
#> [1] 2.875718e-30
#> 
#> $leverage
#> [1] 0.4166667 0.2738095 0.1785714 0.1309524 0.1309524 0.1785714 0.2738095
#> [8] 0.4166667
#> 
#> $r2
#> [1] 1
#> 
#> $estimate
#> [1] 2.372746e-30
#> 
#> $n
#> [1] 8
#> 
#> $method
#> [1] "Empirical risk minimisation over linear hypotheses (fit via hmbat) with exact leave-one-out risk"
#>