在使用1个变量的线性回归中,我可以在绘图预测线上清楚地看到,我可以看到它是否适合训练数据。我只是创建一个带有1个变量和输出的图,并根据找到的Theta 0和Theta 1的值构建预测线。所以,它看起来像这样:
但是如何检查在多个变量/特征上实现的梯度下降结果的有效性。例如,如果要素的数量是4或5.如何检查它是否正常工作并且找到所有这些的值是否有效?我是否必须仅依赖于针对所执行的迭代次数绘制的成本函数?
答案 0 :(得分:3)
梯度下降收敛到局部最小值,意味着一阶导数应为零,第二导数应为零。检查这两个矩阵将告诉您算法是否已收敛。
答案 1 :(得分:0)
我们可以将梯度下降视为解决f'(x) = 0
问题的因素,其中f'
表示f
的渐变。为了检查这个问题的收敛性,据我所知,标准方法是计算每次迭代的差异,看它是否收敛到0。
也就是说,检查||f'(x)||
(或其方块)是否收敛于0。
答案 2 :(得分:0)
您可以尝试一些事情。
1)随着迭代的进行,检查您的成本/能量函数是否没有改善。使用诸如“abs(E_after - E_before)< 0.00001 * E_before”之类的东西,即检查相对差异是否非常低。
2)检查变量是否已停止变化。你可以选择一个非常类似的策略来检查这个。
实际上没有完美的方法可以确保您的功能已经融合,但上面提到的一些事情通常是人们尝试的。
祝你好运!