【发布时间】:2012-07-19 00:42:08
【问题描述】:
我有一个多元函数,我想优化一个参数:
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(initial_theta, cost, X=X, y=y)应该可以工作 -
@BenBolker - 谢谢,它有效。如果您希望您的答案被接受,请将其作为答案发布。
-
继续接受@Dason's,它说了同样的话。
标签: r optimization