sklearn Lasso回归中的学习率是如何计算的?
数据挖掘
线性回归
正则化
学习率
岭回归
套索
2022-03-05 11:05:16
1个回答
使用 sklearn,您可以有两种线性回归方法:
1)LinearRegression对象使用来自 scipy 的普通最小二乘 (OLS) 求解器,因为学习率 (LR) 是具有闭式解的两个分类器之一。这是通过对一些矩阵进行反转和相乘来实现的。
2)SGDRegressor这是随机梯度下降的一种实现,非常通用的一种,您可以在其中选择惩罚项。要获得线性回归,您可以选择损失L2并惩罚none(线性回归)或L2(岭回归)
没有“典型的梯度下降”,因为它在实践中很少使用。如果您可以将损失函数分解为附加项,则已知随机方法表现更好(因此 SGD),并且如果您可以腾出足够的内存 - OLS 方法更快更容易(因此是第一个解决方案)。
这个答案主要来自https://stackoverflow.com/questions/34469237/linear-regression-and-gradient-descent-in-scikit-learn-pandas/34470001#34470001 OP @Netro 是,答案来自@莱洛特