1、推荐算法中的特征工程杨旭东阿里巴巴算法专家自我介绍 杨旭东 阿里云-计算平台事业部-机器学习PAI 前 阿里巴巴-搜索事业部-推荐算法团队 知乎专栏算法工程师的进阶之路作者 欢迎扫码关注大纲一为什么要精做特征工程二何谓好的特征工程三常用的特征变换操作四搜推广场景下的特征工程为什么要精做特征工程 数据和特征决定了效果的上界,算法和模型只是逼近上界的手段 特征工程是编码领域专家经验的重要手段 好的特征工程能够显著提升模型性能 高质量的特征能够大大简化模型复杂度特征工程的常见误区 误区一:深度学习时代不需要特征工程搜索、推荐、广告领域,数据主要以关系型结构组织特征生成、变换操作的两大类型:Row-b
2、ased:e.g.feature interactionColumn-based:e.g.counting,tf-idf模型某种程度上可以学习row-based的特征变换;但无法学习column-based的特征变换一次只能接受一个小批次的数据特征工程的常见误区 误区二:有了AutoFE工具就不再需要手工做特征工程 AutoFE的研究尚处于初级阶段 主要依赖特征变换、生成、搜索与评估 无法自动识别场景的特殊性 瓶颈:评估特征子集的有效性 特征工程非常依赖于数据科学家的业务知识、直觉和经验 富有创造性和艺术性特征工程的常见误区 误区三:特征工程没有技术含量算法模型的学习特征工程的经验大纲一为什么
3、要精做特征工程二何谓好的特征工程三常用的特征变换操作四搜推广场景下的特征工程什么是好的特征工程 高质量特征 有区分性(Informative)特征之间相互独立(Independent)简单易于理解(Simple)伸缩性(Scalable):支持大数据量、高基数特征 高效率(Efficient):支持高并发预测、低维 灵活性(Flexible):对下游任务有一定的普适性 自适应(Adaptive):对数据分布的变化有一定的鲁棒性Refer:https:/yangxudong.github.io/good-feature/大纲一为什么要精做特征工程二何谓好的特征工程三常用的特征变换操作四搜推广场景
4、下的特征工程数值型特征的常用变换 特征缩放1.Min-Max:!#$=%&()(%),-%&()(%)0,12.Scale to 1,1:!#$=%&.,)(%),-%&()(%)3.Z-score:!#$=%&/0!(%)123(%)(0,1)4.Log-based:45=log 1+45&!#$=%!#&$/0!(%!#)678%!#5.L2 normalize:!#$=%$6.Gauss Rank:思考题:1.如何量化短视频的流行度(播放次数)?2.如何量化商品“贵”或“便宜”的程度?3.如何量化用户对新闻题材的偏好度?数值型特征的常用变换 Robust scaling:!#$%&=()
5、%&*#+()./0数值型特征的常用变换 Binning(分箱)连续特征离散化 E.g.年龄段划分:儿童、青少年、中年、老年 Why 非线性变换 增强特征可解释性 对异常值不敏感、防止过拟合 统计、组合 无监督分箱 固定宽度分箱 分位数分箱 对数转换并取整 有监督分箱 卡方分箱 决策树分箱思考题1:如何度量用户的购买力?如何给用户的购买力划分档位?思考题2:经纬度如何分箱?特征Binning示例UserCategoryCountAliceBeauty209AliceFashion34AliceEntertainment90AliceWomen10AliceTechnology1BobMilit
6、ary811BobSport999BobPolitics570BobScience210JoeSociety7JoeGame124binboundary01102503100420054006800710008Binning Bad idea:全局 binning Good idea:按用户分组 binning(不同用户的行为频次可能差异较大)Bad idea:storge boundaries foronline binning(may not beupdated in time,and need onegroup of boundaries per user)Good idea:storg