Improving kernel semi-parametric regression model based on a bat optimization algorithm