호출 함수의 변수를 호출 함수에 알리는 방법 (함수 인수가 아님)

cryo111

최적화는 R종종 후보 매개 변수 공간의 특정 지점에서 평가 된 목적 함수 값을 반환하는 함수를 사용하여 작동합니다.

f=function(x) x[1]**2+x[2]**2

그런 다음 최적 벡터 x는 일반적으로

x_opt=somepkg::optim(f,xstart,params) #xstart may be the starting point

좋은 이유로 대부분의 패키지는 최적화 되지 않는f 추가 매개 변수를 가질 수 있습니다 ( 최적화 기능에서 생략 부호 사용 ). 예를 들어 . 그래서 만약 내가params ...somepkg::optimDEOptim

f=function(x,a) x[1]**2+x[2]**2+a*x[1]

나는 전화 할 것이다

x_opt=somepkg::optim(f,xstart,a=1)

지금, 나는 패키지 (발생했습니다 rBayesianOptimization(종속성 패키지의 일부 함수에 매개 변수를 전달 줄임표를 사용) GPfit)하지만, 하지로를 f . 따라서, 질문하는 방법을 발생 a알고 f...

아래는 누락 된 줄임표를 어떻게 해결할 수 있었는지 보여주는 최소한의 예입니다. 그러나 나는 내 방법이 내가 아직 알지 못하는 심각한 함정을 도입 할 수 있다는 느낌이있다. 이것이 어떻게 제대로 수행되는지에 대한 조언을주십시오.

library(rBayesianOptimization)

Test_Fun <- function(x) {
  #hacky way of finding 'a' from the calling function
  #n=6 was "empirically" determined
  a=get("a",envir=parent.frame(n=6))
  list(Score = exp(-a*(x - 2)^2) + exp(-(x - 6)^2/10) + 1/ (x^2 + 1),
       Pred = 0)
}

Do_Opt=function () {
  #it's a requirement of mine that BayesianOptimization is called from Do_Opt
  a=2

  OPT_Res <- BayesianOptimization(Test_Fun,
                                  bounds = list(x = c(1, 3)),
                                  init_points = 2, n_iter = 1,
                                  acq = "ucb", kappa = 2.576, eps = 0.0,
                                  verbose = FALSE)
}

Do_Opt()
AEF

다음과 같이 "생성자 함수"에서 additioanl 매개 변수를 래핑 할 수 있습니다.

getTestFun <- function(a) {

  Test_Fun <- function(x) {
   list(Score = exp(-a*(x - 2)^2) + exp(-(x - 6)^2/10) + 1/ (x^2 + 1),
   Pred = 0)
  }

  Test_Fun

}

그런 다음 다음을 수행 할 수 있습니다.

Do_Opt=function () {

  a=2
  Test_Fun <- getTestFun(a)

  OPT_Res <- BayesianOptimization(Test_Fun,
                                  bounds = list(x = c(1, 3)),
                                  init_points = 2, n_iter = 1,
                                  acq = "ucb", kappa = 2.576, eps = 0.0,
                                  verbose = FALSE)
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL의 함수에서 함수를 호출하는 방법

분류에서Dev

NSTimer 호출 함수에 정수 변수 인수를 전달하는 방법

분류에서Dev

함수에서 변수를 호출하는 방법

분류에서Dev

변수에 저장된 함수를 호출하는 방법

분류에서Dev

다른 함수 내에서 함수를 호출하는 방법

분류에서Dev

함수를 호출하기 전에 콜백 함수의 인수 수를 확인하는 방법

분류에서Dev

bash 함수를 호출하는 방법

분류에서Dev

쉘 함수를 호출하는 방법

분류에서Dev

SQL 함수를 호출하는 방법?

분류에서Dev

함수를 호출하는 방법

분류에서Dev

postgresql- if 문에서 함수 호출로 변수를 정의하는 방법

분류에서Dev

아래에서 언급했듯이 JavaScript의 다른 함수 내에서 함수를 호출하는 방법

분류에서Dev

변수에 할당 된 외부 함수에서 함수 내부 함수를 호출하는 방법

분류에서Dev

Jquery의 다른 함수에서 함수를 호출하는 방법

분류에서Dev

다른 함수 내에서 함수의 메서드를 호출하는 방법

분류에서Dev

Kotlin의 다른 함수에서 매개 변수를 사용하여 함수를 호출하는 방법

분류에서Dev

함수에서 다른 함수로 호출하는 방법

분류에서Dev

호출 방법-코코아의 일반 void 함수에서 (void) 함수

분류에서Dev

변수가 true 인 경우에만 템플릿에서 컨트롤러의 함수를 호출하는 방법

분류에서Dev

React에서 API 호출 함수에 매개 변수를 추가하는 방법

분류에서Dev

인수가있는 JS 호출 함수

분류에서Dev

SQLAlchemy UPDATE 호출에서 함수 내에 함수를 포함하는 방법

분류에서Dev

인수가있는 변수에 저장된 문자열에서 PHP 함수를 호출하는 방법

분류에서Dev

CUDA : 전역 함수에서 호스트 함수를 호출하는 방법

분류에서Dev

partail 함수를 반환하는 함수에 의해 오버로드 된 함수를 호출하는 방법

분류에서Dev

cpp의 main ()에서이 함수를 호출하는 방법

분류에서Dev

C #의 if () 문에서 여러 함수를 호출하는 방법

분류에서Dev

jquery에서 내 DLL의 함수를 호출하는 방법

분류에서Dev

SWT에서 FormEditor의 doSave (IProgressMonitor) 함수를 호출하는 방법

Related 관련 기사

  1. 1

    SQL의 함수에서 함수를 호출하는 방법

  2. 2

    NSTimer 호출 함수에 정수 변수 인수를 전달하는 방법

  3. 3

    함수에서 변수를 호출하는 방법

  4. 4

    변수에 저장된 함수를 호출하는 방법

  5. 5

    다른 함수 내에서 함수를 호출하는 방법

  6. 6

    함수를 호출하기 전에 콜백 함수의 인수 수를 확인하는 방법

  7. 7

    bash 함수를 호출하는 방법

  8. 8

    쉘 함수를 호출하는 방법

  9. 9

    SQL 함수를 호출하는 방법?

  10. 10

    함수를 호출하는 방법

  11. 11

    postgresql- if 문에서 함수 호출로 변수를 정의하는 방법

  12. 12

    아래에서 언급했듯이 JavaScript의 다른 함수 내에서 함수를 호출하는 방법

  13. 13

    변수에 할당 된 외부 함수에서 함수 내부 함수를 호출하는 방법

  14. 14

    Jquery의 다른 함수에서 함수를 호출하는 방법

  15. 15

    다른 함수 내에서 함수의 메서드를 호출하는 방법

  16. 16

    Kotlin의 다른 함수에서 매개 변수를 사용하여 함수를 호출하는 방법

  17. 17

    함수에서 다른 함수로 호출하는 방법

  18. 18

    호출 방법-코코아의 일반 void 함수에서 (void) 함수

  19. 19

    변수가 true 인 경우에만 템플릿에서 컨트롤러의 함수를 호출하는 방법

  20. 20

    React에서 API 호출 함수에 매개 변수를 추가하는 방법

  21. 21

    인수가있는 JS 호출 함수

  22. 22

    SQLAlchemy UPDATE 호출에서 함수 내에 함수를 포함하는 방법

  23. 23

    인수가있는 변수에 저장된 문자열에서 PHP 함수를 호출하는 방법

  24. 24

    CUDA : 전역 함수에서 호스트 함수를 호출하는 방법

  25. 25

    partail 함수를 반환하는 함수에 의해 오버로드 된 함수를 호출하는 방법

  26. 26

    cpp의 main ()에서이 함수를 호출하는 방법

  27. 27

    C #의 if () 문에서 여러 함수를 호출하는 방법

  28. 28

    jquery에서 내 DLL의 함수를 호출하는 방법

  29. 29

    SWT에서 FormEditor의 doSave (IProgressMonitor) 함수를 호출하는 방법

뜨겁다태그

보관