高级主题
\[ \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 用作 LinearRegression、LogisticRegression、AFTSurvivalRegression 和 MultilayerPerceptronClassifier 的求解器。
MLlib L-BFGS 求解器调用 breeze 中的相应实现。
加权最小二乘的正规方程求解器
MLlib 通过 WeightedLeastSquares 为 加权最小二乘 实现正规方程求解器。
给定 $n$ 个加权观测值 $(w_i, a_i, b_i)$
- $w_i$ 是第 i 个观测值的权重
- $a_i$ 是第 i 个观测值的特征向量
- $b_i$ 是第 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 分解依赖于正定协方差矩阵(即数据矩阵的列必须线性无关),如果违反此条件,则会失败。即使协方差矩阵不是正定的,拟牛顿方法仍然能够提供合理的解,因此正规方程求解器在这种情况下也可以回退到拟牛顿方法。此回退目前始终为 LinearRegression
和 GeneralizedLinearRegression
估计器启用。
WeightedLeastSquares
支持 L1、L2 和弹性网络正则化,并提供选项来启用或禁用正则化和标准化。在没有应用 L1 正则化的情况下(即 $\alpha = 0$),存在解析解,可以使用 Cholesky 或拟牛顿求解器。当 $\alpha > 0$ 时,不存在解析解,我们改为使用拟牛顿求解器迭代地找到系数。
为了使正规方程方法高效,WeightedLeastSquares
要求特征数量不超过 4096。对于更大的问题,请使用 L-BFGS。
迭代重加权最小二乘 (IRLS)
MLlib 通过 IterativelyReweightedLeastSquares 实现 迭代重加权最小二乘 (IRLS)。它可用于找到广义线性模型 (GLM) 的最大似然估计,在稳健回归和其他优化问题中找到 M 估计量。有关更多信息,请参阅 用于最大似然估计的迭代重加权最小二乘,以及一些稳健和抗拒的替代方案。
它通过以下过程迭代地解决某些优化问题
- 将目标函数在线性化到当前解,并更新相应的权重。
- 通过 WeightedLeastSquares 求解加权最小二乘 (WLS) 问题。
- 重复上述步骤,直到收敛。
由于它涉及在每次迭代中通过 WeightedLeastSquares
求解加权最小二乘 (WLS) 问题,因此它也要求特征数量不超过 4096。目前,IRLS 用作 GeneralizedLinearRegression 的默认求解器。