【问题标题】:Scikit-Learn + Scipy.optimize external optimizers in Gaussian Processes regressionScikit-Learn + Scipy.optimize 高斯过程回归中的外部优化器
【发布时间】:2020-05-30 10:58:11
【问题描述】:

我第一次使用来自 Scikit-learn 的高斯过程回归,我想在以下位置使用 scipy.optimize 外部优化器:

gp = GaussianProcessRegressor(kernel=kernel, alpha=0.015, normalize_y=True, optimizer= EXT_OPT). 

外部优化库的正确使用方法是什么?

【问题讨论】:

    标签: python scikit-learn scipy


    【解决方案1】:

    其实是我自己想出来的。很简单,如下:

    def optimizer(obj_func, initial_theta, bounds):
        optimResult = scipy.optimize.minimize(obj_func, initial_theta,  method='L-BFGS-B', jac=False)
        theta_opt = optimResult.x0
        func_min = optimResult.fun
        return theta_opt, func_min
    

    def optimizer(obj_func, initial_theta, bounds):
        theta_opt, func_min, _ = opt.fmin_l_bfgs_b(obj_func, initial_theta, bounds=bounds)
        return theta_opt, func_min
    
    gp = GaussianProcessRegressor(kernel=kernel, alpha=0.015, normalize_y=True, optimizer=optimizer)
    

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 2020-08-16
      • 2019-09-15
      • 2020-10-16
      • 2019-07-26
      • 2020-03-11
      • 2019-07-23
      • 2016-04-15
      相关资源
      最近更新 更多