参数调优开发总结--问题1--L1、L2正则化转化为弹性网参数和正则化参数

博客探讨了Spark逻辑回归中的regParam和elasticNetParam参数,如何通过它们控制L1和L2正则化。在参数调优过程中,由于L1和L2参数映射到regParam和elasticNetParam时会产生多余组合,文章提出了解决这个问题的方法,包括定义选择和筛选对象来过滤出有效的调优参数组合。
摘要由CSDN通过智能技术生成

Spark中的逻辑回归算法中有两个参数,regParam正则化参数和elasticNetParam弹性网参数,通过设置这两个参数,可以间接确定算法中的L1和L2参数。

  1. 反推公式
    公式比较简单,可以从源码中看到,如下

    val regParamL1 = $(elasticNetParam) * $(regParam)
    val regParamL2 = (1.0 - $(elasticNetParam)) * $(regParam)
    

反推公式如下:

  val RegParam = L1Param + L2Param
  val ElasticNetParam = L1Param / (L1Param + L2Param)
  1. 参数调优
    当涉及到参数调优时,情况会复杂一些。因为L1参数的取值向量和L2参数的取值向量映射回RegParam,ElasticNetParam 时,向量中的元素个数会产生变化。
    目标调优参数
 val L1Param = Array(0.1,0.2)
 val L2Param = Array(0.2,0.3)

因为在这里,参数调优直接调用ml包中的ParamMap类
以逻辑回归为例子,首先定义逻辑回归lr

  val lr = new LogisticRegression()
    .setFitIntercept(true)
    .setStandardization(true)
    .setFeaturesCol("scaledFeatures")
    .setLabelCol(lab
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值