预处理梯度下降

机器算法验证 优化 梯度下降
2022-03-03 01:26:53

如果使用梯度下降来优化每个分量具有不同大小的向量空间,我知道我们可以使用预处理矩阵P以便更新步骤变为:

xn+1=xnγnP1 F(xn)

P的明显方法是使其成为与x的近似值成比例的对角矩阵,因此Px1¯

还有其他选择P的建议方法吗?

其中一些方法会导致非对角矩阵吗?

1个回答

您的问题提到对角线P为您提供了与参数相关的学习率,这就像对您的输入进行归一化一样,只是它假设您的输入具有对角线协方差。

通常,使用预处理矩阵P等效于规范化xx的协方差为Σ=LLT那么x~=L1xx的标准化版本。

Δx~=x~F(x)=LTxF(x)

所以

Δx=LΔx~=LLTxF(x)=ΣxF(x)

这样做会使您的目标(更多)在参数空间中各向同性。它与参数相关的学习率相同,只是您的轴不一定与坐标对齐。

在这张图片中,您可以看到在 $y = x$ 行上需要一个学习率,在 $y=-x$ 行上需要另一个学习率的情况如何转换解决了这个问题。y=xy=xL=(σ1+σ3)diag(1,10)

在此处输入图像描述

你可以这样看待的另一种方式是牛顿方法会给你一个优化步骤: 将 hessian 近似为最小值附近的常数,使您更接近牛顿方法提供的快速收敛,而无需计算 Hessian 或进行计算成本更高的近似您将在准牛顿方法中看到的 Hessian 矩阵。

xn+1=xnγn[Hf|xn]1f(xn)
PHf|x

请注意,对于正态分布,log-loss 的 hessian 为,这两个角度是等价的。H=Σ1