我有一个多变量函数,我想针对一个参数进行优化:
cost <- function(theta, X, y) {
m <- nrow(X)
X <- as.matrix(X)
J <- sum(-y * log(sigmoid(X %*% theta)) - (1-y) * log(1 - sigmoid(X %*% theta)))/m;
return(J)
}
为了优化它,我使用了 optim 函数。首先,我创建一个包装器,然后使用 optim 函数优化包装器函数:
# X and y initialized before
initial_theta <- rep(0,ncol(X))
wrapper <- function(theta) cost(theta, X=X, y=y)
o <- optim(initial_theta, wrapper)
如何在不创建额外函数的情况下使用 optim 优化多元函数?
最佳答案
optim
采用 ...
参数,该参数将任何附加输入传递给感兴趣的函数。因此,只要您要优化的参数是感兴趣函数的第一个参数,您就无需创建新函数。
optim(initial_theta, cost, X = X, y = y)
应该提供与创建额外功能相同的功能。
关于r - 优化 R 中的多元函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546036/