高级主题
\[
\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方法局部近似目标函数为二次函数,而不计算目标函数的二阶偏导数来构造海森矩阵。海森矩阵通过之前的梯度评估进行近似,因此与在牛顿法中显式计算海森矩阵不同,不存在垂直可扩展性问题(训练特征的数量)。因此,L-BFGS通常实现比其他一阶优化方法更快的收敛。
Orthant-Wise Limited-memory Quasi-Newton (OWL-QN) 是 L-BFGS 的一种扩展,能够有效处理 L1 和弹性网正则化。
L-BFGS被用作 线性回归 , 逻辑回归 , AFT生存回归 和 多层感知器分类器 的求解器。
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 实现了 迭代加权最小二乘法 (IRLS) ,通过 IterativelyReweightedLeastSquares 。 它可以用来找到广义线性模型 (GLM) 的最大似然估计,找到稳健回归中的 M 估计量和其他优化问题。 有关更多信息,请参阅 最大似然估计的迭代加权最小二乘法,以及一些稳健和抗干扰的替代方法 。
它通过以下过程迭代地解决某些优化问题:
- 在当前解上线性化目标并更新相应的权重。
- 通过WeightedLeastSquares求解加权最小二乘(WLS)问题。
- 重复以上步骤直到收敛。
由于它涉及通过
WeightedLeastSquares
在每次迭代中解决加权最小二乘(WLS)问题,
它还要求特征的数量不超过 4096。
目前 IRLS 被用作
GeneralizedLinearRegression
的默认求解器。