优化目标就是找到比当前解更合适的解。
有些时候我们并不能直接算出最优的解,只能逼近最优解,这就需要进行目标优化。
R语言的优化函数
对于解的搜索,我们可以通过网格搜索,也就是一一尝试解,看当前优还是原解忧。但是效率太低了,不适合大型目标。
R语言提供了封装了主流优化算法的函数:
optim函数
optim(par, fn, gr = NULL, ...,
method = c("Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN",
"Brent"),
lower = -Inf, upper = Inf,
control = list(), hessian = FALSE)
optimHess(par, fn, gr = NULL, ..., control = list())
par 是初始值,fn是需要优化的函数。
了解一下从optim函数中得到的返回值:
par:优化的变量值
value:平方误差值
counts:迭代次数
convergence:是否有足够把握找到最优点
另外,可以使用curve()函数画出变化图像。
网友评论