ACEfit.AbstractData
— TypeACEfit users should define a type of the form: UserData <: AbstractData
Several functions acting on such a type should be implemented: countobservations featurematrix targetvector weightvector
diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 44588f5..82bf97a 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.10.5","generation_timestamp":"2024-09-11T23:12:40","documenter_version":"1.7.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.10.5","generation_timestamp":"2024-09-11T23:23:37","documenter_version":"1.7.0"}} \ No newline at end of file diff --git a/dev/index.html b/dev/index.html index 4e9bd3b..1aea551 100644 --- a/dev/index.html +++ b/dev/index.html @@ -9,4 +9,4 @@ max_iter = 300, tol = 1e-3, threshold_lambda = 10000 -)
After this you can use the MLJ solver like any other solver.
ACEfit.AbstractData
ACEfit.BLR
ACEfit.LSQR
ACEfit.QR
ACEfit.RRQR
ACEfit.SKLEARN_ARD
ACEfit.SKLEARN_BRR
ACEfit.TruncatedSVD
ACEfit.assemble
ACEfit.assemble_weights
ACEfit.basis_size
ACEfit.count_observations
ACEfit.feature_matrix
ACEfit.target_vector
ACEfit.weight_vector
ACEfit.AbstractData
— TypeACEfit users should define a type of the form: UserData <: AbstractData
Several functions acting on such a type should be implemented: countobservations featurematrix targetvector weightvector
ACEfit.BLR
— Typestruct BLR
: Bayesian linear regression
Refer to bayesianlinear.jl (for now) for kwarg definitions.
ACEfit.LSQR
— TypeLSQR
ACEfit.QR
— Typestruct QR
: linear least squares solver, using standard QR factorisation; this solver computes
\[ θ = \arg\min \| A \theta - y \|^2 + \lambda \| P \theta \|^2\]
Constructor
ACEfit.QR(; lambda = 0.0, P = nothing)
where
λ
: regularisation parameter P
: right-preconditioner / tychonov operatorACEfit.RRQR
— Typestruct RRQR
: linear least squares solver, using rank-revealing QR factorisation, which can sometimes be more robust / faster than the standard regularised QR factorisation. This solver first transforms the parameters $\theta_P = P \theta$, then solves
\[ θ = \arg\min \| A P^{-1} \theta_P - y \|^2\]
where the truncation tolerance is given by the rtol
parameter, and finally reverses the transformation. This uses the pqrfact
of LowRankApprox.jl
; For further details see the documentation of LowRankApprox.jl
.
Crucially, note that this algorithm is not deterministic; the results can change slightly between applications.
Constructor
ACEfit.RRQR(; rtol = 1e-15, P = I)
where
rtol
: truncation toleranceP
: right-preconditioner / tychonov operatorACEfit.SKLEARN_ARD
— TypeSKLEARN_ARD
ACEfit.SKLEARN_BRR
— TypeSKLEARN_BRR
ACEfit.TruncatedSVD
— Typestruct TruncatedSVD
: linear least squares solver for approximately solving
\[ θ = \arg\min \| A \theta - y \|^2 \]
rtol
, i.e. keep only the components for which $\sigma_i \geq {\rm rtol} \max \sigma_i$Constructor
ACEfit.TruncatedSVD(; rtol = 1e-9, P = I)
where
rtol
: relative toleranceP
: right-preconditioner / tychonov operatorACEfit.assemble
— MethodAssemble feature matrix and target vector for given data and basis.
ACEfit.assemble_weights
— MethodAssemble full weight vector for vector of data elements.
ACEfit.basis_size
— Methodbasis_size(model)
Return the length of the basis, assuming that model
is a linear model, or when interpreted as a linear model. The returned integer must match the size of the feature matrix that will be assembled for the given model.
It defaults to Base.length
but can be overloaded if needed.
ACEfit.count_observations
— MethodReturns the corresponding number of rows in the design matrix.
ACEfit.feature_matrix
— MethodReturns the corresponding design matrix (A) entries.
ACEfit.target_vector
— MethodReturns the corresponding target vector (Y) entries.
ACEfit.weight_vector
— MethodReturns the corresponding weight vector (W) entries.
Settings
This document was generated with Documenter.jl version 1.7.0 on Wednesday 11 September 2024. Using Julia version 1.10.5.