我正在学习梯度下降算法,并且在 Boston Housing数据集(在sklearn中)中实现了一个这样的**(在python中)**。我还实现了一个成本函数,该函数吸收了所有系数,截距和训练数据,并返回了这些系数和截距的成本。我在波士顿数据集上运行了算法,进行了 1500次迭代和 learning_rate = 0.000003202 ,并成功收敛,给出了最低成本为61.840725406571245 ,但是当我在相同的训练数据上训练sklearn的LinearRegression()算法时,发现使用.coef_和.intercept_的成本。这样,最低费用为19.958219814238042 。 所以我的问题是,如何说一定数量的迭代次数,将给我带来最小/最优的成本?就像说我运行该算法n次,并获得一个特定的费用,那么我怎么知道这个费用足够好,还是需要进一步降低呢?
答案 0 :(得分:0)
您可以在训练中使用验证集。它们将是模型性能测试阶段更好的指标,而不仅仅是训练错误。另外,您的learning_rate
很小,可能导致模型在大量迭代中收敛。您可以使用这些参数来查看它如何影响您的训练。