Правильно ли моя целевая функция для оптимизации параметров SVM? - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть эта целевая функция для оптимизации параметров SVM с использованием PSO.

rmse <- function(error)
{
  sqrt(mean(error^2))
}

f <- function(V1, V2,V3)
{
  V1 <- log10(B1)
  V2 <- log10(B2)
  V3 <- log10(B3)

  svm.model <- svm(x=train, y=data<span class="math-container">$y1,scale=F, type= "eps-regression",kernel="radial",cost = V1 ,epsilon= V2 ,gamma= V3)
  error<- data$</span>y1- svm.model$fitted
  return (rmse(error))
}

, и я пытаюсь оптимизировать стоимость, гамму и эпсилон с использованием PSOPTIM в R

B3<-  seq(1, 2,0.1)
B1<-  2^(2:9)
B2 <- seq(1,10, 0.1)

n <- 50
m.l <- 50
w <- 0.95
c1 <- 0.2
c2 <- 0.2
xmin <- c(-5.12, -5.12)
xmax <- c(5.12, 5.12)
vmax <- c(4, 4)
optimum <-psoptim(f, n=n, max.loop=m.l, w=w, c1=c1, c2=c2,xmin=xmin, xmax=xmax, vmax=vmax, seed=5, anim=FALSE)

.результат не верный, он возвращает мне значение пригодности для первого значения стоимости, гаммы и эпсилона, а не дает мне оптимальное значение пригодности.

$`sol`
            x1        x2
[1,] -3.069804 -1.181932

$val
[1] 0.03505127

Я хочу, чтобы на выходе были оптимизированные значения стоимости, гаммы и эпсилона.Я знаю, что что-то не так с функцией.Любая помощь будет принята с благодарностью.

...