求解封闭形式vs梯度下降中的回归参数


71

在Andrew Ng的机器学习课程中,他介绍了线性回归和逻辑回归,并展示了如何使用梯度下降和牛顿方法拟合模型参数。

我知道梯度下降在机器学习的某些应用(例如,反向传播)中可能很有用,但在更一般的情况下,有任何理由为什么您不会以封闭形式求解参数-即,采用成本函数和通过微积分求解?

如果可用,在封闭形式的解决方案上使用像梯度下降这样的迭代算法通常有什么优势?


9
我认为大多数glms(例如逻辑回归)中的回归参数的MLE都没有封闭形式的解决方案。具有正态误差的线性回归是一种例外。
2012年

5
有趣...这是否意味着不同的统计信息包可能会根据例如初始参数设置,迭代次数,多个局部最小值等对逻辑回归给出不同的答案-还是有一个常规程序,所有好的统计信息包都会跟随?(尽管我确定在大多数情况下任何差异(如果确实存在)都是微小的)
Jeff

3
(+1)杰夫,对您的问题和评论。使用规范链接(例如逻辑回归)的GLM受益于凸性的优良特性。解决此类问题的算法不止一种,但是其基本结果是,(对一些相当小的细节进行模化),实施良好的数值算法将在它们之间给出一致的结果。
主教

2
我个人不喜欢Andrew Ng的课程,因为它使人们相信线性回归是“机器学习”。
Digio

Answers:


85

除非封闭式解决方案的计算成本非常高,否则通常是可行的方式。然而,

  1. 对于大多数非线性回归问题,没有封闭形式的解决方案。

  2. 即使在线性回归(可以使用闭合形式解的少数情况之一)中,使用该公式也可能不切实际。以下示例显示了发生这种情况的一种方式。

对于形式的模型的线性回归,其中是具有完整列级的矩阵,最小二乘解,y=XβX

β^=argminXβy2

是(谁)给的

β^=(XTX)1XTy

现在,假设是一个非常大但稀疏的矩阵。例如,可能具有100,000列和1,000,000行,但是中只有0.001%的条目为非零。有专门的数据结构,用于仅存储此类稀疏矩阵的非零条目。 XXX

还要想象我们很不幸,并且是一个相当密集的矩阵,其中非零项的百分比更高。存储一个100,000 x 100,000个元素的密集矩阵将需要浮点数(每个数字8个字节,总计80 GB)。将其存储在任何对象上都是不切实际的但是超级计算机。此外,该矩阵的逆数(或更常见的是Cholesky因子)也往往具有大部分为非零的条目。 XTXXTX1×1010

不过,也有迭代方法解决最小二乘问题需要不超过存储,,和和从来没有明确形成矩阵乘积。 Xyβ^XTX

在这种情况下,使用迭代方法比使用最小二乘问题的封闭形式解决方案的计算效率要高得多。

这个例子似乎太荒谬了。但是,在地震层析成像研究中,通常通过台式计算机上的迭代方法来解决这种大小的大型稀疏最小二乘问题。


4
我应该提到,还有一些数值精度问题,可能不建议对最小二乘问题使用封闭形式的解决方案。但是,这将需要对病态进行讨论,这似乎超出了当前对原始海报的理解。
Brian Borchers 2012年

17
请不要犹豫发布答案,因为您认为我不会理解。首先-即使需要我做一些研究以掌握信息,提供更多信息也不会受到损害。第二-stackexchange模型假设此问题和答案将在将来使其他人受益。换句话说,不要根据您认为OP知道的多少来简化答案,否则会对其他人造成伤害。
杰夫

2
@Brian,我的感觉是您的评论越来越接近问题的核心,并且与答案中的第一句话有些矛盾。我认为没有任何最小二乘软件(在其正确思想中)采用封闭形式的解决方案。:)
主教

4
基数-在实践中,最好使用QR分解或SVD解决小规模最小二乘问题。我认为与使用LSQR之类的迭代技术相比,使用这些正交分解之一的解决方案也是“封闭式解决方案”。我没有在答案中研究这个问题,因为它不必要地将注意力从我的要点转移开。
Brian Borchers 2012年

2
病了?教科书封闭式解决方案?我喜欢早晨条件数字平方的气味。条件编号大吗?为什么不将其平方并使其更大?条件编号不是很大吗?为什么不将其平方并使其扩大。
马克·L·斯通

2

关于机器学习(ML)和回归的文章很多。ML不需要求解普通最小二乘(OLS),因为它涉及用于求解线性方程组的单步矩阵三明治运算,即。一切都是线性的事实意味着只需要一步操作即可求解系数。Logistic回归基于最大化似然函数,可以使用Newton-Raphson或其他ML梯度上升方法,元启发法(爬山,遗传算法,群体智能,蚁群优化等)求解。 。 β=(XTX)1XTyL=ipi

关于简约性,将ML用于OLS将是浪费的,因为迭代学习对于解决OLS效率不高。

现在,回到关于求解基于梯度的问题的导数与ML方法的真实问题。具体而言,对于逻辑回归,通常使用牛顿-拉夫森(Newton-Raphson)的梯度下降(基于导数)方法。牛顿-拉夫森(Newton-Raphson)要求您了解每个参数(极限值连续且可微)的目标函数及其偏导数。当目标函数过于复杂(“纳尔”)并且您不知道导数时,通常会使用ML。例如,当功能未知时,可以使用人工神经网络(ANN)解决函数逼近问题或监督分类问题。在这种情况下,ANN是函数。

不要仅仅因为可以就犯了使用ML方法来解决逻辑回归问题的错误。对于物流而言,Newton-Raphson速度极快,是解决问题的合适技术。当您不知道功能是什么时,通常会使用ML。(顺便说一下,人工神经网络来自计算智能领域,而不是机器学习)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.