页面树结构

2017-07-25 Apache Spark 2.2.0 官方文档中文版发布 : http://spark.apachecn.org/docs/cn/2.2.0/


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

Optimization of linear methods (developer)(线性方法的优化(开发者))

Limited-memory BFGS (L-BFGS)(有限内存BFGS算法)

L-BFGS 是拟牛顿法(Quasi-Newton Methods)家族中的一种优化算法,它用来解决  形式的最优化问题。L-BFGS 方法局部地将目标函数近似为一个二次函数,而不去评估目标函数的二阶偏导来构造海森矩阵(Hession matrix)。海森矩阵是通过上一次迭代的梯度评估近似得来的,所以它不会像用牛顿法显式地计算海森矩阵那样有垂直扩展性的问题(训练特征数量)。在效果上,L-BFGS 相比于其他一阶优化算法经常能够获得更快的收敛速度。

Orthant-Wise Limited-memory Quasi-NewtonOWL-QN)是 L-BFGS 方法的一种扩展,它能够有效地处理 L1 范式和 elastic net(弹性网络)正则项的问题。

L-BFGS 被用来作为 LinearRegression(线性回归模型)、LogisticRegression(逻辑回归模型)、AFTSurvivalRegression(加速失效时间生存回归模型)和 MultilayerPerceptronClassifier(多层感知器分类模型)的一种解决方法。

MLlib 中的 L-BFGS 方法调用的是 breeze 中相应的方法来实现的。

 

Normal equation solver for weighted least squares(加权最小二乘法的矩阵方程求解)

MLlib 是通过代码 WeightedLeastSquares 来实现 normal equation 从而解决加权最小二乘法问题的。

给出 n 个加权观察值

  •  为第 i 个观察值的权值
  •  为第 i 个观察值的特征向量
  •  为第 i 个观察值的标签

每一个观察值的特征数量为 m。我们使用以下加权最小二乘法方程:

这里是正则化参数,elastic-net 混合参数,是标签的总体标准差, 是第 j 个特征列的总体标准差。

该目标方程要求只能经过数据一次来收集需要的统计值去求解它。对于一个的数据矩阵,这些统计值只需要的空间存储,所以当 m(特征数量)相对较小时,他们可以被存放到单一机器节点上。于是我们解决 normal equation 就可以使用单一节点和本地方法如乔里斯基分解(Cholesky factorization)或者迭代优化程序来处理。

Spark MLlib 目前支持两种类型的 normal equation 解决方法:乔里斯基分解法和拟牛顿法(L-BFGS/OWL-QN)。乔里斯基分解法依赖于一个正定协方差矩阵(如数据矩阵的列一定是线性独立的)并且如果违背这一条件将会失败。拟牛顿法在协方差矩阵为非正定时依然可以提供一个合理的解,所以 normal equation 的解在这种情况下也可以自动回落到用拟牛顿法解决。这种回落在 LinearRegressionGeneralizedLinearRegression 评估器上是总被启用的。

WeightedLeastSquares 支持 L1L2 范式以及弹性网络的正则化并且提供选项以启动或禁用正则化和标准化。在 L1 正则化不被应用的场景中(如)存在一种解析方法,乔里斯基分解法或拟牛顿法可能会被使用。当时没有解析方法存在,我们只能使用拟牛顿法来通过迭代找到系数。

为了使 normal equation 方法有效,WeightedLeastSquares 要求特征的数量要不多于4096个。对于更大型的场景,可以使用 L-BFGS 来替代。


Iteratively reweighted least squares (IRLS)(迭代重加权最小二乘法)

MLlib 通过代码 IterativelyReweightedLeastSquares 实现了迭代重加权最小二乘法IRLS)。它可以被用来找到广义线性模型(GLM)的极大似然估计值,找到稳健回归模型的 M 估计值,以及解决其他优化问题。可以参考 Iteratively Reweighted Least Squares for Maximum Likelihood Estimation, and some Robust and Resistant Alternatives 获取更多信息。

它通过以下过程来迭代地解决特定的最优化问题:

  • 在当前的解决方法上将目标线性化并且更新相应的权值。
  • 通过 WeightedLeastSquares 解决加权最小二乘法(WLS)问题
  • 重复以上步骤直到收敛

正因为它涉及到在每一次迭代中使用 WeightedLeastSquares 来解决加权最小二乘法(WLS)问题,它也要求特征数量要不多于4096个。目前 IRLS 在 GeneralizedLinearRegression 中被用做默认的解法。

  • 无标签