用 optuna 定义回归问题的超参数搜索空间

问题描述

tutorial 展示了如何使用 sklearn 解决回归问题并使用 Optuna 优化 LightGBM 模型的超参数。我立即注意到的一件事是,在训练回归模型之前,他们不会对任何参数进行归一化。有什么理由说明这个问题不需要标准化?

我还尝试将参数(节点数、层数、激活函数、学习率)传递给 objective 函数,如 2. Use "trial" module to define hyperparameters dynamically! 部分所述。我正在阅读 docs,但对如何将超参数搜索空间合并到 objective 函数中感到困惑。

解决方法

第一个回归算法(普通最小二乘法)是在没有考虑标准化的情况下开发的。事实上,大多数回归问题不需要任何形式的归一化,因为它会使模型更难解释。如果您的算法对异常值非常敏感,您应该只对数据进行标准化。

也就是说,LightGBM 是一种基于树的梯度提升算法。由于是基于树的,每个节点的截止点对单调变换不敏感。

换句话说,如果 f(·) 是一个单调函数,而 x 是降低成本函数最多的点,那么 f(x ) 也是最能降低成本函数的点。

通过标准化您的自变量,您从所有观察中减去平均值并除以 n。因此,您不会改变特征的观察变量的顺序。