如何使用遗传算法优化参数

时间:2015-08-15 15:49:02

标签: r optimization genetic-algorithm

我想使用R中的GA来优化eps-regression(SVR)中的三个参数(gamma,cost和epsilon)。这就是我所做的。

library(e1071)
data(Ozone, package="mlbench")
a<-na.omit(Ozone)
index<-sample(1:nrow(a), trunc(nrow(a)/3))
trainset<-a[index,]
testset<-a[-index,]
model<-svm(V4 ~ .,data=trainset, cost=0.1, gamma=0.1, epsilon=0.1, type="eps-regression", kernel="radial")
error<-model$residuals
rmse <- function(error) #root mean sqaured error
{
  sqrt(mean(error^2))
}
rmse(error)

在这里,我将cost,gamma和epsilon分别设置为0.1,但我不认为它们是最好的值。所以,我想使用遗传算法来优化这些参数。

GA <- ga(type = "real-valued", fitness = rmse,
         min = c(0.1,3), max = c(0.1,3),
         popSize = 50, maxiter = 100)

在这里,我使用RMSE作为适应度函数。但我认为健身功能必须包括要优化的参数。但是,在SVR中,目标函数太复杂了,无法用R代码写出来,我试图找到它很长时间但无济于事。有人同时了解SVR和GA的人,有使用GA优化SVR参数的人,请帮帮我。请。

0 个答案:

没有答案