阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> 天池大赛算法教程及获奖选手答辩> 正文

天池大赛算法教程及获奖选手答辩

9课时 |
2509人已学 |
免费
课程介绍

天池大数据竞赛是由阿里巴巴集团主办,面向全球科研工作者的高端算法竞赛。通过开放海量数据和分布式计算资源,大赛让所有参与者有机会运用其设计的算法解决各类社会问题或业务问题。特别优秀的解决方案将有机会直接上线阿里巴巴旗下各电商网站(含淘宝、天猫等)或第三方合作伙伴平台,服务中国乃至世界数以亿计的用户。本课程主要讲解天池新手入门赛的参赛技巧、常用算法,以及获奖选手答辩视频。

新手入门赛-阿里移动推荐算法(上)

赛题介绍和离线赛演示

 

内容介绍:

  1. 赛题是做什么的
  2. 如何评价赛题做的好坏
  3. 如何做赛题
  4. 怎样能把赛题做的更好

 

 

  1. 赛题是做什么的

一句话描述:根据用户在手淘上的历史行为记录,预测用户们第二天买什么


(1)历史行为记录

  1. 预测的是什么

 

历史记录:

例:谁在什么时间对什么商品进行什么操作预测:在第32天中,谁买了什么


数据相貌:

records:12312542
user_id:10000

item_id:2914411

user_item pairs:4719002 and purchased pairs: 103464,CTR is 0.02192497

min time 2014-11-18 00 max time 2014-12-18 23

 

 

  1. 如何评价赛题做的好坏

既然要预测,如何评价一个东西?若只看哪一个预测的多,那么把所有的可能性都提交了,就有可能得满分?如果只评价哪一个预测的准?

 

只要找到一条,预测对的,就也可以得满分。因此两种评价必然是不合理的,由此可知评价指标是希望所提交的问题预测当中做到又多又准。

 

如果比预测的多:那么提交所有种可能,必得满分
如果比预测的准:只预测一条对的,必得满分
因此评价指标必须要兼顾到“多”和“准”


Example:
假设第31天(12月19号)发生了20000次交易,预测了10000条,预测对了1000条
准确率为: 1000/10000=0.1
召回率为: 1000/20000=0.05
F1=2*0.1*0.05/(0.1+0.05)

 

 

  1. 如何做赛题

首先从业务常识去判断,什么样的user_item pair,可能在下一天中发生“购买”:
用户i不停的去看商品j,预测: USERi-ITEMj
用户i将商品j放入购物车,预测: USERi-ITEMj
用户i非常喜欢买东西,预测和USERi相关的所有PAIR商品j这几天卖得很好,预测和ITEMj相关的所有PAIR

 

其次将业务逻辑转化为规则
规则:找到一个条件概率函数,将其最高的那段取出来

需要运用条件概率、贝叶斯定理、分类器模型


一个有意思的贝叶斯定理介绍:

http://mindhacks .cn/2008/09/21/the-magical-bayesian-method/

一个简单的分类器Naive Bayesian Model:

 http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971903.html

 

条件概率函数:基于最大似然的估计

 

通过Nshifts获得更多的样本以增加最大似然估计的准确,120shifts获得遗忘曲线(条件概率函数)

 

横轴为时间(小时)纵轴为概率并取最高的几点作为预测值

 

 

  1. 怎样能把赛题做的更好

 

如何将多个规则结合在一起:
1.按照每一个规则是否达标进行打分,打分最高的当作预测
2.自动的确定分数: Logistics Regression
3.若诸多规则和目标之间的关系是非线性的用More MachineLearning Algorithm

 

 

 

 

 

 

 

 

 

 

 

 

 

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品