电商CTR预估方法总结
2020-04-17 17:48:57 0 举报
AI智能生成
广告CTR点击预估的流程,关于特征工程及LR,FM,FFM,FNN,PNN,CCPM模型
作者其他创作
大纲/内容
特征工程
1、读入样本,打印列名、describe、info、head看数据的整体信息
2、类别型特征编码,分类、省、市
3、年龄特征切段,可以基于统计分布情况切分,value_counts,均匀等平的分割比较合理
4、时间特征切段
5、连续值scale到0-1之间归一化
6、类别编码后做onehot
7、合并所有数据表,抽取部分数据作为X,原始连续值和切段新特征都可以同时使用
8、注意values取出numpy数组,并转换成int32更小的数据类型后送入模型,可以节省更多内存
9、用randforest等树模型输出重要度找到重要的特征,做更精细的特征工程
不均衡样本处理
sklearn/imbalanced-learn方式
过采样,增加少数类样本数量
下采样,减少多数样本的数量
smote,生成中间样本
多数样本拆成很多分,分别和负样本训练成多个分类器,将这些分类器集成
Blagging分类模型方式
比例少的部分如果数量够大也还是有办法的,最怕比例又少样本数又少
比例超过10:1就不合适了
用GridSearch对ML模型调参
比赛流程
基于统计
基于LR
基于随机森林或GBDT,先粗粒度的做特征工程,调参,找到重要的特征后,再精细的做特征工程
用深度神经网络
经典机器学习模型
LR
线性模型、求解简单、可解释强、分布式计算迭代速度快
很好的利用正则化解决稀疏性问题,尤其特征维数非常大,大到千亿级别
可以做特征选择
模型的分类能力取决于对特征工程,非线性切分来源于特征的平方项、立方项、数据交叉组合等人工特征工程
GBDT
用决策树串行的组成能够带来非线性能力的分类器
FM
矩阵分解稀疏特征交叉问题
FFM
引入field之间的交叉组合
深度模型解决CTR核心问题
onehot之后产生非常稀疏的高维类别特征,特别是ID类特征,百万以上,经常上亿级
难以训练,数据丰富度不够导致学习的充分度不够,传统PCA降维方式行不通
不适合直接送入神经网络,参数量过大,卷积和神经网络都不行
需要想办法降维,FM,引入非线性特征组合,通过因子分解找到隐向量降维
FM神经网络形式
通过embedding每个field得到固定维度大小的向量,field两两连接输入到隐层,隐层中,蓝色项对应交叉组合的二次项,白色项对应一次项,全连接到最终层后sigmod得到概率
FNN
基于网络越深,就可以学到越多的想法,FNN在FM神经网络基础上,增加全连接层,一般加2、3层,不会太深,太深容易过拟合也不容易训练出来
两阶段训练,需要先训练一个FM模型,再用这个FM模型的权重来初始化FNN的底层
PNN
考虑向量与向量之间的交叉方式,引入product layer,特征间两两组合有内积运算和外积运算两种方式
在embedding 层,编码后保证每一个field的维度一致
CCPM
尝试用CNN来解决
各模型及参数效果对比
0 条评论
下一页