竞价广告系统-逻辑回归优化方法-L-BFGS

逻辑回归优化方法-L-BFGS

逻辑回归的优化方法是一个经典的问题,如果我们把它视为一个最大熵模型,那么我们知道最早的优化方法是IIS,这个方法就不细讲了,因为它速度很慢。后来发现在最优化领域中非常常用的l-BFGS方法对于Logistic Regression的收敛速度优化是不错的。

l-BFGS方法是Quasi-Newton方法中的一种,我想从工程角度谈一下我的看法,上次我们谈到在分布式环境下进行模型的优化,无非有两种思路,一,如果数据是mixture of exponent family的分布,用mapper进行E步骤,reducer进行M步骤进行迭代优化,这种是比较简单的方法。如果不是mixture of exponent family的情况,就用基于导数,基于梯度的方法优化。但基于梯度的方法有一个问题,比如有两次函数中,函数等高线是一个非常扁的椭圆,那么基于梯度的收敛速度是很慢的。在实际的工程问题中,这种病态的函数是很常见的,因为在工程中有成千上万的特征,它们的物理意义有时候是不明确的,无法统一的对它们进行归一化处理,因此无法用一阶导数的方法很快的求解,那么我们可以用二阶的导数,根据前两次的路径,大概求得它两次的求值是什么,这样就可以校正它的方向,使得它快速收敛。所以Quasi-Newton在工程中是必要的方法,而不只是优化的方法。那么这种方法与Newton法有什么不同呢?在Newton法中要求Hession矩阵是正定的,但在实际问题中,很难保证是正定的。BFGS的思路是用函数值和特征的变化量来近似Hession矩阵,以保证正定性,并减少计算量。Hession阵是通过前几步的路径,估计出一个二阶导数,它有不同的估计方法,BFGS就是其中一种估计方法。

L(imited memory)-BFGS它是为了解决空间复杂度的问题,虽然Hession阵可以估计可以计算,但它的规模太大,对于刚才说的点击率预测问题,它可能有上亿个特征,而Hession是一个n*n 的矩阵。而在L-BFGS,它是对Hession进行近似,将它拆为一个单位阵加上三个小的矩阵之积,假设选择一个比较小的k值以近似前面的Hession阵。它将BFGS的O(n*n)空间复杂度降到了O(n*k),k一般是10以内的数。

l-BFGS在特征量大时比BFGS实用,可以非常容易用map/reduce实现分布式求解,mapper求部分数据上的梯度,reducer求和并更新参数。它与梯度法实现复杂一点的地方在,它需要保存前几次的模型,才能计算当前迭代的更新值。

l-BFGS是对Logistic Regression优化的最基本的一个方法,了解它之后对优化的框架和思路会有一个比较清晰的线索。

时间: 2024-10-20 21:57:33

竞价广告系统-逻辑回归优化方法-L-BFGS的相关文章

竞价广告系统-点击率预测和逻辑回归

点击率预测和逻辑回归 点击率预测 从广告索引中我们得到很多的广告候选,这些广告从逻辑上都满足广告主的定向条件,即广告主定向条件的DNF范式,在竞价广告系统中,我们要选择一个最优的方案,最优的广告投送出来,一般最优的广告是通过eCpm进行排序,用广义第二高价进行排序,进行收费的模式.在CPC环境中eCpm=bid * ctr,那么对CTR的预测就是竞价广告系统中最重要的一个部分. 每个公司都对点击率预测有不同的做法,做法也非常多,这里只描述一下人人对这个问题的理解和看法. 广告点击预测概率模型:

广告推荐系统-逻辑回归问题导出

在广告推荐系统中,利用用户和广告之间的信息作为预测的特征 预测的过程其实就是一个二分类的问题,主要就是判定一个用户对这个广告点击或者是不点击的概率是多少 而这个过程是一个伯努利函数,整个过程是一个伯努利分布 而在逻辑回归中主要是在线性回归的基础上利用了一个逻辑函数sigmod,而为什么要用这个函数,逻辑回归与线性回归之间的关系: 1 广义线性模型: 指数家族分布: 是广义线性模型的基础,所以先简单了解一下指数分布族. 当固定T时,这个分布属于指数家族中的哪种分布就由a和b两个函数决定. 自然参数

竞价广告系统-流量预测

流量预测 在前面合约式广告中提到过合约式广告中有三个基本技术,1. 受众定向,2. 点击预测,3. 流量预测.在这三个技术基础上才可以做Online Allocation,本节主要介绍流量预测. 在定向条件分的比较粗的情况下,流量预测是比较简单的,比如只对人群分了几十个类,那么只需要进行简单的统计就可以进行流量预测了.但在实际的Network中,一个广告投放的定向条件比较多(即前一节中的DNF),并且条件有或的关系,也可能有与的关系. 流量预测的方法有很多,也不乏一些fancy的做法,这里只介绍

竞价广告系统-动态特征

动态特征 特征对点击率预测有多种选择的方法,我们现在有三个轴,有ad,user,context.User上有很多标签,cookie,age,gender是从定向信息中得到的,url上有一些域名和分析得到的topic,ad上有层次的category,advertiser,campaign,solution,creative,url.很显然,如果仅仅作为一个learning的问题,任何两个轴或三个轴组合出来的特征都是可以用作于logistic regression中的特征去学习的,还可以分析出每个特

竞价广告系统-广告网络

广告网络 广告网络 (Ad Network) 在竞价机制下,主流的广告市场形态是广告网络,解释一下,广告网络在竞价机制下这个说法并不准确,因为广告网络是一个很庞杂的概念,有按CPD(按天付费)广告,还有合约式广告等等,我这里我们暂时只关注竞价机制下的广告网络. Wiki中对广告网络的定义,Connects advertisers to web sites that want to host advertisement,这是一个非常泛的定义,广告网络的主要特征有: 1. 竞价系统(Auction

竞价广告系统-ZooKeeper介绍

ZooKeeper介绍 为了讲述的完整性,介绍一下ZooKeeper.ZooKeeper在Index和Ad Server里使用比较多,虽然它可能没有google的Chubby好,但它是开源的工具.举一个使用场景,比如我们有很多台Index,或者有很多台Ad Server,其中有一些机器崩溃了,或是有一些机器新添加进了集群,如何用一个分布式的管理系统通知其它相关模块,哪些机器是可以用的.ZooKeeper就是解这种问题的,ZooKeeper是在基于消息传递通信模型的分布式环境下解决一致性问题的基础

竞价广告系统-广告检索

广告检索 在前面谈到合约式广告时没有讨论广告检索的问题,虽然合约式广告也有检索的问题,但合约式广告一般数量非常小,只有千的级别,不需要特别的检索技术.但在广告网络中,比如google的广告数在百万级别.广告的检索问题有其独特的地方,下面我们讨论两点. 1.     布尔表达式检索,2. 长Query,它在上下文广告时会用到. 广告投放条件过滤可以视为布尔表达式检索问题.它不同于web搜索中关键词的搜索.比如广告主投放条件可能是年龄属于第三年龄段,地区是纽约,或是地区是加州,性别是男性的用户.可以

大白话5分钟带你走进人工智能-第十九节逻辑回归之优化点(4)

                                                                                      第十九节逻辑回归之优化点(4) 上一节中我们讲解了逻辑回归导函数求解的问题,一步步推导出交叉熵损失函数的梯度.很是不容易,这节中我们一起看下逻辑回归的优化有哪些点? 第一点关于逻辑回归优化:和多元性回归是一模一样.要不要设置w0?比如下图: ? 之前说多元性回归是做拟合,假如现在要分类的话,我们知道分类对于一维来说是找一个点,

合约广告系统-在线分配问题

在线分配(Online Allocation)问题 在线分配问题 前面提到过广告是三方博弈,用户,广告主,媒体之间的博弈,而推荐系统是用户与媒体的博弈.它们之间的区别其一是广告主通媒体reach用户是有量的需求的,推荐系统是自己把内容推给用户,不见得有明显的量的需求.广告的量的需求体现在两个方面,一种是我前面提到的GD广告系统,有量的下限的需求,或者说有固定流量的需求,二是Non- Guaranteed delivery,即非合约方式,它有一种上限的限制,它受到广告预算的受限.所以在线分配问题的