/Reckon

Scientific tool for estimation problems.

Primary LanguageC++

Reckon

Reckon is a library containing various algorithms for scientific applications.

Regularization

Regularization is a method to adjust how closely a model fits to data. Adding an additional term that penalizes the loss function is one of the ways of adjusting the output model. Linear regularization problems can be defined as follows.

equation

Here, $p$ and $q$ represent the norm of the vectors. $\mathbf{x}$ is the unknown source (or the model parameters) to be estimated, $\mathbf{A}$ is the forward model matrix with high condition number or it is rank deficient. $\mathbf{L}$ is the regularization operator, which is used to adjust the properties of the output model. $\lambda$ is a regularization parameter employed to determine the weight of the regularization term in the solution. $\mathbf{y}$ is the noisy measurements that can be expressed as follows;

$\mathbf{y}= \mathbf{A}\mathbf{x} + \mathbf{n}$

Where $\mathbf{n}$ is the measurement noise vector.

  • If $p = q = 2$, then the problem is called Tikhonov regularization or $L_{2}$ regularization that usually yields smooth estimation.

  • If $p = 2$, $q = 1$, then the problem is called $L_{1}$ regularization, which promotes sparsity in the solution.

Kalman Filter

Kalman filtering is an algorithm that allows us to estimate the state of a system based on observations or measurements. The state of a system at time k evolved from the prior state at time k-1, expressed in the following form;

$\mathbf{x}(k)= \mathbf{A}\mathbf{x}(k-1) + \mathbf{B}\mathbf{u}(k-1) + \mathbf{w}(k-1)$

And the accompanying observation is defined as;

$\mathbf{y}(k)= \mathbf{H}\mathbf{x}(k) + \mathbf{v}(k-1)$

where

$p(\mathbf{w}) \sim \mathcal{N}(0,\mathbf{Q})$

$p(\mathbf{v}) \sim \mathcal{N}(0, \mathbf{R})$

The cycle of discrete Kalman filter.

Kalman