当前位置:网站首页 > R语言数据分析 > 正文

梯度下降回归(梯度下降回归 sklearn)



一:梯度下降:

梯度下降本质上是对极小值的无限逼近。先求得梯度,再取其反方向,以定步长在此方向上走一步,下次计算则从此点开始,一步步接近极小值。需要注意的是步长的取值,如果过小,则需要多次迭代,耗费大量时间才能取得极小值;如果过大,则可能难以取得较为接近极小值的点,在极小值两边来回跳跃,无法接近极小值。

而步长的取值往往于梯度有关,如果梯度的值较大,则步长可以取大的值,如果梯度较小,则步长应取较小值。

优势:高效,优化途径多

劣势:需要一些超参数:regularization(正则化)参数以及number of iterations(迭代次数),对feature scalling(特征缩放)敏感。

根据官方网站的代码,使用了SGDClassifier分类器,进行了尝试。

使用make_blobs创建数据测试。

注:

前两个 loss functions(损失函数)是懒惰的,如果一个例子违反了 margin constraint(边界约束),它们仅更新模型的参数, 这使得训练非常有效率,即使使用了 L2 penalty(惩罚)我们仍然可能得到稀疏的模型结果。

梯度下降需注意参数:

alpha:乘以正则化项的常数,默认0.0001。当被设置为‘optimal’时也被用于计算学习效率

fit_intercept:是否该截取截距,默认True。如果为‘False’则假定数据以及居中。

梯度下降常用方法:

fit(X,y,coef_init=None,intercept_init=None,sample_weight=None):拟合线性模型(训练)

X:{类似数组的稀疏矩阵},形式:(n_sanmples,n_features)。

y:类似数组,形式:(n_samples)。

sample_weight:数组样本,形式:(n_samples,),optional(可选),可以设定个别样本的权重,如果不设定,则默认相等。

predict(X):用于预测X样本中的标签(结果/分类)

X:{类似数组的稀疏矩阵},形式:[n_samples,n_features]。

score(X,y,samples_weight=None)::(与上方相同)用于返回测试数据和标签(结果)的平均精度。

二:逻辑回归(逻辑斯特增长模型):

逻辑回归实际为一种分类的线性模型。如图,值域为0~1。如果需要解决非线性问题,与支持向量机SVM的思路相同,即将特征映射到高维来解决问题。因此,也可用梯度下降来求解。

LogisticRegression中有这些参数需要注意:

penalty:'l1','l2'使用l1正则化,还是l2,默认l2

tol:精度为多少时可以停止计算,默认1e-4(十的负四次方)

C:C越大,正则化因子所占比例越小,C越小,正则化因子所占比例越大,默认1.0

solver:使用什么方法,默认liblinear(线性算法)。newton-cg,lbfgs,liblinear(对小数据集表现较好,大数据集建议使用sag及saga),sag(随即平均梯度下降算法Stochastic Average Gradient desqent solver),saga。

max_iter:最大迭代次数,默认100。

LogisticRegression常用方法:

fit(X,y,sample_weight=None):用于拟合模型(训练)

X:{类似数组的稀疏矩阵},形式:(n_samples,n_features)。

y:类似数组,形式:(n_samples)。

sample_weight:数组样本,形式:(n_samples,),optional(可选),可以设定个别样本的权重,如果不设定,则默认相等。

predict(X):用于预测X样本的标签(结果/分类)

X:同上。

返回C:数组,形式:[n_samples]

predict_proba(X):用于预测为对应标签的概率

X:同上。

返回一个n行k列的数组,n对应样本数量,k为可能的标签(结果/分类),每一行的结果之和应为1

到此这篇梯度下降回归(梯度下降回归 sklearn)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • druid监控页面(druid监控页面访问不到)2025-11-26 19:00:05
  • orical怎么读(oring怎么读)2025-11-26 19:00:05
  • 跨域请求携带cookie(跨域请求中,需要设置哪个属性为true,才能携带cookie)2025-11-26 19:00:05
  • orepare怎么读(ordre怎么读)2025-11-26 19:00:05
  • 打开ove用什么软件(ovr文件用什么软件打开)2025-11-26 19:00:05
  • yarn查看历史任务列表(yarn查看任务状态)2025-11-26 19:00:05
  • redhat6重置root密码(redhat6修改root密码)2025-11-26 19:00:05
  • spring详细教程(spring )2025-11-26 19:00:05
  • redhat Linux系统支持的文件类型(redhatlinux系统支持的文件类型有哪些)2025-11-26 19:00:05
  • docker run hello-world启动不了(docker.run)2025-11-26 19:00:05
  • 全屏图片