进阶主题

\[ \newcommand{\R}{\mathbb{R}} \newcommand{\E}{\mathbb{E}} \newcommand{\x}{\mathbf{x}} \newcommand{\y}{\mathbf{y}} \newcommand{\wv}{\mathbf{w}} \newcommand{\av}{\mathbf{\alpha}} \newcommand{\bv}{\mathbf{b}} \newcommand{\N}{\mathbb{N}} \newcommand{\id}{\mathbf{I}} \newcommand{\ind}{\mathbf{1}} \newcommand{\0}{\mathbf{0}} \newcommand{\unit}{\mathbf{e}} \newcommand{\one}{\mathbf{1}} \newcommand{\zero}{\mathbf{0}} \]

线性方法优化 (开发者)

有限内存 BFGS (L-BFGS)

L-BFGS 是一种拟牛顿方法族中的优化算法,用于解决 $\min_{\wv \in\R^d} \; f(\wv)$ 形式的优化问题。L-BFGS 方法将目标函数在局部近似为二次函数,而无需评估目标函数的二阶偏导数来构建 Hessian 矩阵。Hessian 矩阵通过之前的梯度评估进行近似,因此不像牛顿法中显式计算 Hessian 矩阵那样存在垂直扩展性问题(训练特征的数量)。因此,与其他一阶优化方法相比,L-BFGS 通常能实现更快的收敛。

象限内有限内存拟牛顿 (OWL-QN) 是 L-BFGS 的一种扩展,可以有效处理 L1 和弹性网络正则化。

L-BFGS 用作 LinearRegressionLogisticRegressionAFTSurvivalRegressionMultilayerPerceptronClassifier 的求解器。

MLlib L-BFGS 求解器调用了 breeze 中的相应实现。

加权最小二乘法的正规方程求解器

MLlib 通过 WeightedLeastSquares 实现了加权最小二乘法的正规方程求解器。

给定 $n$ 个加权观测值 $(w_i, a_i, b_i)$

每个观测值的特征数量为 $m$。我们使用以下加权最小二乘法公式: \[ \min_{\mathbf{x}}\frac{1}{2} \sum_{i=1}^n \frac{w_i(\mathbf{a}_i^T \mathbf{x} -b_i)^2}{\sum_{k=1}^n w_k} + \frac{\lambda}{\delta}\left[\frac{1}{2}(1 - \alpha)\sum_{j=1}^m(\sigma_j x_j)^2 + \alpha\sum_{j=1}^m |\sigma_j x_j|\right] \] 其中 $\lambda$ 是正则化参数,$\alpha$ 是弹性网络混合参数,$\delta$ 是标签的总体标准差,$\sigma_j$ 是第 j 个特征列的总体标准差。

该目标函数只需对数据进行一次遍历,即可收集解决它所需的统计信息。对于一个 $n \times m$ 的数据矩阵,这些统计信息只需要 $O(m^2)$ 的存储空间,因此,当 $m$(特征数量)相对较小时,可以存储在单台机器上。然后我们可以在单台机器上求解正规方程,使用直接 Cholesky 分解或迭代优化程序等局部方法。

Spark MLlib 目前支持两种类型的正规方程求解器:Cholesky 分解和拟牛顿方法 (L-BFGS/OWL-QN)。Cholesky 分解取决于一个正定协方差矩阵(即数据矩阵的列必须线性独立),如果此条件被违反,则会失败。即使协方差矩阵不是正定的,拟牛顿方法仍然能够提供合理的解决方案,因此,在这种情况下,正规方程求解器也可以退回到拟牛顿方法。对于 LinearRegressionGeneralizedLinearRegression 估计器,此回退功能目前始终启用。

WeightedLeastSquares 支持 L1、L2 和弹性网络正则化,并提供启用或禁用正则化和标准化的选项。在未应用 L1 正则化的情况下(即 $\alpha = 0$),存在一个解析解,并且可以使用 Cholesky 或拟牛顿求解器。当 $\alpha > 0$ 时,不存在解析解,我们转而使用拟牛顿求解器迭代地寻找系数。

为了使正规方程方法高效,WeightedLeastSquares 要求特征数量不超过 4096。对于更大的问题,请改用 L-BFGS。

迭代重加权最小二乘法 (IRLS)

MLlib 通过 IterativelyReweightedLeastSquares 实现了迭代重加权最小二乘法 (IRLS)。它可用于寻找广义线性模型 (GLM) 的最大似然估计、稳健回归中的 M-估计器以及其他优化问题。有关更多信息,请参阅最大似然估计的迭代重加权最小二乘法,以及一些稳健和抗噪替代方案

它通过以下步骤迭代地解决某些优化问题

由于它在每次迭代中都涉及到通过 WeightedLeastSquares 求解一个加权最小二乘法 (WLS) 问题,因此它也要求特征数量不超过 4096。目前,IRLS 用作 GeneralizedLinearRegression 的默认求解器。