spark mllib源码分析之OWLQN

本文深入分析Spark MLlib中的OWLQN优化算法,详细解释了伪梯度、搜索方向、线搜索和海森矩阵更新等关键步骤,并探讨了Spark中Backtracking Line Search的实现以及OWLQN在L1正则化逻辑回归中的应用。
摘要由CSDN通过智能技术生成

相关文章
spark mllib源码分析之L-BFGS(一)
spark mllib源码分析之L-BFGS(二)
线搜索
spark mllib源码分析之逻辑回归弹性网络ElasticNet(一)

spark在Elastic Net中当使用L1正则化时,optimizer使用OWLQN,我们结合理论介绍其在spark中的实现。

1. OWLQN算法

结合论文《Scalable training of L1-regularized log-linear models》中的内容,简单介绍OWLQN算法,以与spark(breeze)中的实现相对照,首先定义目标函数

f(x)=(x)+Cx1

其中C是大于0的常数。
定义 π 函数,对于向量 x⃗  y⃗  ,有
π(x;y)={ xi0sign(xi)==sign(yi)otherwise

也就是说对于任一维度,符号相同取 xi ,否则取0,这个函数可理解为向量 x⃗  必须与 y⃗  同象限,否则就在坐标轴上

1.1. 伪梯度

因为L1不可导,因此这里需要重新定义梯度替代,首先定义目标函数的左右导数

±if(x)=xil(x)+{ Csign(xi)±C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值