Alternatives to regression to decide weights in an expression I have a use case in which I am required to predict variable $y$ which depends on five variables $x_i$. Consider something like

$$ y=w_1 x_1+ w_2 x_2+ w_3 x_3+ w_4 x_4+ w_5 x_5.$$

This expression doesn't necessarily  need to be linear. I applied regression (linear, ridge, lasso, ARD) but I am not getting any good results for example, the original $y= 200$ but the predicted $y= 1$ or $2$.

Is there any other ML approach to train a model which takes as an input five variables and predict a new 6th variable?
First, consider normalising your data, inputs and outputs. If it does not do the desired behaviour, you can have different options.

A simple solution is to add some higher order polynomials to the current features for each input pattern and use the simple linear regression. The fact about that is this that you can not be sure what features you would need due to the fact that you can not see your data. Consequently, if you don't find the acceptable answers you want you can use the current features the higher order polynomials that you are going to add to train an MLP.