在Andrew Ng的机器学习课程中,他介绍了线性回归和逻辑回归,并展示了如何使用梯度下降和牛顿方法拟合模型参数。
我知道梯度下降在机器学习的某些应用(例如,反向传播)中可能很有用,但在更一般的情况下,有任何理由为什么您不会以封闭形式求解参数-即,采用成本函数和通过微积分求解?
如果可用,在封闭形式的解决方案上使用像梯度下降这样的迭代算法通常有什么优势?
在Andrew Ng的机器学习课程中,他介绍了线性回归和逻辑回归,并展示了如何使用梯度下降和牛顿方法拟合模型参数。
我知道梯度下降在机器学习的某些应用(例如,反向传播)中可能很有用,但在更一般的情况下,有任何理由为什么您不会以封闭形式求解参数-即,采用成本函数和通过微积分求解?
如果可用,在封闭形式的解决方案上使用像梯度下降这样的迭代算法通常有什么优势?
Answers:
除非封闭式解决方案的计算成本非常高,否则通常是可行的方式。然而,
对于大多数非线性回归问题,没有封闭形式的解决方案。
即使在线性回归(可以使用闭合形式解的少数情况之一)中,使用该公式也可能不切实际。以下示例显示了发生这种情况的一种方式。
对于形式的模型的线性回归,其中是具有完整列级的矩阵,最小二乘解,
是(谁)给的
现在,假设是一个非常大但稀疏的矩阵。例如,可能具有100,000列和1,000,000行,但是中只有0.001%的条目为非零。有专门的数据结构,用于仅存储此类稀疏矩阵的非零条目。
还要想象我们很不幸,并且是一个相当密集的矩阵,其中非零项的百分比更高。存储一个100,000 x 100,000个元素的密集矩阵将需要浮点数(每个数字8个字节,总计80 GB)。将其存储在任何对象上都是不切实际的但是超级计算机。此外,该矩阵的逆数(或更常见的是Cholesky因子)也往往具有大部分为非零的条目。
不过,也有迭代方法解决最小二乘问题需要不超过存储,,和和从来没有明确形成矩阵乘积。
在这种情况下,使用迭代方法比使用最小二乘问题的封闭形式解决方案的计算效率要高得多。
这个例子似乎太荒谬了。但是,在地震层析成像研究中,通常通过台式计算机上的迭代方法来解决这种大小的大型稀疏最小二乘问题。
关于机器学习(ML)和回归的文章很多。ML不需要求解普通最小二乘(OLS),因为它涉及用于求解线性方程组的单步矩阵三明治运算,即。一切都是线性的事实意味着只需要一步操作即可求解系数。Logistic回归基于最大化似然函数,可以使用Newton-Raphson或其他ML梯度上升方法,元启发法(爬山,遗传算法,群体智能,蚁群优化等)求解。 。
关于简约性,将ML用于OLS将是浪费的,因为迭代学习对于解决OLS效率不高。
现在,回到关于求解基于梯度的问题的导数与ML方法的真实问题。具体而言,对于逻辑回归,通常使用牛顿-拉夫森(Newton-Raphson)的梯度下降(基于导数)方法。牛顿-拉夫森(Newton-Raphson)要求您了解每个参数(极限值连续且可微)的目标函数及其偏导数。当目标函数过于复杂(“纳尔”)并且您不知道导数时,通常会使用ML。例如,当功能未知时,可以使用人工神经网络(ANN)解决函数逼近问题或监督分类问题。在这种情况下,ANN是函数。
不要仅仅因为可以就犯了使用ML方法来解决逻辑回归问题的错误。对于物流而言,Newton-Raphson速度极快,是解决问题的合适技术。当您不知道功能是什么时,通常会使用ML。(顺便说一下,人工神经网络来自计算智能领域,而不是机器学习)。