梯度下降出现在机器学习库中的哪个位置例如scikitlearn

问题描述

我了解梯度下降的工作原理,并且用户可以手动定义梯度下降函数以最小化某些成本函数。我的问题非常笼统,当我们训练和测试诸如线性回归或随机森林之类的机器学习模型时,scikitlearn代码中的GD会出现在哪里? GD是否简单地嵌入到.fit()函数中?还是我们需要将其作为模型的参数?

解决方法

简短答案:大多数sklearn模型使用随机梯度下降法进行优化/拟合。而且您无需指定。某些功能可让您指定优化程序(以简单语言助推器),如adam。

,

正如凯特(Kate)所说,sklearn模型使用随机梯度下降,是的,当我们调用fit方法时,在优化模型并应用随机梯度下降时会调用regressor.fit()。您也可以单独调用它,但没有必要,这里可能help SGD

,

我从sklearn开始时同样感到困惑。因此,存在线性回归的单独实现:基于vanillasgd

直接从docs

SGD仅仅是一种优化技术,并不对应于 特定的机器学习模型系列。这只是训练的一种方式 一个模型。

香草实现可以在类sklearn.linear_model.LinearRegression中找到,而sgd实现可以在类sklearn.linear_model.SGDRegressor中找到

可以找到相应的链接herehere