迭代次数(梯度下降)

时间:2020-06-27 10:44:35

标签: python machine-learning regression gradient-descent

我正在学习梯度下降算法,并且在 Boston Housing数据集(在sklearn中)中实现了一个这样的**(在python中)**。我还实现了一个成本函数,该函数吸收了所有系数,截距和训练数据,并返回了这些系数和截距的成本。我在波士顿数据集上运行了算法,进行了 1500次迭代 learning_rate = 0.000003202 ,并成功收敛,给出了最低成本为61.840725406571245 ,但是当我在相同的训练数据上训练sklearn的LinearRegression()算法时,发现使用.coef_和.intercept_的成本。这样,最低费用为19.958219814238042 所以我的问题是,如何说一定数量的迭代次数,将给我带来最小/最优的成本?就像说我运行该算法n次,并获得一个特定的费用,那么我怎么知道这个费用足够好,还是需要进一步降低呢?

1 个答案:

答案 0 :(得分:0)

您可以在训练中使用验证集。它们将是模型性能测试阶段更好的指标,而不仅仅是训练错误。另外,您的learning_rate很小,可能导致模型在大量迭代中收敛。您可以使用这些参数来查看它如何影响您的训练。