ctr

CTR校准

纵饮孤独 提交于 2020-01-08 07:20:00
通常我们在做CTR预估的时候,预估值会与真是的CTR有偏差,这种偏差可能来自于负采样,可能是因为模型的问题。 CTR预估值与真实值有偏差,并不会影响AUC指标和排序,但是实际使用中往往需要CTR的预估值不仅仅是做到有序,即正样本排在负样本前面,而且需要保证有一定的区分度。这涉及到一个概念保序和保距。 假设我们有这么一个序列 牛 500KG,羊100KG,兔子 5kg,我们有一个模型,输入这些动物之后,根据体重排序,并且出一个体重的预估值。 我们模型如果只是采用AUC这个指标的话,那么我们模型输出 牛 100kg 羊 20 kg, 兔子1kg,这样的结果AUC是没问题的,但是这只是做到了保序,但是他们之间的差值变小了,没有做到保距。 在实际业务中,比如我们有这么一些广告,A的实际点击率是10%,B的实际点击率是5%,C的实际点击率是1%,但是A B C的点击收益分别是2,5,10,如果我们的模型没有做到保距,那么输出的预估值是5%,1%,0.5%,这样的话AUC的排序指标是满足了,但是实际收益并不是最优的。 因此需要对CTR进行校准,是的CTR距离真实值越近越好。 对于CTR校准的方法,我了解的大概有这么两种,一种是基于负采样的采用比例来进行校准,参考的论文是14年facebook的论文《Practical Lessons from Predicting Clicks on Ads

CTR校准

隐身守侯 提交于 2020-01-08 05:02:56
普遍预测CTR不准,需要校准。例如 。 boosted trees and SVM预測结果趋于保守。即预測的概率偏向于中值;而对于NaiveBayes预測的概率,小概率趋于更小。大概率趋于更大。经常使用的校准方法有Binning和Pair‐Adjacent Violators (PAV);以下分别说说这两种方法。 Binning思想比較简单,也easy实现。 须要说明的是,通常校准算法不不过将概率校准为还有一概率。而是广义地将一分类器的输出score(比如SVM的输出)校准为一概率;这里的score在本文中指的就是预估的点击率CTR。 採用以上方法就能够得到每一个bin的平均输入概率和输出概率(输入输出都是相对于算法而言的)。 以下是我针对1kw曝光量的測试集得到的每一个bin输入输出概率: 7.88491695029e-08 9.80392156863e-05 4|50000 5.4510560119e-07 0.000274509803922 13|50000 1.35458085469e-06 0.000372549019608 18|50000 2.33257130656e-06 0.000588235294118 29|50000 3.39343704862e-06 0.000313725490196 15|50000 4.91818880101e-06 0

推荐中的多任务学习-ESMM

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-07 21:21:19
本文将介绍阿里发表在 SIGIR’18 的论文ESMM《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》。文章提出使用多任务学习解决CVR(转化率)预估时的 样本选择偏差 和 数据稀疏 问题。 背景 在推荐系统、在线广告等应用中,CVR预估比CTR预估更加重要,CTR预估聚焦于点击率预估,即预测用户会不会点击,但是用户点击后进行消费才是最终目标。传统的CVR预估任务通常采用类似于CTR预估的技术,然而,这种做法存在两个重大问题:1) 样本选择偏差;2) 训练数据稀疏 1.样本选择偏差 转化是在点击之后发生,传统CVR预估模型在clicked数据上训练,但是在推理时使用了整个样本空间见图。训练样本和实际数据不服从同一分布,不符合机器学习中训练数据和测试数据独立同分布的假设。直观的说,会产生转化的用户不一定都是进行了点击操作的用户,如果只使用点击后的样本来训练,会导致CVR学习产生偏置。具体的实验结果可以见原论文[1] 2.训练数据稀疏 训练数据稀疏问题很明显,点击样本在整个样本空间中只占了很小一部分,而转化样本更少,高度稀疏的训练数据使得模型的学习变得相当困难。 ESMM 首先明确CTR、CVR、CTCVR。CTR表示点击率

多值类别特征加入CTR预估模型的方法

对着背影说爱祢 提交于 2020-01-06 21:48:47
我们都知道一般单值类别特征加入到CTR预估模型的方法是先对单值类别特征进行one-hot,然后和embedding 矩阵相乘转换成多维稠密特征,如下图 1 所示: ▲ 图1. 单值类别特征处理方法 上篇文章 稠密特征加入CTR预估模型的方法 中又总结了稠密特征加入到CTR预估模型中的方法。而在现实实际问题中,往往还会出现多值类别特征,比如我接触到的2019腾讯广告算法大赛中用户的行为兴趣特征就是多值类别特征,也就是一个用户可以有多个类别的兴趣,比如打篮球,乒乓球和跳舞等,并且不同用户的兴趣个数不一样。还有2019知乎看山杯比赛中的用户感兴趣的话题特征,也就是一个用户感兴趣的话题可以有多个,并且不同的用户感兴趣的话题个数不一,这些特征的形式都一般是如下结构(拿用户感兴趣的话题特征来说): 在CTR预估模型中,对这种多值类别特征的常用处理方法总结归纳如下: ▌非加权法 最常规的也最简单的是先对所有‘话题’集合进行one hot编码,然后按照图 1 方式对多值类别特征中的每一项进行稠密特征的转换,最后对转换后的稠密特征向量进行拼接,然后按项求均值或最大值或最小值等,整个过程可以用如图 2 表示: ▲ 图2. 常见多值类别特征处理方法 可以看出,这样对多值类别特征进行处理之后,可以把每个多值类别特征转换在同一维度空间中,这样输入到神经网络中不用为了保持输入维度一致而进行padding

分享如何使用PHP将URL地址参数进行加密传输提高网站安全性

谁都会走 提交于 2019-12-24 13:48:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 大家在使用 PHP 进行GET或POST提交数据时,经常会在URL带着参数进行传递,比如www.mdaima.com/get.php?id=1&page=5,这里就将id编号和page页码进行了参数传递,如果这样直接明文传输,会将参数直接暴露给用户,要是是比较重要的数据这样传输我觉得还是不太安全。那如果将参数变成下面这样,是不是会好点呢? 1 www.mdaima.com/get.php?VGsAYQ96VzkEaF08DTxTLQIyDmsBIQtnVj0Fe1ciAD0EN1M0X2MHMQYxDDcAOwI%2FXToBPVM5ADxfag%3D%3D 我们再加强一下,将get.php重命名改为get_mb.php,然后利用静态规则,把get.html映射到get_mb.php,这样即使用户试着访问get.php也无法找到真实的PHP文件了,因为真实的PHP文件不是get.php而是get_mb.php,以下是.htaccess规则设置? 1 RewriteRule ^get.html$ get_mb.php?&%{QUERY_STRING} #.htaccess伪静态规则的设置(加入到.htaccess里就行) 利用加密再配合伪静态设置,最终效果就是下面这样了,即隐藏了真实php文件get_mb

anchor机制讲解

时间秒杀一切 提交于 2019-12-23 00:09:14
在faster-rcnn中,有anchor这一知识点,我们在这篇博客中将主要讲解它。 理论知识 前面提到经过Conv layers后,图片大小变成了原来的1/16,令feat_stride=16,假设最后输出特征图尺寸为60X40,那么可以理解为60X40个点,每一个点都可以作为一个窗口(Anchors)中心点,同时每一个窗口又有不同的尺寸(一般有9种尺寸),最终生成的窗口有60 40 9个。在生成Anchors时,我们先定义一个base_anchor,大小为16 16的box(因为特征图(60 40)上的一个点,可以对应到原图(1000 600)上一个16 16大小的区域),源码中转化为[0,0,15,15](表示right, bottom, left, top四条边)的数组,参数ratios=[0.5, 1, 2]scales=[8, 16, 32] 先看[0,0,15,15],面积保持不变(表示right, bottom, left, top),长、宽比分别为[0.5, 1, 2]是产生的Anchors box 如果经过scales变化,即长、宽分别均为 (16 8=128)、(16 16=256)、(16 32=512),对应anchor box如图 综合以上两种变换,最后生成9个Anchor box在原图中。这只是其中一个点位的情况,一共有60 40个,也就是60 40

PCM音量控制

≡放荡痞女 提交于 2019-12-22 02:23:37
http://blog.jianchihu.net/pcm-volume-control.html 一.声音的相关概念 声音是介质振动在听觉系统中产生的反应。声音总可以被分解为不同频率不同强度正弦波的叠加(傅里叶变换)。 声音有两个基本的物理属性: 频率 与 振幅 。声音的振幅就是音量,频率的高低就是指音调,频率用赫兹(Hz)作单位。人耳只能听到20Hz到20khz范围的声音。 模拟音频 (Analogous Audio),用连续的电流或电压表示的音频信号,在时间和振幅上是连续。在过去记录声音记录的都是模拟音频,比如机械录音(以留声机、机械唱片为代表)、光学录音(以电影胶片为代表)、磁性录音(以磁带录音为代表)等模拟录音方式。 数字音频 (Digital Audio),通过采样和量化技术获得的离散性(数字化)音频数据。计算机内部处理的是二进制数据,处理的都是数字音频,所以需要将模拟音频通过采样、量化转换成有限个数字表示的离散序列(即实现音频数字化)。 采样频率 (Sampling Rate),单位时间内采集的样本数,是采样周期的倒数,指两个采样之间的时间间隔。采样频率必须至少是信号中最大频率分量频率的两倍,否则就不能从信号采样中恢复原始信号,这其实就是著名的香农采样定理。CD音质采样率为 44.1 kHz,其他常用采样率:22.05KHz,11.025KHz

Windows常用快捷键

£可爱£侵袭症+ 提交于 2019-12-22 02:13:30
Windows常用快捷键 Alt键 + 双击文件: 打开文件属性 Alt键 + Ctrl键 + Delete键 : 打开任务管理器 Alt键 + Tab键 : 切换已打开的视图 Alt键 + F4键:关闭所有软件的窗口 Alt键 + PrtScr 键:截取当前窗口到剪切板,可以进行黏贴。 PrtScr 键:截取电脑当前整块页面到剪切板,可以进行黏贴。 Ctr键 + A键:全选文字 Ctr键 + S键:保存文件 Ctr键 + Z键:撤回上一步操作 Ctr键 + Y键:返回撤回上一步的操作的状态 Ctr键 + X键:剪切 Ctr键 + X键:复制 Ctr键 + V键:黏贴 Ctr键 + F键:查找 Win键 + R键: 打开运行窗口,进行程序的搜索,点击运行程序 Win键 + P键:使用投影仪时, 控制面板,进行选择 Win键 + L键:对电脑进行锁屏 Win键 + 方向键:操作窗口大小,方向停靠 F2键:点击文键,按该键可以进行文件重命名 F5键:进行刷新 F6键:将鼠标焦点切换到浏览器的地址栏 来源: CSDN 作者: 韩师学子--胖佳 链接: https://blog.csdn.net/xiao__jia__jia/article/details/103642017

IDEA项目实现热部署方式

一个人想着一个人 提交于 2019-12-20 19:29:57
背景 在使用IDEA开发springboot 项目过程中,难免出现因为启动项目后需对项目进行修改,然后需要重新启动项目实现更新,那么如果能够实现热部署既能方便开发人员也能快速实现项目开发。网上查了很多文章,自己现在总结一下实现步骤,本人亲测有效。 热部署 1、将项目设置成自动编译状态 2、设置registry,设置如下三项,快捷键是:Ctr+shift+Alt+/ compiler.automake.allow.when.app.running -> 自动编译 compile.document.save.trigger.delay -> 自动更新文件 PS:网上极少有人提到compile.document.save.trigger.delay 它主要是针对静态文件如JS CSS的更新,将延迟时间减少后,直接按F5刷新页面。 3、设置启动配置项 4、如果不生效可以使用快捷键重启Ctrl+shift+F9 来源: CSDN 作者: eden0624 链接: https://blog.csdn.net/u014209553/article/details/103636197

CTR预估-GBDT与LR实现

天大地大妈咪最大 提交于 2019-12-09 20:05:03
1.来源   本质上 GBDT+LR 是一种具有 stacking 思想的二分类器模型,所以可以用来解决二分类问题。这个方法出自于 Facebook 2014 年的论文 Practical Lessons from Predicting Clicks on Ads at Facebook 。 2.使用场景   GBDT+LR 使用最广泛的场景是 CTR 点击率预估,即预测当给用户推送的广告会不会被用户点击。点击率预估模型涉及的训练样本一般是上亿级别,样本量大,模型常采用速度较快的 LR。但 LR 是线性模型,学习能力有限,此时特征工程尤其重要。现有的特征工程实验,主要集中在寻找到有区分度的特征、特征组合,折腾一圈未必会带来效果提升。GBDT 算法的特点正好可以用来发掘有区分度的特征、特征组合,减少特征工程中人力成本。 3.CTR的流程   主要包括两大部分:离线部分、在线部分,其中离线部分目标主要是训练出可用模型,而在线部分则考虑模型上线后,性能可能随时间而出现下降,若出现这种情况,可选择使用 Online-Learning 来在线更新模型: 3.1离线部分 数据收集:主要收集和业务相关的数据,通常会有专门的同事在 app 位置进行埋点,拿到业务数据 预处理:对埋点拿到的业务数据进行去脏去重; 构造数据集:经过预处理的业务数据,构造数据集,在切分训练、测试