- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TalkingData基于Spark的数据挖掘工作解读
TalkingData基于Spark的数据挖掘工作
张夏天 腾云天下科技有限公司
@张夏天_机器学习
内容
TalkingData简介
我们的数据挖掘工作
应用广告优化
随机决策树算法及其Spark实现
Talking Data简介
TalkingData
移动大数据
生态圈
行业透视
DMP数据管理平台
数据交易与交换
数据监测与预警
基础数据服务
数据能力开放
企业服务
内容
TalkingData简介
我们的数据挖掘工作
应用广告优化
随机决策树算法及其Spark实现
数据挖掘在TalkingData的应用
移动应用推荐
广告优化
用户画像
游戏数据挖掘
外包
咨询
通用
推荐
同步推
机锋
开放:移动应用通用服务接口
CTR: 提升20%-50%
转化率: 提升50%-100%
转化成本: 降低50%
人口属性
移动应用
兴趣标签
行业兴趣标签
位置信息
付费预测
流失预测
为什么选择Spark
硬件资源有限
人力资源有限
任务繁重
为什么没有广泛使用MLLib
内存资源有限,很多情况下无法把数据放入内存处理,因此迭代算法效率还是很低
迭代依然是阿格硫斯之蹱
我们只能尽可能使用需要迭代次数少,甚至不迭代的算法和算法实现
RDT
One Iteration LR
SimHash
内容
TalkingData简介
我们的数据挖掘工作
应用广告优化
随机决策树算法及其Spark实现
应用广告优化
针对某一应用,筛选推广目标人群
如何做广告优化
分类问题
预测每个设备对目标应用的感兴趣程度
算法
随机决策树
一次迭代LR
RDT算法简介
随机决策树算法(Random Decsion Trees)[Fan et al, 2003]
融合多棵随机构建的决策树的预测结果,来进行分类/回归
特点
树的构建完全随机,不寻找最优分裂点和分裂值
建树的开销低
建树的过程不需要使用label信息
应用
分类,多标签分类,回归
单机开源实现: Dice
RDT的简单例子
P’(+|x)=30/50 =0.6
P(+|x)=30/100=0.3
(P(+|x)+P’(+|x))/2 = 0.45
两种构建随机决策树的方式
方式1:
方式2:
优点:随时剪枝
缺点:需要迭代
优点:不需要迭代
缺点:空树占用内存很大,限制了树的深度
与决策树和随机决策森林的区别
决策树
随机决策森林
随机决策树
融合算法
否
是
是
随机程度
无随机
部分随机
完全随机
建树过程是否使用label信息
使用
使用
不使用
算法复杂度
中
高
低
计算复杂度
1. 与训练样本数量线性相关
2. 与所有feature的可取值数量平方相关
与训练样本数量线性相关
与feature子空间里的feature可取值数量平方相关
与树的数量线性相关
1.与训练样本数量线性相关
2. 与树的数量线性相关
是否需要迭代
需要
需要
依赖于采用哪种实现
为什么RDT有学习能力
直观解释
[Fan et al., 2003]
贝叶斯最优分类器解释
[Fan et al., 2005;Davidson and Fan, 2006]
矩解释(高阶统计)
[Dhurandhar 2010]
Multi-label RDT算法 [Zhang et al, 2010]
Multi-label 学习问题
Multi-label RDT算法
P(L1+|x)=30/100=0.3
P’(L1+|x)=30/50 =0.6
P(L2+|x)=50/100=0.5
P’(L2+|x)=20/100=0.2
(P(L1+|x)+P’(L1+|x))/2 = 0.45
(P(L2+|x)+P’(L2+|x))/2 = 0.35
RDT算法在Spark上实现的问题
两种方式都存在比较大的缺点
方式1: 需要多次迭代
方式2: 空树占用过多内存,限制树的深度
方式3: 不显示构建树结构的随机决策树,仅在样本走到某个节点时,动态确定当前的节点的feature.
优点:无需迭代数据,内存占用小
如何实现不构建树的随机决策树算法
一个伪随机数种子就可以确定一棵随机决策树
理论上:我们仅需要一个伪随机数种子,我们就可以计算出这棵树任何一个节点上的feature
实践中:使用伪随机数发生器效率比较低,我们采用Hash函数
二叉随机决策树的实现
二叉树
仅针对binary数据, 每个节点只需要确定feature
可以通过公式推算父节点,左右子节点的编号
父节点: (p-1)/2(奇数) , (p-2)/2(偶数)
左子节点:2*p+1
右子节点:2*p+2
Spark实现—确定节点feature
用Hash函数来确定每个节点的featur
您可能关注的文档
最近下载
- 门内饰板总成设计指南[整汇编.pdf
- 党支部书记2024-2025年组织生活会个人对照检查发言材料.docx VIP
- 国内外压裂改造技术发展动态.pptx VIP
- 柔性光伏支架结构设计规程.docx VIP
- 安徽省“江南十校”2023-2024学年高三下学期3月联考试题 政治 含解析.docx
- 轻工业企业数字化供应链管理通则编制说明.docx VIP
- 安徽省皖北县中联盟2023-2024学年高一下学期3月月考生物试题含答案.pdf VIP
- 2024年陕西省(初三学业水平考试)中考英语真题(A卷)试卷含详解.docx
- 自主移动机器人教学课件第4章-导航规划-1-概述及路径规划.pptx
- (高清版)B 4962-2008 氢气使用安全技术规程.pdf VIP
文档评论(0)