Как настроить гиперпараметры ядра в оптимизаторе scikit-optimize? - PullRequest
0 голосов
/ 14 апреля 2020

Я создал оценщик GP с scikit-optimize, чтобы найти глобальный минимум функции Hartmann6.

Результат ask() - следующий кандидат, предложенный оптимизатором. tell() - это шаг подгонки с использованием недавно обнаруженных данных.

В этом методе настраиваются ли гиперпараметры ядра gp на основе логарифмической вероятности? Есть ли параметр для настройки этих гиперпараметров на каждой итерации?

optimizer = Optimizer(
        acq_func="gp_hedge",
        dimensions=[Real(0.0, 1.0), Real(0.0, 1.0), Real(0.0, 1.0), Real(0.0, 1.0), Real(0.0, 1.0), Real(0.0, 1.0)],
        random_state=1,
        base_estimator="gp"
    )

    x = optimizer.ask(n_points=10)
    y = Parallel(n_jobs=10)(delayed(hart6)(v) for v in x)
    optimizer.tell(x, y)

    while min(optimizer.yi) > -3.32237 * 0.9995:
        x = optimizer.ask(n_points=10)
        y = Parallel(n_jobs=10)(delayed(hart6)(v) for v in x)

        optimizer.tell(x , y)


    print(min(optimizer.yi))
    end = time.time()
    print("time ", end-start)
...