0

0

Kaggle[2]

php中文网

php中文网

发布时间:2016-06-07 15:37:00

|

1492人浏览过

|

来源于php中文网

原创

比赛链接:http://www.kddcup2012.org/c/kddcup2012-track2 比赛描述: Search advertising has been one of the major revenue sources of the Internet industry for years. A key technology behind search advertising is to predict the click-through

比赛链接:http://www.kddcup2012.org/c/kddcup2012-track2

比赛描述:

Search advertising has been one of the major revenue sources of the Internet industry for years. A key technology behind search advertising is to predict the click-through rate (pCTR) of ads, as the economic model behind search advertising requires pCTR values to rank ads and to price clicks. In this task, given the training instances derived from session logs of the Tencent proprietary search engine, soso.com, participants are expected to accurately predict the pCTR of ads in the testing instances.

看样子就是ctr预估了。ctr上面有提到,叫做click-through rate,点击率。然后广告的这个点击率跟搜索引擎的返回顺序和竞价排名有很大关系。

具体的提供的数据集,特征情况,可参考最前面的链接。

本篇主要总结1st队伍的paper(kddcup2012 best paper)

先来看看整个系统的构建:

Kaggle[2]

主要有3部分组成。

1. 单独模型构建:包括分类、回归、ranking、以及矩阵分解(隐因子挖掘)等

2. 融合模型改进: 融合第一部分的单模型(用validation set得到融合参数)

3. 集成模型生成: 得到最终的集成模型


首先要说下,他们每个模型使用的特征都不一样(特征包括题目给的,也有自己加进去的),具体的可以参考他们的paper的附录。

数据这样的:

# click, # impression, ...

click是点击次数,impression可以理解成出现次数,然后要预测的是click/impression。

后面做二分类的时候,把click当成正样本集,impression - click 作为负样本集

先看看第一部分吧。

classification:

1. Naive Bayes 做二分类,正样本是positive sample 负样本是negative sample(其实这里正负样本是一样的,只是个数不同,原因是同一个广告词条,用户有时候会点,有时候不会点)。然后计算条件概率的时候,用到2种smooting的办法(additive 和 back off)。

2. Logistic Regression也是做二分类,加入L2正则项,用LIBLINER来解这个优化问题(LIBLINEAR适用于大数据,LIBSVM、LIBLINEAR貌似都是台大的)。具体训练步骤,为了最大化AUC,他们用到了很多策略,包括删选特征、抽样策略等。

Regression:

1. Ridge Regression:

Regression的target variable是#click / #Impression。Ridge regression没啥好说的。

2. SVR

Support Vector Regression。要说的是,他们使用了kernel。不过是很简单的kernel - 加了2次项。继续用LIBLINEAR(自己的东西,而且效率又高嘛)

Ranking:

1. Rank Logistic Regression:

Ranking model 主要是为了最小化pairwise logistic loss。 

Kaggle[2]

2. RankNet

这个我不是太懂了== 参考文献是Learning to rank using SGD。 日后看完了,再补上。

Matrix Factorization:

这部分是挖掘隐因子。如果看过NetFlix的推荐系统大赛,应该很清楚。矩阵分解,主要用于挖掘user和item的隐关系。希望每个user和item都能由几个隐变量表示,然后相乘起来。其实这个ctr预估,也可以看成是推荐系统。因为我们希望知道user对这个广告感不感兴趣,从而预测会不会点击。

作者主要用到了regression based(ctr就是评分)和ranking based(ranking不是很懂,看完再补)。


最后作为第一部分的总结,看看每个model的AUC情况:

Kaggle[2]


第二部分是 Validation Set Blending

这一步的目的主要是融合单个的预测器,提升性能,同时扩大多样性,使得最终在test data上有比较好的效果。

具体的做法其实就是把单模型的预测特征,作为blending的输入特征,然后在训练一个模型。

1. feature selection

作者的这一步很简单,如果我们认为这个单模型overfit(AUC差异大), 那么直接扔掉。

2.Score Transformation

就是scale一下。

3.Blending Models

开始融合了!作者尝试了RankNet、SVR、Combined Regression and Ranking、LambdaMart。

如果最后使用的是1-level blending,那么参考之前的大图,整个系统以及完成。

若是2-level,相当于把1-level blending的模型再blend一次,没啥太大区别。


第三部分就是Testing了

这部分相当于把前面的单模型还有融合模型,一起集成起来,用作预测。可以linear combine 或者干脆uniformly combine。


这个比赛的best paper解读就到此为止啦~

自己对ranking这块不太了解,然后文中所说的AUC和ranking的pairwise loss有很大关系,我也得看看。

本身这个比赛又一次验证了,ensamble的强大,其实说到底,ensamble只是为了那个diversity,防止overfitting。

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
php初学者入门课程
php初学者入门课程

共10课时 | 0.6万人学习

Go语言教程-全程干货无废话
Go语言教程-全程干货无废话

共100课时 | 9.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号