多项式回归 - 两种算法之间的结果准确性

时间:2014-01-20 13:59:12

标签: algorithm machine-learning regression

我知道我可以找到执行(X'X)^-1 * X'y的多项式回归系数(其中X'是转置,有关详细信息,请参阅Wikipedia。)

这是一种查找系数的方法;现在,(据我所知)至少有一种其他方式,即通过使用梯度下降最小化成本函数。前一种方法似乎最容易实现(我在C ++中做过,我在Matlab中有后者)。

我想知道的是其中一种方法优于另一种方法的优势。

在特定数据集上,只有极少数点,我发现使用(X'X)^-1 * X'y找不到令人满意的解决方案,但是梯度下降工作正常,我可以得到一个有意义的估计函数。

那么矩阵分辨率超过梯度下降有什么问题?如何测试回归结果,让用户隐藏所有细节?

1 个答案:

答案 0 :(得分:2)

两种方法都是等价的。由于较低的存储和避免矩阵逆计算,迭代方法在计算上更有效。该方法胜过封闭形式(矩阵方程)方法especially when X is huge and sparse

确保X的行号大于X的列号,以避免出现欠定问题。还要检查X'X的条件编号,看看问题是否是不适定的。如果是这种情况,您可以在封闭形式((X'X + lambda * I)^(-1) * X'y)中添加一个小的正则化因子,其中lambda是一个小值,I是单位矩阵。