高级主题

\[ \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 通常可以实现更快的收敛。

Orthant-Wise 有限内存拟牛顿法 (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 的默认求解器。