Purpose of `f_nom` in ALPACA
bkj opened this issue · comments
Are you able to explain the purpose of f_nom in ALPACA? Is this modification referenced in the paper at all?
Thanks
Hey Ben,
The purpose of f_nom is to provide a nominal transformation from x to y, and have the model only learn and adapt the error model online. Mathematically, the model is changed to be:
y = K^T \phi(x) + f_nom(x)
We did not use this for any of the simple function regression experiments in the paper.
For the dynamical systems modeling experiments, we use the ALPaCA framework to model the change in state. This is accomplished by using the model:
x[t+1] = K^T \phi(x[t], u[t]) + f_nom(x[t],u[t])
and setting
f_nom(x[t],u[t]) = x[t]
In the code, this is the default behavior when using the AdaptiveDynamics class without specifying f_nom manually.
Hope that clarifies things!
Cheers,
Apoorva