在线最优化求解(Online Optimization)之五:FTRL 在上一篇博文中中我们从原理上定性比较了L1-FOBOS和L1-RDA在稀疏性上的表现.有实验证明,L1-FOBOS这一类基于梯度下降的方法有比较高的精度,但是L1-RDA却能在损失一定精度的情况下产生更好的稀疏性.那么这两者的优点能不能在一个算法上体现出来?这就是FTRL要解决的问题. FTRL(Follow the Regularized Leader)是由Google的H. Brendan McMahan在2010年提出…
在线最优化求解(Online Optimization)之一:预备篇 动机与目的 在实际工作中,无论是工程师.项目经理.产品同学都会经常讨论一类话题:“从线上对比的效果来看,某某特征或因素对xx产品的最终效果有很大的影响”.这类话题本质上说的是通过已有的数据反映出某些特定的因素对结果有很强的正(或负)相关性.而如何定量计算这种相关性?如何得到一套模型参数能够使得效果达到最优?这就是最优化计算要做的事情. 举一类典型点的例子:在推荐和广告计算中,我们经常会需要对某些值进行预测,例如在一条推荐或广告…
在线最优化求解(Online Optimization)之三:FOBOS FOBOS (Forward-Backward Splitting)是由John Duchi和Yoram Singer提出的[11].从全称上来看,该方法应该叫FOBAS,但是由于一开始作者管这种方法叫FOLOS(Forward Looking Subgradients),为了减少读者的困扰,作者干脆只修改一个字母,叫FOBOS. 1. 算法原理 在FOBOS中,将权重的更新分为两个步骤:   公式 (1) 前一个步骤实际…
在线最优化求解(Online Optimization)之四:RDA 不论怎样,简单截断.TG.FOBOS都还是建立在SGD的基础之上的,属于梯度下降类型的方法,这类型方法的优点就是精度比较高,并且TG.FOBOS也都能在稀疏性上得到提升.但是有些其它类型的算法,例如RDA从另一个方面来求解Online Optimization并且更有效地提升了特征权重的稀疏性.RDA(Regularized Dual Averaging)是微软十年的研究成果.RDA是Simple Dual Averaging…
在线最优化求解(Online Optimization)之二:截断梯度法(TG) 在预备篇中我们做了一些热身,并且介绍了L1正则化在Online模式下也不能产生较好的稀疏性,而稀疏性对于高维特征向量以及大数据集又特别的重要.因此,从现在开始,我们沿着提升模型稀疏性的主线进行算法介绍. 为了得到稀疏的特征权重 ,最简单粗暴的方式就是设定一个阈值,当的某维度上系数小于这个阈值时将其设置为称作简单截断).这种方法实现起来很简单,也容易理解.但实际中(尤其在OGD里面)的某个系数比较小可能是因为该维度训…
Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 目录 Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 0x00 摘要 0x01概念 1.1 逻辑回归 1.1.1 推导过程 1.1.2 求解 1.1.3 随机梯度下降 1.2 LR的并行计算 1.3 传统机器学习 1.4 在线学习 1.5 FTRL 1.5.1 regret & sparsity 1.5.2 FTRL的伪代码 1.5.3 简要理解 0x02 示例代码 0x03 问题 0x04 总体逻辑 0xFF 参考 0…
Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 目录 Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 0x00 摘要 0x01 回顾 0x02 在线训练 2.1 预置模型 2.1.1 训练模型 2.1.2 加载模型 2.2 分割高维向量 2.3 迭代训练 2.3.1 Flink Stream迭代功能 2.3.2 迭代构建 2.3.2.1 迭代的输入 2.3.2.2 迭代的反馈 2.3.3 迭代体 CalcTask / ReduceTask 2.3.3.1 迭代初始化…
这篇笔记主要参考冯杨的五篇博客:在线最优化求解(Online Optimization).因为对于在线学习方法,稀疏性问题需要特别关注:每次在线学习一个新 instance 的时候,优化方向并不一定是全局最优,不容易产生稀疏解,而简单截断又可能将从全局看不该稀疏掉的特征变为零.所以这里以 L1 正则为基础,比较几种在线学习算法. 0,预备 每个 instance 由特征向量和预测目标组成: \((\mathbf x,y)\).其中 \(\mathbf x \in \mathbb R^N, y \…
1. 背景介绍 最优化求解问题可能是我们在工作中遇到的最多的一类问题了:从已有的数据中提炼出最适合的模型参数,从而对未知的数据进行预测.当我们面对高维高数据量的场景时,常见的批量处理的方式已经显得力不从心,需要有在线处理的方法来解决此类问题. 在CTR预估中,经常会用到经典的逻辑回归(LR),而对LR的各维度参数进行估计的时候会用到最优化算法,常见的比如梯度下降(Gradient Descent),牛顿法等等,这些方法都属于批量处理算法(Batch),当面对高维高数据量的场景时就显得有些笨重,因…