In supervised machine learning, it is common to say that we learn a function of the form
$$y=g(x) + \epsilon.$$
Generally, $\epsilon$ is used to denote noise or, more precisely, any influence by latent variables such as measurement inaccuracies (right?).
Is it, therefore, correct to say that we use $\epsilon$ to denote the model's imperfection to the real world (caused by anything unknown)?