线性方法的优化
三种线性方法的优化方法:
Limited-memory BFGS(L-BFGS)
有限记忆BFGSNormal equation solver for weighted least square
用于加权最小二乘法的正态方程求解器Iteratively reweighted least squares(IRLS)
迭代重新加权最小二乘
Limited-memory BFGS (L-BFGS)有限记忆BFGS
L-BFGS
是拟牛顿方法家族
里的一个优化算法,解决min w∈R d f(w)
形式的优化问题。L-BFGS
方法以二次方程来逼近目标函数来构造Hessian
矩阵,不考虑目标函数的二阶偏导数。Hessian
矩阵由先前的迭代评估逼近,所以不像直接使用牛顿方法一样可垂直扩展(训练特征的数目)。所以L-BFGS
通常比其他一阶优化方法能更快收敛。
象限有限记忆拟牛顿(OWL-QN)算法是L-BFGS的扩展,它可以有效处理L1和弹性网格正则化。L-BFGS
在Spark MLlib中用于线性回归
、逻辑回归
、AFT生存回归
和多层感知器的求解
。
Normal equation solver for weighted least square用于加权最小二乘法的正态方程求解器
MLlib 通过WeightedLeastSquares实现了加权最小二乘法的方程求解器。
Spark MLlib目前支持正态方程的两种求解器:Cholesky分解法
和拟牛顿法(L-BFGS / OWL-QN)
。乔列斯基因式分解依赖于正定的协方差矩阵(即数据矩阵的列必须是线性无关的),并且如果违反这种条件将会失败。即使协方差矩阵不是正定的,准牛顿方法仍然能够提供合理的解,所以在这种情况下,正规方程求解器也可以退回到拟牛顿法。对于LinearRegression
和GeneralizedLinearRegression
估计,这种回退目前总是启用的。
WeightedLeastSquares
支持L1,L2和弹性网络正则化,并提供启用或禁用正则化和标准化的选项。在没有L1正则化的情况下(即α = 0),存在解析解,可以使用乔列斯基(Cholesky)或拟牛顿(Quasi-Newton)求解器。当α > 0时 不存在解析解,而是使用拟牛顿求解器迭代地求出系数。
为了使正态方程有效,WeightedLeastSquares
要求特征数不超过4096个。对于较大的问题,使用L-BFGS
代替。
Iteratively reweighted least squares (IRLS)迭代重新加权最小二乘
MLlib 通过IterativelyReweightedLeastSquares实现迭代重新加权最小二乘(IRLS)。它可以用来找到广义线性模型(GLM)的最大似然估计,在鲁棒回归和其他优化问题中找到M估计。有关更多信息,请参阅迭代重新加权的最小二乘法以获得最大似然估计,以及一些鲁棒性和抗性替代方法。
它通过以下过程迭代地解决某些优化问题:
- 线性化目前的解决方案的目标,并更新相应的权重。
- 通过WeightedLeastSquares解决加权最小二乘(WLS)问题。
- 重复上述步骤直到收敛。
由于它涉及到WeightedLeastSquares
每次迭代求解加权最小二乘(WLS)问题,因此它还要求特征数不超过4096
个。目前IRLS被用作GeneralizedLinearRegression
的默认求解器。
更多详细信息请查阅Spark ml-advanced