如何在scikit-learn's ridge回归中设置学习率?

时间:2015-12-07 19:33:51

标签: python scikit-learn 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函数的不同选项,但是我在列表中找不到特定选项:如何设置learning rate (或learning step)更新功能?

learning rate,我的意思是:

w_ {t + 1} = w_t +(learning_rate)*(目标函数的偏导数)

1 个答案:

答案 0 :(得分:1)

我将学习率称为步长。

您的代码未使用sag(随机平均渐变)求解器。求解器的默认参数设置为auto,它将根据数据类型选择求解器。其他解算器的说明以及使用的是here

使用垂度解算器:

regr = linear_model.Ridge (alpha = 0.5, solver = 'sag')

但是,对于此解算器,您不设置步长,因为求解器会根据您的数据和alpha计算步长。 Here是用于岭回归的垂度求解器的代码,它解释了如何计算步长。

  
    
      

步长设置为1 /(alpha_scaled + L + fit_intercept),其中L为           所有样本的最大平方和。

    
  

Line 401显示了sag_solver如何用于岭回归。