特征工程知识笔记

1. recent click; recent skip

    加doc-id; 加类别等特征;

    分成最近1次session; 1小时;6小时;24小时;>24小时;多个时间段内统计特征出现次数;

    按照该特征出现次数,对其进行归一化,例如归一化到0~1浮点数区间内; 

    或者按特征出现次数,进行bining

 

2. 特征的不同层次,不同粒度, 都加进去

 

3. 用户画像的特征,按照频次进行分箱:

    男性&科比:低点击率;中低点击率;中点击率;中高点击率;高点击率

 

4. 广告点击率预估任务,GBDT,连续特征居多;

    男性&科比:fit到这个bucket里的展示,点击率是多少;

    按类别聚合:男性&[体育类关键词] 里面,点击率的Max, Min, Avg

 

5. 搜索里,位置排在前几的doc, 即是被点击,也不要做为正例样本,因为用户习惯点前几个的,并不是因为语义内容相关。

    而且,排名在前的,已经很强了,越增强越马太效应。

 

6. Click了一个军事,Skip了三个军事,那这3个Skip是否就是负例呢?也许是因为他点了一个军事,才Skip同题材的3个;如果把这3个军事加入负例,则会对召回造成不利;因此这里要从负例中去掉“重现过同类别Click的Skip们“

 

7. 某一个特征,设点击率p=click/show;  统计出所有用户p的均值和方差来,某一个用户而言,计算他这个特征的z-score,然后比如取z-score>1的(即他在这个特征上压过百分之八十多的人),加入到特征集里面去;用户画像里的特征们,就是这么来的! 点过,但是超出平均点击率不多,也会被忽略掉。只保留强信号。

 

8. 视频图像特征:抽关键帧(相邻帧变化大的就是关键帧),训练ImageNet,倒数第二层拿出来,该视频所有帧上做AvgPooling; 可用来衡量两个视频的相似程度

 

9. 用在召回上, 体现相关性: 正例就是推送里面click的样本,负例包括推送里面skip的样本(做降权), 还包括热文章表里面没推送给该用户的文章(体现和用户之间的相关性)

 

10. Doc侧把几个facet的向量相加得到DocVec;User和Doc点了的做正例,随机选的Doc做负例(10个),也可再选几个Skip的Doc做负例(效果提升较微弱),联合训练;即User向量完全是学习出来的;

 

在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:

- 离散特征的增加和减少都很容易,易于模型的快速迭代
- 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展
- 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰
- 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合
- 离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力
- 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问
- 特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。
  李沐曾经说过:模型是使用离散特征还是连续特征,其实是一个“海量离散特征+简单模型” 同 “少量连续特征+复杂模型”的权衡。既可以离散化用线性模型,也可以用连续特征加深度学习。就看是喜欢折腾特征还是折腾模型了。通常来说,前者容易,而且可以n个人一起并行做,有成功经验;后者目前看很赞,能走多远还须拭目以待。
--------------------- 
原文:https://blog.csdn.net/u014135752/article/details/80789251 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值