精华内容
下载资源
问答
  • 互联网广告系统综述五系统架构

    千次阅读 2016-10-19 15:01:05
    互联网广告系统综述五系统架构   声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考...

    互联网广告系统综述五系统架构

     

    声明:

    1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献

    2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。

    3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。

    4)阅读本文需要互联网广告业的基础(如果没有也没关系了,没有就看看,当做跟同学们吹牛的本钱)。

    5)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。请直接回帖,本人来想办法处理。


    前面几篇博文都说了很多业务架构方面的东西,顺便说了一些用户基础信息的挖掘相关的事情。那些很多都已经被大神们说得淋漓尽致了,除了定向中说的那几个定向方法以外。

    下面就开始一些跟技术相关的东西了。

    1.1前言

    在说了这么多技术无关的东西后,是要来点有技术性的东西了。

    这系列的博文好像看起来并不能让很多人看的爽,因为没啥公式与技术相关的东西。可以想象到的是,大部分人花不了5分钟就看完了,觉得没啥含量。只是这些东西才是一个广告产品重要的东西,也是老板关心的东西,而用什么模型,什么挖掘手段,怎么去估ctr,真没有哪位老板会关心。

    工程师思维不是那么有全局观的,技术也不能一头钻着。广告算法工程师需要更广阔的视野,去看到更多的可能性,更多的增长点。

    这话还是很客气和空虚的,用人话来解释一下:想要赚钱,把前面那套东西搭起来,就能赚不少钱了,再让运营和销售多拉点有钱的广告主进来,那钱就赚得更多了;而用什么技术去预估ctr,用什么模型,用哪个大数据,都只是一些辅助手段,没有前面的那些工作,这些都只是镜中花、水中月。一个广告业务会因为出现了新的业务售卖形式获得业务指标大幅度的增长,但不会因为用了一个什么模型有翻天覆地的变化。再好的ctr预估、再好的模型、再大的数据,广告业务设计得很差,照样赔本。广告算法工程师拼了老命提升的一点点业务指标(点击率和收入),可能把流量换种方式售卖就达到了,而且广告主掏钱掏得爽爽的,用户也不反感,就像请第三方公司挖掘出广告主的潜在客户,直接让广告主高价来买这些流量,这样广告主满意了,用户也觉得还不错。

    人话说完了,继续一些套话。广告算法工程师要注意对业务的掌控能力,看出在整个业务系统需要在哪个点发力,才能得到可观的业务指标提升,而不是一味地优化模型与特征。广阔的视野,能帮助看到业务的发力点,甚至能看到从当前业务中催生一个新业务,这样的广告算法工程师才是合格的。

    这一段话也就是为了给自己前面那几篇博文加点回头率罢了,下面开始系统方面的东西了。

     

    1.2 广告业务系统架构

    为了让各位对系统有一个全面的理解,这里把整个系统的架构列出来。


    一个用户过来后,这个广告请求会进入到广告投放平台。广告投放平台会读取一些索引,决定要不要进行投放,决定投放后,广告投放平台会读取广告主服务页推送过来的广告计划,做一些频次上的控制,再把剩余的广告交给线上定向模块。线上定向模块从线上存储器读取用户的profile数据,根据每个广告计划的定向条件去筛选,筛选剩下的广告计划就是适合投这个用户的广告;再对筛选剩下的广告,做一个比较粗的选取,选择其中质量较高的返回给下一个模块,这个工作由线上定向模块完成。

    线上定向模块过后,剩下的是相对优质的若干个广告,开始对这若干个广告进行预估ctr,预估ctr过程中需要去线上存储器读取特征,一般还需要本地加载的一个模型。当ctr预估完成后,就进行算分排序,计算扣费,再加上一些业务策略,从而选出最合适的若干个广告,返回给广告投放平台。算法排序和计算扣费的方式在上一篇博文里面描述过,不多讲。

    广告投放后,会产生日志,日志会通过日志收集系统收集到数据仓库。

    广告算法工程师会从数据仓库里面获取各种投放日志,提取特征,把特征导入到线上存储器;还会根据投放日志,生成训练样本,训练模型,把模型推送到线上服务器,由线上服务器进行加载来给预估ctr使用。

    技术实力强大的公司,还能进行在线学习,就是模型随着投放数据的不断产生,不断更新的,这个对工程能力要求很高。

     

    1.3 注意点

    上一节说的那个系统,很多可以由兄弟团队帮助搭建,但是,有两个点需要注意的。

    第一个就是离线训练模型,这里面文章很大,大公司能用自己弄的mpi并行计算集群搞得很牛逼。然而不是每个公司都是大公司,也不是每个组都具备这样的技术实力,那就带来了问题,早期的公司如何快速实现系统的搭建?

    在这个时候,工具论是个绝对可行的方法,如mahout,或者说vw。其中mahout可以有random forest,而vw有logistic regression,这两种模型在广告技术上是用得比较广泛的了,尤其是logistic regression,很多公司都在用。单机是很难达到要求的,并行计算是很重要而且要快速实现的,所以选择一个好的工具,非常重要。

    第二个就是线上存储系统,离线特征的设计,如何方便存取也很重要。因为线上存储器空间有限,不可能无限扩展,有些特征如果不做区分,所占的空间将非常大。为了缩减数据体积,对特征做一些清洗,归并操作非常重要,这些也很考验数据挖掘工程师的经验。

     

    致谢

    多位同事的指点。

     

    参考文献

    [1] http://www.techinads.com/archives/41江申_Johnson的博客

    文章来源:http://blog.csdn.net/mytestmy/article/details/40932057

    展开全文
  • 互联网广告系统综述七特征 https://blog.csdn.net/guohecang/article/details/52858550 声明:1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献2)...

    互联网广告系统综述七特征

    https://blog.csdn.net/guohecang/article/details/52858550

    声明:

    1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献

    2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。

    3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。

    4)阅读本文需要互联网广告业的基础(如果没有也没关系了,没有就看看,当做跟同学们吹牛的本钱)。

    5)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。请直接回帖,本人来想办法处理。

     

    描述完系统,模型等方面,就到了花费互联网广告算法工程师的最大精力的点了,就是特征工程,这是一个持久战斗的点。

    流程复杂,而且各种机器学习的方法都可以在这里用上,有效果,有产出,有指标。当然,玩砸的也不少,打击总是很多的。

    前面那么多的工作,都可以在系统搭建完成后,变化都不会特别大,剩下还可以变化的,就是预估ctr的时候的那个x了,这个x就是由特征组成,对ctr预估起到决定性作用的是选用的特征。

    下面就特征工程的一些相关的点说一下。

    特征工程真是艰苦的战役。包括想特征,特征生成,分析特征,特征加工,离线指标评估,线上效果评估,特征上线等,中间夹杂着各种工作。

    下面一一来说一下吧。

    1.1想特征

    什么样的特征适合用来预估ctr?这个问题是很多广告算法工程师的需要考虑的。

    机器学习算法最多会大谈模型,对于特征的讨论很少涉及。真正的应用中,多数数据挖掘工程师的工作都是在想特征,验证特征。

    想特征是一个脑力加体力的活,需要不少的领域的知识,更让人郁闷的是,工业界并没有一整套想特征的办法,工业界有的只是验证特征的办法。对于互联网广告业,就简单说说通用特征怎么来的吧。

    首先说年龄这个特征,怎么知道它跟点击率有关系?现在直观的解释是,年轻人普遍喜欢运动类的广告,30岁左右的男人喜欢车,房子之类的广告,50岁以上的人喜欢保健品的广告。可以看到,选择年龄作为特征的理由是基于对各个年龄段的人喜欢的不同类型的东西的一个粗略的划分,是一个很主观的东西。

    再说性别这个特征,直观的感觉是,男性普遍喜欢体育类的,车类的,旅游类广告,女性普遍喜欢化妆品,服装类的广告。这也可以看到,选择性别作为特征也是基于相似的理由,就是认为男性和女性大体会喜欢不同的东西。

    对于地域这个特征,这下就学问多了,华南的人在比较喜欢动漫和游戏,华北的人喜欢酒品和烟?

    在广告方面的特征,广告的图片大小,广告前景色背景色真的能影响人的点击吗?这其实都是一种猜测。图片里面是一个明星还是一个动物之类的因素也可以考虑。

    总之,想特征的这个事情基本没多大谱,只能天南地北地想象,还要多了解各行各业的知识,以便想到更多的特征,哪怕某个特征跟人关系并不大,也得好好验证一番。这基本上跟男人为回家晚想借口一样,得有借口要想着怎么解释得好听点,没借口就要想借口。

    想到了特征,就要分析、验证和进行判断。

     

    1.2分析特征

    再说年龄这个特征,怎么知道它跟点击率有关系?

    只好去看看每个年龄段的人在各个广告上面的表现,比如经过跑数据分析,发现20~30岁之间的男性用户对车、房子之类的广告点击率比较高,而50岁以上的用户对保健品的广告点击率比较高。这就有了区分性了,说明年龄这个特征是对点击率是有预测能力的。

    再说性别这个特征,去把每个性别对各个广告的点击率跑出来。根据结果,发现男性用户体育类的,车类的广告点击率比较高;而女性用户则对化妆品,服装类的广告点击率比较高。这就说明了性别这个特征对点击率是有预测能力的,因为有区分性。

    实际分析过程中发现,性别这个特征比较有效,手机平台这个特征也比较有效,地域和年龄这两个特征有一定效果,但没有前两个那么明显,跟他们的使用方式可能有关,还需要进一步挖掘。

    实际使用中也发现,实时广告ctr这个特征也很有效,这个特征的意思就是当前的广告正在投放,已经投放了一部分了,这部分的点击率基本可以认为是这个广告的点击率了,也可以认为是这个广告的质量的一个体现,用来预估一个流量的ctr是很有效的。

     

    1.3特征加工

    想到了特征,分析过了,发现是有效的,就想直接上线?没那么容易,对于很多特征来说,还是需要经过加工的,因为很多特征在加工后在线上的效果提升都很明显(当然,没加工过的特征也能起到一定的效果,只是没有发挥最大作用而已)。

    特征加工目前用到三个主要的工艺:二值化,交叉,平滑,离散化

    1.3.1二值化

    假设暂定有实时广告ctr,用户年龄,性别三个特征想要使用。

    反馈ctr是一个浮点数,直接作为特征是可以的,假设1号特征就是反馈ctr。

    对年龄来说就不是这样了,因为年龄不是浮点数,而且年龄的20岁跟30岁这两个数字20,30大小比较是没有意义的,相加相减都是没有意义的,在优化计算以及实际计算ctr是会涉及这两个数字的大小比较的。如w.x,在w已经确定的情况下,x的某个特征的值是20,或者30,w.x的值相差是很大的,哪怕用逻辑化公式再比较,得到的值也是比较大的,但是往往20岁的人跟30岁的人对同一个广告的兴趣差距不会那么大。解决这样的情况的方法就是,每个年龄一个特征,如总共只有20岁到29岁10种年龄,就把每个年龄做一个特征,编号是从2到11(1号是广告的反馈ctr),如果这个人是20岁,那么在编号为2的特征上的值就是1,3到11的编号上就是0。这样,年龄这一类特征就有了10个特征,而且这10个特征就是互斥的,这样的特征称为二值特征。

    对于性别来说也是,两种性别,分别编号到12、13号特征上就完成了二值化了。

    1.3.2交叉

    二值化看起来就能解决两个特征的差没有意义的问题了,但是够了吗?

    比如一个人是20岁,那么在编号为2的特征上面,它一直都是1,对篮球的广告是1,对化妆品的广告也是1,这样训练的结果得到的编号为2的权重的意义是——20岁的人点击所有的广告的可能性的都是这个权重,这样其实是不合理的。

    有意义的应该是,这个20岁的人,当广告是跟体育相关的时候,它是一个值;当广告跟保健品相关的时候,它又是另一个值这样看起来才合理。

    因为特征需要根据人和广告的关系不断变化,才能使得一个人对不同的广告预估出不同的ctr来,如果特征不能跟着广告变化,那么一个用户对所有广告都预估出同一个值来,也是不行的。

    基于跟上面同样的道理,性别这个特征也是一样的,假如也做了上面的离散化操作,编号是12和13,12是男性,13是女性。这样的话,对于一个男性/体育广告组合来说,编号12的特征值为1,男性/化妆品的组合的编号12的特征值也是1。这样也是不合理的,主观看过去都不合理。

    怎么做到合理呢?以上面的性别的例子来说。编号12的特征值不取1,取值为该广告在男性用户上面的点击率,如对于男性/体育广告的组合,编号12的特征的值为男性在体育广告上面点击率,这样,编号为12的特征就变成了一个浮点数,这个浮点数的相加减是有意义的,这个浮点数的值越大,意味着这个性别的用户对该广告越感兴趣。这样过后,同一个用户,对不同的广告主,编号为12的位置的值都不一样了。而且这样可以不用编号为13的特征了,直接拿性别/广告的组合的点击率作为编号12的特征的值,两种性别都考虑到了。其实也就是说,经过组合后,年龄和性别各自又变回了一个特征,这个特征的值会随着不同的广告变化的,这个值跟广告有关。

    这样的做法称为特征的交叉,现在就是性别跟广告的交叉得到的特征值。还有很多其他的方式可以进行交叉,目前应用起来效果比较好的就是广告跟性别的交叉特征,广告跟年龄的交叉特征,广告跟手机平台的交叉特征,广告跟地域的交叉特征。如果做得比较多,可能会有广告主(每个广告都是一个广告主提交的一个投放计划,一个广告主可能会提交多个投放计划)跟各个特征的交叉。

     

    1.3.3平滑

    经过上面的处理,很多特征变成了交叉的特征,而且特征值是一个广告过去一段时间的点击率(ctr)。

    这个值是一个浮点数,计算的方式是交叉特征下的历史点击数/历史展示数,用字母表达是click/pv。

    这个往往是很多问题的,如广告只投放了一次,就被点击了一次,点击率就是100%了,这个值是相当大的,只是肯定不可信,因为点击率一般百分之几就不得了了;又比如广告投放了100次,点击了1次,点击率1%,这样又可信了吗?假如pv为0呢?难道点击率就无穷大?

    关于这个问题雅虎出了个paper,能很好地解决这个问题,是用贝叶斯学派的方法的。

    首先两个假设。

    假设一,所有的广告有一个自身的ctr,这些ctr服从一个Beta分布。

    假设二,对于某一广告,给定展示次数时和它自身的ctr,它的点击次数服从一个伯努利分布 Binomial(I, ctr)。

    如果用r表示点击率,I表示展示,C表示点击。这两个假设可以用下面的数学表示。

    根据这两个假设,假如已经有了很多个广告投放数据,I1,C1,I2,C2……In,Cn,就可以根据这些投放数据列出似然函数

    求解这个极大似然问题,得到两个参数alpha和beta,然后每个广告的点击率就可以利用这两个参数计算后验ctr(平滑ctr)了,公式如下:

    r=(C + alpha) / (I + alpha + beta)

    有了这个技术,上面说的那些交叉特征的特征值都用这个技术平滑了一下,就避免了出线1.0或者正无穷这种这么病态的特征值,因为一般都是很小的特征值。

    事实证明,平滑技术很有效。

     

    1.3.4离散化

    假设还是实时广告ctr,用户年龄,性别三个特征,经过上一次交叉和平滑,现在得到了3个特征值,实时广告ctr编号为1,年龄与广告交叉特征编号为2,性别与广告交叉特征编号为3。现在就三个特征了了。

    这三个特征直接训练logisticregression模型,可以吗?可以的,但是线上效果并不好。为啥?这倒是个问题。看看下面的解释。

    如编号为1的那个特征,就是广告实时的ctr,假设互联网广告的点击率符合一个长尾分布,叫做对数正态分布,其概率密度是下图(注意这个是假设,不代表真实的数据,从真实的数据观察是符合这么样的一个形状的,好像还有雅虎的平滑的那个论文说它符合beta分布)。

    对于不同档次的点击率来说,重要程度是不一样的,比如在接近对数正态分布的那个拱附近(0.2%左右)的点击率,由于这类型的情况比较多,重要程度并不高,特征的权重需要小一点;但是对于接近那个长尾的那些点击率来说,这种情况比较少,重要程度高,特征的权重也应该大一点。下面是重要程度分布图。

    如果直接用ctr的那个浮点值作为特征,训练后,对这个特征,只有一个权重,没办法把重要程度区分开来,所以效果不好。

    当然,点击率与重要程度不一定是完全的正相关性,有可能值越大特征越重要,也有可能值增长到了一定程度,重要性就下降了。这样的就是非线性的情况,利用一个线性的方式去拟合,效果自然打折扣。

    解决的方法就是把ctr那个浮点值离散化。

    百度有科学家提出了对连续特征进行离散化。他们认为,特征的连续值在不同的区间的重要性是不一样的,所以希望连续特征在不同的区间有不同的权重,实现的方法就是对特征进行划分区间,每个区间为一个新的特征。

    具体实现是使用等频离散化方式:1)对于上面的编号为1的那个特征,先统计历史记录中每条展示记录中编号为1的特征的值的排序,假设有10000条展示记录,每个展示记录的这个特征值是一个不相同的浮点数,对所有的展示记录按照这个浮点数从低到高排序,取最低的1000个展示记录的特征值作为一个区间,排名1001到2000的展示记录的特征值作为一个区间,以此类推,总共划分了10个区间。2)对特征编号重新编排,对于排名从1到1000的1000个展示记录,他们的原来编号为1的特征转变为新的特征编号1,值为1;对于排名是从1001到2000的记录,他们的原来编号为1的特征转变为新的特征编号2,值为1,以此类推,新的特征编号就有了1到10总共10个。对于每个展示记录来说,如果是排名1到1000的,新的特征编号就只有编号1的值为1,2到10的为0,其他的展示记录类似,这样,广告本身的ctr就占用了10个特征编号,就成为离散化成了10个特征。

    另外的两个交叉ctr也是用这样的方式离散化成了10个特征,那样总共就有了30个特征。训练的结果w就会是一个30维的向量,分别对应着30个特征的权重。

    实际的应用表明,离散化的特征能拟合数据中的非线性关系,取得比原有的连续特征更好的效果,而且在线上应用时,无需做乘法运算,也加快了计算ctr的速度。

     

    1.4离线指标评估

    特征想到了,分析完了,加工过了,就需要出些跟线上应用相关的东西流量,就是离线指标。

    离线指标可以先评估单特征AUC,就是根据这个特征的取值情况,就是前面离散化之前的那个浮点值,跟真实的点击数据组合成一对数据,去计算AUC,如果AUC大于0.6,就已经算是一个很不错的特征了;如果很接近0.5,说明识别能力不强,还要继续加工或者放弃。

    为了跟线上情况一致,要做的事情就是跟线上目前情况一样,先训练一个模型,再把测试样本经过模型,得到一堆预估的ctr,再根据这些ctr很真实点击情况对比,计算一些指标。

    评估模型效果的方法有很多,主要有以下两个:

    1. AUC,从排序的角度评估模型预估效果;

    2. MAE(Mean Absolute Error)/MSE(Mean Squared Error),从准确率的角度评估模型预估效果;

    AUC在其他的博文里面详细描述了,主要比较正负样本的序关系。

    MAE就是看预估的ctr与真实的ctr的差的情况,估得越准确越小,MSE同理。

     

    1.4线上效果评估

    离线评估完后,只是对这个特征有了个期待,但是决定特征能否上线的还是在线的A/B Test,即随机选取两部分线上同质流量,一部分用基准模型A进行实际投放,一部分用加了新特征的模型B进行投放。如果后者对在线业务指标(如点击率、千次展现收益等)有正向效果,就认为是好模型,特征就是好特征,这个特征就可以上线了。

     

    1.5特征上线

    在A/B Test过程中,的如果模型B业务指标一直比模型A好,模型B就可以全量上线了,这样,新特征也全量上线了。到这,一个特征的上线过程就描述完了

    新的业务策略上线同样也是用这种方法。

     

     

    1.6特征生成

    在前面说特征生成的时候,还是挺靠前的,但是为了描述的流畅性,就放到了最后。

    前面一直在说想特征,分析,加工啥的,就是没有说一个事情,特征怎么从离线数据中获取。其实不是这个工作不重要,而是这个工作又杂又繁琐。

    一、先说实时广告ctr吧,其实这个是整整一个项目的结果。

    步骤如下:

    1、广告投放平台投放广告,结算系统产生投放日志和点击日志。

    2、日志发送到收集系统。

    3、实时计算程序实时读取日志,解析,获取其中的广告信息。

    4、按照时间窗口进行统计pv,click。

    5、写入线上存储器提供读取。

    6、线上实时进行加工。

    二、再说交叉特征

    对于性别/广告主交叉特征。

    这个也要根据实时的投放日志,根据用户id,从日志/数据仓库获取用户性别,再统计每个广告主在每个性别上的点击率,可以经过一些加工,写入线上存储器供线上程序读取。

    上面两点,看起来简简单单几句话,却跨域了4个部门,需要各种的沟通合作,才能得到线上的数据。广告投放平台与结算系统,日志收集与实时计算,线上存储器,分别是由三个部门提供的服务。完成这些工作需要大量的沟通工作。

    数据生成后验证正确性是很耗时间的,因为只能在某个时间点读出来,再根据日志里面时间戳去统计,两个对比,看看数据是否正确。

    验证工作耗费比较大的精力,还要比较多的精力去调试,保证整个项目各个模块的稳定。还要根据其他一些数据建立数据监控。

    特征工程还会遭遇其他方面的问题,如某个系统出问题,如结算系统,发送日志错误了,重复发送了,就会导致数据监控方面的报警。还容易遇到的问题是,线上存储器空间不足,导致有些特征导入失败,线上使用也出了问题等等。一时半会是说不完的,工程上的问题也会困扰算法的优化工作。

    用linkin的ppt上的一页来说吧。

    大致情况就是这样了。

    一旦搭上特征工程这个贼船,就没得脱身的了。

    没见到哪个书好好描述一下这个情况:数据不光变化,还是不稳定的变化,随时出现的脏数据让人猝不及防。

    模型不断在更新,但是要选择一个好的模型,也是非常难的,有时候得人工介入。上面那页PPT真是“满纸荒唐言,一把辛酸泪”。不是身在其中,又如何体会费老大的劲搞出来的一个特征,在线上怎么都没有产生预期的效果,各种扒拉日志与分析;一个月也看不到什么像样的指标提升的尴尬事更是屡见不鲜。

     

     

    致谢

    多位互联网博主如@Rickjin等。

    多位Linkedln研究员无私公开的资料。

     

    参考文献

    [1] ComputationalAdvertising: The LinkedIn Way. Deepak Agarwal, LinkedIn Corporation CIKM

    [2] http://www.flickering.cn/uncategorized/2014/10/%E8%BD%AC%E5%8C%96%E7%8E%87%E9%A2%84%E4%BC%B0-2%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92%E6%8A%80%E6%9C%AF/腾讯的广点通的技术博客《逻辑回归技术》

    文章来源:http://blog.csdn.net/mytestmy/article/details/40933235

    转载于:https://www.cnblogs.com/zhangbojiangfeng/p/9294810.html

    展开全文
  • 互联网广告系统综述四定向

    千次阅读 2016-10-19 15:00:33
    互联网广告系统综述四定向 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并...

    互联网广告系统综述四定向

    声明:

    1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献

    2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。

    3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。

    4)阅读本文需要互联网广告业的基础(如果没有也没关系了,没有就看看,当做跟同学们吹牛的本钱)。

    5)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。请直接回帖,本人来想办法处理。



    所谓定向,就是广告算法工程师提供给广告主一些用户属性与条件,供广告主用来找到自己的目标人群的。

    定向是很重要的,在古代,一个买大饼的武大郎,想必不会把大饼担挑到几十公里见不到人的戈壁滩去吆喝。一个卖草帽的老板,也不会跑到青楼一条街去吆喝。定向就是广告主选择自己的目标人群,避免造成“你喊啊,你喊破喉咙也没人理你”的尴尬场面。

    这个功能可大可小,随便做做点简单的也许,好好做得很细也行,对小公司来说,投入产出比不见得会特别高,对大公司来说,可以投入大量人力来好好做,体现大公司风范。

    在这个方面,机器学习的各种方法都可以用上,甚至可以不择手段。

    为了能看到全面点的东西,先抄些别人总结的东西来吧,其实组内也没有做出这么多定向条件来。抄完后就说点自己组内做的。

     

    一.广告定向方式综述

    下面的内容来自腾讯广点通的技术博客“火光摇曳”中的《细数广告定向》。

    1.1广告定向方式

    常见的广告定向方式有以下几种。

    1、人群属性定向(Demographic Targeting)

    基于用户基本属性,如年龄、性别、教育背景、职业、婚姻状态、收入、消费能力、工作场所等做人群定向,相对静态,长期不变。

    2、上下文定向(Contextual Targeting)

    基于用户当前查询的query、浏览的网页、使用的 App 等语义分析结果定向,均为实时访问上下文。另外,有些人喜欢把移动设备、LBS 地点、天气也归入此类,个人更倾向于特指内容型数据,如文本、视频等。常见的定向属性有关键词(Google Adsense、Facebook、百度凤巢)、否定关键词(Google Adsense)、展示 URL(Google Adsense、百度网盟)、页面主题(Google Adsense)、行业分类(百度网盟)等。

    3、行为定向(Behavioral Targeting)

    基于用户历史行为数据挖掘用户兴趣,行为数据如网页浏览、网页点击、查询 query、UGC 内容(如微博、朋友圈等),一般需要区分长期、短期和实时兴趣。常见的定向属性就是兴趣爱好,依靠人工定义一套层次化的类别体系,有些平台还会按照时间段(Google Adsense、百度网盟)或者商业性(品友互动)进一步区分。

    4、再营销(Remarketing)

    常见的有到访再营销、搜索再营销、广告点击再营销等。其中,到访再营销需要用户访问过商品页面或者在商品页发生过某种预定义的行为(如收藏、下单、转发等),在广告投放时,广告平台为用户展示相同(直接查表)或类似(item-based、content-based)的商品;搜索再营销根据用户在搜索引擎中搜过的 query,在广告联盟网站上展示内容相关的广告;广告点击再营销则是依据用户点击的广告数据,为其展示相同或类似的广告。一般实时性要求高,效果好,但是用户覆盖少。

    5、相似用户定向(Look-Alike Targeting)

    侧重基于确定的一小波人群,圈出更大规模类似的人群,保证定向效果的同时,扩大用户覆盖。因为挖掘相似用户过程中,主要依据用户基本属性或兴趣(长期),更新频率不高。Google Adsense 将曾经到访过广告页面的用户作为基准定制人群,然后按照用户在 Google Display Network 上的页面访问行为衡量用户之间的相似性,以扩展更多用户;而 Facebook 需要广告主提交基准定制人群,比如 Email、Phone、Facebook Ids、App Ids,后台自动找到相似用户。

    这块工作和 DSP 中的 audienceselection 非常类似。

    6、地理位置定向(Geo Targeting)

    移动互联网比较热门的定向,可以定位城市、商圈、学校等区域。

    7、其他

    时间定向(TimeTargeting):一天中的不同时间段。

    设备定向(DeviceTargeting):如手机品牌、型号,操作系统,运营商等。

    天气定向(WeatherTargeting):对经常出现雾霾天气的北京,投放口罩、空气清新器应该是靠谱的。

    语言定向(LanguageTargeting):一般具有国际化市场的广告平台会提供,如 Google、Facebook。

     

    1.2广告定向方式对比

    按照用户覆盖和定向效果两个维度,综合考量不同定向方式之间的关系,如下图所示:

    广告定向对比


    横坐标是覆盖率,纵坐标是效果。不同类型的定向条件,效果不一样,覆盖率也不一样,如remareting,覆盖率低,但效果很好。

     

    二.广告定向方式数据生成

    上面说的那么多定向方式,一个公司全部实现的非常难,这里挑几个组内实现过的来说。

    简单的,在多数的平台上,性别用户都会自己填,手机平台或者PC能从前端直接取到,根据日志再统计一下就够了。

    下面说些需要做点工作的。

    1、年龄

    年龄很重要,广告主很需要。对于一个平台来说,有部分年龄是可以准确获取到的。

    还有很多未知年龄的用户,可以跟这个用户的好友,做一个平均值,这样,很多用户就有了年龄,这个方法虽然很简单,却很凑效,其他看来不少paper,倒也没发现哪个更靠谱了。

    2、兴趣

    基于用户历史行为数据挖掘用户兴趣。

    首先要做的工作是定义兴趣,对于媒体来说,简单的方式就是用网页(频道)来定义。

    每个网页一般会打一些标签,简单的可以通过运营团队给这些网页(频道)标一些商业相关的兴趣标签(这个可以使用机器学习方法自己来搞,就是统计看每个频道的用户对各类广告的点击率,广告自己是有商业相关信息的,那么就能得到了各个频道跟各个兴趣的相关度,就把这些相关度作为这个频道的兴趣向量)。

    网页被定义兴趣标签后(机器学习挖掘出来的是向量),用户会在平台上浏览一些网页,就直接把这个网页代表的兴趣标签(或者是向量)分给这个用户。计算一个用户的兴趣时,就把他最近一段时间看过的网页的兴趣向量累加(标签就用one hot表示),当然要对时间做一些衰减,很多天前看的,兴趣会被减弱,权重小点;最近几天看的,这个权重就大点。

    这样用户就有了一个兴趣向量,再根据一些归一化的方法,把兴趣向量归一成一个全局的,就得到了用户兴趣向量,然后根据阈值选取,就得到了用户的兴趣。

    3、关键字

    跟兴趣类似,首先对网页分词,得到每个网页的词。利用topic model选择topic 明显的优质词,再根据运营或者某些方法得到的一批的商业词(跟广告主有半毛钱关系的词),过滤每个网页的里面的商业词,得到了每个网页都用若干个商业词表示。

    计算一个用户的关键词时,就把他最近一段时间看过的网页的商业词分给该用户。

    分完后每个用户都有了一大堆的关键词(有可能重复),利用tf-idf对每个关键词都弄出个权重来,再根据阈值选取,就得到了用户的关键词。

    4、指定页面用户

    用户会浏览过很多网页,其中有些是广告主的主页。

    这里就可以来些大招了——word2vec。用户浏览过的网页可以用一个id表示,那么每个用户就有了一串的id(表示这个用户浏览过的网页),把这串id当作一句话。那么多个用户的浏览记录,就有了多句话。这么多句话,就能作为word2vec的输入了,等word2vec算法跑完,每个网页id就有了一个向量来表示了。

    每个id的向量本身每一维没啥意义(目前找不出来),只有他们的距离有意义。

    广告主过来下单的时候,哪个页面跟这个广告主的主页最接近能计算出来的,那么就可以事先计算好每个广告主最相似的页面,这时展示给广告主一些勾选项,让广告主选择指定浏览过某页面的用户投放。

    这就是指定页面用户定向条件的挖掘方法,想看多点的话看另一组word2vec的博文的应用篇。

     

    三.广告定向线上架构

    再来个有关系统架构方面的。


    经过广告算法工程师的工作,利用数据仓库和集群计算,离线完成用户的定向条件的挖掘后,其他团队会根据数据建立索引。

    当广告主过来下单的时候,可以查询他的定向条件覆盖的人数以及历史售卖情况,根据这些信息广告主进行出价和下单。

    广告主下单后会建立广告计划,广告计划以及定向条件会加载到存储器。

    离线挖掘好的用户定向条件也会加载到线上存储器。一个用户过来后,线上服务会查询广告计划的定向条件,也会查询用户的profile,根据这两个东西的匹配来筛选适合投给这个用户的广告计划。

    然后剩下的就是算分排序,扣费等等事情了。后面的博文会讨论。

     

    致谢

    多位互联网博主如@Rickjin等。

    多位同事的指点。

     

    参考文献

    [1] http://www.flickering.cn/ads/2014/06/%E7%BB%86%E6%95%B0%E5%B9%BF%E5%91%8A%E5%AE%9A%E5%90%91/#comment-105腾讯的广点通的技术博客《细数广告定向》

    文章来源: http://blog.csdn.net/mytestmy/article/details/40931859
    展开全文
  • 互联网广告系统综述六模型

    千次阅读 2016-10-19 15:01:40
    互联网广告系统综述六模型 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并...

    互联网广告系统综述六模型

    声明:

    1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献

    2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。

    3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。

    4)阅读本文需要互联网广告业的基础(如果没有也没关系了,没有就看看,当做跟同学们吹牛的本钱)。

    5)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。请直接回帖,本人来想办法处理。



    经过几个博文的啰啰嗦嗦,又是业务又是定向又是系统架构的,给各位的感觉都是在描述一些外围的东西,真正核心的东西还没说到。对于心急得如干柴烈火的热血青年来说,似乎一直在各种前戏,一直没感受到提抢上阵的快感。

    就算这么急,这还是得说——在广告算法领域,如果说ctr预估是包子馅的话,前面那些东西就是包子皮,直接吃包子馅,不见得是很正确的吃法。

    下面就说说大家喜闻乐见的模型吧。

     

    1.1准确估计ctr的意义

    得从前面的算分排序那一节说起了。

    对于一些大型媒体行业平台,当时就说了ctr的估算要求比较准确,这ctr估高了,会把出价不高同时用户也不喜欢的广告的分算得比较高,这样的广告就排在了前面,这样广告平台既收不到钱,也讨不到用户喜欢;但ctr估低了,出价一般高但是用户比较喜欢的广告的分算得比较低,没机会投出去,用户就会总是看到不喜欢的广告,对媒体来说,这个最终也会导致用户的流失,照样赔了夫人又折兵。

    对于广告生态圈中的DSP来说,同样DSP需要评估流量质量,如果发现一个流量的质量很高,就开高价去竟争这个流量;如果流量质量低,就开低价去竟争。如果评估得太高,出很高的价钱拿到了质量很低的流量,那就达不到广告主的要求,会亏钱;如果评估得太低,一直拿不到流量,没办法赚钱。评估流量质量,说到底了是预估一个流量的ctr。

    说到这份上,总该明白一个问题了吧——估准ctr非常重要。这个就是广告算法工程师的工作的重中之重。

    用另一个方式理解ctr,就是一个用户点击某一个广告的概率,点击的概率大,意味着越喜欢这个广告,用户越喜欢的广告,广告的质量自然可以认为是比较高的。

    怎么算是估准了呢?举个例子,假如1万个人对同一个广告预估了1w个ctr的值,ctr的值当然有高有低了,如果这1w个人点击这个广告总共100次的话,同样也希望这1w个值的累加大致是100,这样才算估准了。但是,但是要注意的是,在这1w个值里面,那100个点击的人估算的值要明显比不点击的人要高,这就叫分开了,这才算是估得比较好的,如果人人都是大致0.01的话,也可以算是比较好的预估(因为跟真实的很接近),但是就没那么具备区分能力了,在有些业务下面,就不容易发挥更多的用处。

    要估准ctr的意义说完了,就开始谈谈模型了。

     

    1.2为啥要模型

    预估一个人对一个广告的ctr,不可能是一个广告算法工程师在那里看着,来一个广告请求就估计一下,给个决定,这样人累死,估计得也乱七八糟,还效率不高,一天撑死了估计个几十万个请求,不得了了。

    只能用机器来估,但是机器是很笨的,只能进行简单的规则运算,这些规则还必须提前指定。如果人工指定这些规则,如30岁用户点击匹克篮球的广告概率是多少,男性的用户点击匹克篮球的广告的概率是多少,年龄和性别在总的ctr预估里面占多少比重等等,需要大量的先验知识,而且还不能根据实际情况变化,往往有问题。而且规则往往是有组合的。这个方法比用人估计好很多了,但还是很原始。

    这时候数学家们就来劲了,直接看和简单规则不行,复杂规则可以啊,而且复杂的规则可以用函数来拟合啊,而且上面的那些规则都可以用统计方法得到,用函数把他们组合起来也可以啊。

    数学方法就这样引进来了。

    有两个相关的方面,一个是统计方法;另一个就是拟合一个函数去组合规则,这个函数就是模型。

    用数学的方式来表示对点击率的预估,做的工作可以用下面的图来描述。


    统计方法怎么用呢?如可以统计过去投放过的记录中,30岁的用户点击匹克篮球的广告的点击率是多少,这个数据直接就能根据投放日志统计出来;再统计男性的用户点击匹克篮球的广告的点击率是多少,这样前面的两个东西就得到了。

    但是知道这两个点击率,可以认为是两个规则;但这还不够,还需要知道这两个点击率在评估这个人点击匹克篮球的广告的概率中分别起什么作用,这就是规则的组合。这两个点击率加起来不行,相减也是不行的,加权累加可能是一种办法,但是这样行吗?还有怎么加权呢?用一个函数去组合这些规则就是很好的解决方案。为了描述的方便,我们用数学的方法来描述这两个规则,把这两个点击率(也就是规则)称为特征,用一个向量x=(x1,x2)来统一表示,其中x1表示30岁的用户对匹克篮球的广告的点击率,x2男性的用户对匹克篮球的广告的点击率。

    问题就转变成了利用一个函数把向量x转变成用户对匹克广告的ctr了。这个函数就是模型,用数学的方法来描述就是完成上面的图中函数f的形式,这个函数f的形式确定了,就有了ctr=f(x)。

    可以看到的是,利用模型是避免了人工规则扩展的困难,也使得每个ctr的计算变得可以用机器经过一些计算就可以完成,从而达到互联网在线服务的标准。

    在传统领域也有些广告主利用先验知识做ctr预估的,就像是派传单,也要先看看哪个路人更容易接才派出去的;又比如化妆品促销活动,活动大使们肯定是找街上的一些女生来参加他们的活动,只有女生才更可能乐意参加他们的活动,这些都是一些ctr预估活动在起着作用,但是这个是人用了自己强大的大脑和先验知识来完成的,互联网在线服务要求并发高,务必要估得多而且快。想象一下行人密集得像地铁里面一样,而且都是百米冲刺的速度从派传单小哥或者活动大使面前经过,他们还怎么做生意?

    所以模型加上人和广告对的向量表示,才能完成互联网的高并发与高速度的需要。

     

    1.3用什么模型

    上面说到了那个函数f就是模型,由于它的工作很复杂,那么形式应该是很复杂的,但是太复杂的模型不利于扩展,就用简单的形式来。经过工业界长期的工作,认为下面的形式是比较有效的。


    其中x是上面的那个x,w也是一个向量,表示的是x的每个特征的权重。这个w每取一个值,对相同的user和ad对就能得到一个预估的ctr,在f的形式已经确定的情况下w也可以称为是模型,因为它能根据x的取值,也就是特征的取值来决定ctr,也就是,f的形式主要是由w来确定的。

    那么w这个向量的每个特征取值就变得很重要了,这个w的每个特征的值也可以由人工指定,但是上面说过了,需要大量的先验知识,而且特征会特别多,如上面还有地域,职业,学校什么的,可以搞到成千上万的特征,人工指定没办法做到周全。所以这个权重的是要用一些方法来让机器自己学习到的,这个过程称为训练,这个训练过程还不能只根据一个记录user和ad对来训练,要根据很多对来训练。每个展示记录就是一个对,根据历史的一段时间内的展示记录,能有很多的数据对可以进行训练。

    说到了训练要用很多数据,但是这样说不够数学化,机器也做不了。只有把训练描述成一个数学问题的形式,机器才能接受。

    很多年前最优化课程的老师说过,所有的问题都可以转化成一个最优化问题,当时听不懂也不知道为啥,现在才明白,计算机时代都只能这么来的,问题就是怎么构建那个最优化问题,就是几乎所有的算法工程师的工作,各种大牛们发表的paper都可以总结成在构建什么样的问题和怎么解这个问题。

    现在有待解决的事情就是把权重向量w的每个特征的计算出来,拥有的条件是一大堆的x和这个x对应的用户的反馈:点击或者不点击。

     

    1.3模型求解

    上面描述了函数f的形式,以及权重向量w的意义,模型求解的意思就是把权重向量w的每个特征的计算出来,能依赖东西只有一大堆的x和这个x对应的用户的反馈。

    数学家们也对这样的问题有了很好的办法。且看怎么构建一个最优化问题。

    数学家认为总体的历史展示与点击数据符合一个伯努利分布,训练过程称为是拟合这个分布的过程。一次广告的展示是否被点击(每次展示被点击的概率可能不一样)是一个伯努利试验,用户点击这个广告表示伯努利试验成功,否则表示伯努利试验失败;对多个用户展示多个广告的过程是一个伯努利过程,每次伯努利试验成功的概率就是上面的f(user,ad)的值。为了方便描述,改变一下f的写法,用下面的方式表示


    其中y=1表示这个展示被点击了,y=0表示这个展示没有被点击。

    到这个时候,就要出动极大似然估计了。极大似然估计的意思是已经出现的情况,发生的概率是最大的。怎么理解呢?三个人去打靶,打中的概率分别是p1、p2、p3。用二进制的方式表示是否打中,如010表示中间那个人打中,那么可能会发生8种情况:000,001,010,011,100,101,110,111。这8种情况发生的概率分别是(1-p1)*(1-p2)*(1-p3),(1-p1)*(1-p2)*(p3), (1-p1)*(p2)*(1-p3), (1-p1)*(p2)*(p3), (p1)*(1-p2)*(1-p3), (p1)*(1-p2)*(p3),(p1)*(p2)*(1-p3), (p1)*(p2)*(p3)。假如这8个概率中p1*(1-p2)*(1-p3)最大,让人去预估打靶的结果,各位都应该认为是100这种情况,因为最符合常识的。

    极大似然就是把这种情况反过来用了,意思是:打靶的结果是100这样的情况,但是p1、p2、p3还在估计中,那么无论p1、p2、p3估计出来什么值,都要保证p1*(1-p2)*(1-p3)最大。

    那么在上面这种情况下,很自然地用极大似然构建最优化问题了。用似然函数表示上面的那个伯努利试验过程,得到整个伯努利试验的似然函数(也就是事情发生的联合概率)


    下面的那个式子是对数似然,是为了方便计算加上的。

    回到打靶的那个说法,要保证已经发生的事件那个概率最大,在这里就变成让似然函数取得最大值了,这样最优化问题的优化目标就有了,就是求似然函数的最大值,刚好每个x对应的h(x)都带着w,那么就可以把w当成要求解的变量。

    就这样,优化目标有了,要求解的变量有了,整个最优化问题就建立了。

    有人可能会注意到有可能同一个x(特征完全相同)的情况下可能会出现两个不同的点击结果(一次点击,一次不点击),这个情况就类似抛硬币一样,假如这个硬币正面向上的概率是0.6,抛出去,依然会有若干次会反面朝上。

    这个会不会影响模型的构建呢?这时候就该统计分布的知识出马了,注意极大似然的目标依然是进行分布的拟合,算的依然是概率,一个事件的发生是按照概率来判断的,极大似然估计计算的依据其实是概率,而不是某一次伯努利试验是否成功,所以对于模型的构建来说是没有问题的。哪怕这个问题推到极致,所有x都一样,那么得到的结果就是h(x)刚好接近总体点击率,这依然是一个好的模型,只是,可能用其他方法也能得到同样的结果罢了。

    拟合分布跟计算一个分类器(判别模型的决策面)不一样,对于一些构建分类决策面的模型来说,如果同一个向量同时落在决策面的两边,有可能会让模型的训练变得有问题。这个问题等具体想清楚了,再来解释。

    剩下的就是求解的方法了,这个就是最优化的知识了,具体可以看其他博文。

    这整个问题就是logisticregression的问题构建和求解过程。有关logistic regression,很多大神都刷了无数博文了,就不多献丑了。

     

    1.3.1正则化

    正则化是一个机器学习通用的技术,目的是让w的每一个特征都不能太大,同时保证整个w所有特征都的绝对值都不特别大,总的来说就是避免产生特别不好的模型。

    加完L2正则的优化目标如下


    加完L1正则的优化目标如下


    其中L2和L1是两种不同的正则化技术,区别具体可以看其他博文。

     

    1.3.2求解工具

    这个是多出来的东西,因为解上面的最优化问题可以有通用的解法SGD和BFGS。

    但是前面的博文说过,找一个工具是很重要的,我们用过的比较好的工具就是vw。

    Vw这个工具有几个优点如下

    1、Vw这个工具可以前期先用SGD跑出一个接近最优解的解,再用BFGS进行微调,得到尽可能的最优解。

    2、vw可以直接在Hadoop集群上进行并行训练,避免了很多数据转移的工作。

    3、vw非常快,几亿的训练样本一般一个小时以内就完成,网络开销也不大,因为传输的东西很少。

     

    1.3.3在线学习

    在线学习就是把模型在线上实时更新,投放了一个广告,就马上得到一个样本,利用这个样本去更新模型(SGD的方式)。

    这样的话,模型是在线上训练的,所以也叫在线学习。

     

    1.4模型架构

    从模型视角看,系统架构是下面的样子的。


    1.5优点

    除了logisticregression,还有很多其他的模型可以选择的,如random forest、gbdt。这些模型应用起来可能会有一定的效果提升,但是相比logistic regression来说,还是没有具备那么高的扩展性。

    下面列些优点看看。

    和逻辑回归算法本身的很多特点有关的,例如:

    1、变量范围是[-∞ ,+∞];同时和其他“广义线性回归”相比,值域是[0,1],因此形式上类似一个概率函数,适合分类问题;

    2、可扩展性好,适合海量的特征;训练工具多样、可选

    3、online learning,能够进行增量学习;

    4、线性模型,解释性强。

    这些优点都让logisticregression在做ctr预估的时候特别有优势,尤其是可扩展性,可以简单地增加特征,不需要太多的工作。

     

    1.6评估

    评估模型效果的方法有很多,如:

    1. AUC,从排序的角度评估模型预估效果;

    2. MAE(Mean Absolute Error)/MSE(Mean Squared Error),从准确率的角度评估模型预估效果;

    3.OE比,就是预估的平均ctr与真实的ctr的比值,越接近1越准

     

    致谢

    多位互联网博主如@Rickjin等。

    多位同事的指点。

    参考文献

    [1] Computational Advertising:The LinkedIn Way. Deepak Agarwal, LinkedIn Corporation CIKM

    [2] Ad ClickPrediction: a Viewfrom the Trenches. H. Brendan McMahan, Gary Holt et al,Google的论文

    [3] http://www.flickering.cn/uncategorized/2014/10/%E8%BD%AC%E5%8C%96%E7%8E%87%E9%A2%84%E4%BC%B0-2%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92%E6%8A%80%E6%9C%AF/腾讯的广点通的技术博客《逻辑回归技术》

    文章来源:http://blog.csdn.net/mytestmy/article/details/40932241

    展开全文
  • 互联网广告系统综述一生态圈

    千次阅读 2016-10-19 14:45:59
    互联网广告系统综述一生态圈 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料...
  • 互联网广告系统综述二业务背景

    千次阅读 2016-10-19 14:55:36
    互联网广告系统综述二业务背景 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考...
  • 互联网广告系统综述三业务描述 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考...
  • 互联网广告系统综述八机器学习与数据 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的...
  • 互联网广告综述之点击率系统 声明: 1)该博文是整理自网上很大牛和专家所无私奉献的资料的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料...
  • ...博文《互联网广告综述之点击率系统》论述了互联网广告的点击率系统,可以看到,其中的logistic regression模型是比较简单而且实用的,其训练方法虽然有多种,但目标是一致的,训练结果对效果的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,603
精华内容 641
关键字:

互联网广告系统综述