如何在 scikit-learn 的岭回归中设置学习率?
How to set the learning rate in scikit-learn's ridge regression?
我正在使用 scikit-learn
的岭回归:
regr = linear_model.Ridge (alpha = 0.5)
# Train the model using the training sets
regr.fit(X_train, Y_train)
#bias:
print('bias: \n', regr.intercept_)
# The coefficients
print('Coefficients: \n', regr.coef_)
我找到了 (here) linear_model.Ridge
函数的不同选项,但是有一个特定的选项我没有在列表中找到:How could I set the learning rate
(或learning step
)的更新函数?
learning rate
,我的意思是:
w_{t+1} = w_t + (learning_rate) * (objective 函数的偏导数)
我将学习率称为步长。
您的代码未使用 sag(随机平均梯度)求解器。求解器的默认参数设置为 auto
,它将根据数据类型选择求解器。其他求解器的描述以及要使用的是 here.
要使用下垂求解器:
regr = linear_model.Ridge (alpha = 0.5, solver = 'sag')
但是,对于此求解器,您无需设置步长,因为求解器会根据您的数据和 alpha 计算步长。 Here 是用于岭回归的下垂求解器的代码,其中解释了如何计算步长。
The step size is set to 1 / (alpha_scaled + L + fit_intercept) where L is
the max sum of squares for over all samples.
Line 401 展示了如何将 sag_solver 用于岭回归。
我正在使用 scikit-learn
的岭回归:
regr = linear_model.Ridge (alpha = 0.5)
# Train the model using the training sets
regr.fit(X_train, Y_train)
#bias:
print('bias: \n', regr.intercept_)
# The coefficients
print('Coefficients: \n', regr.coef_)
我找到了 (here) linear_model.Ridge
函数的不同选项,但是有一个特定的选项我没有在列表中找到:How could I set the learning rate
(或learning step
)的更新函数?
learning rate
,我的意思是:
w_{t+1} = w_t + (learning_rate) * (objective 函数的偏导数)
我将学习率称为步长。
您的代码未使用 sag(随机平均梯度)求解器。求解器的默认参数设置为 auto
,它将根据数据类型选择求解器。其他求解器的描述以及要使用的是 here.
要使用下垂求解器:
regr = linear_model.Ridge (alpha = 0.5, solver = 'sag')
但是,对于此求解器,您无需设置步长,因为求解器会根据您的数据和 alpha 计算步长。 Here 是用于岭回归的下垂求解器的代码,其中解释了如何计算步长。
The step size is set to 1 / (alpha_scaled + L + fit_intercept) where L is the max sum of squares for over all samples.
Line 401 展示了如何将 sag_solver 用于岭回归。