近些年,深度神经网络在各个领域都取得了先进的成果,同时,DNN以其不可解释性被称之为“黑盒”,算法工程师更是将效果优化称为“玄学”,将自己戏称为“炼丹师”。随着推荐系统的搭建,样本特征的挖掘逐渐深入,如何挖掘更少、具有核心信息的特征,从而在有限的计算资源内实现高精度的建模至关重要。有效样本特征的挖掘,不仅能够提升模型效果的天花板,还能够为离线链路、在线链路有效瘦身,释放系统预估能力。
一种用于深度学习的通用特征排序方法《Dropout feature ranking for deep learning models》教会了我们如何做粗排模型兼顾模型的效率和效果。
论文标题:Dropout feature ranking for deep learning models
下载地址:https://arxiv.org/pdf/1712.08645.pdf
特征选择背景和传统方法
日益臃肿的C模型不仅给工程实现带来艰巨的挑战,也开始制约算法创新的迭代效率。单套模型所依赖的存储和计算资源开销不菲,考虑到多人迭代的实验场景,多套并行对系统压力更大。另外,真实的迭代环境是存量算力逐渐耗尽、增量算力又显著放缓。样本特征领域出现了一系列值得探讨的问题:
1)在样本数量充分大的条件下,是否特征越多,模型效果越好?
答案当然是否定的,特征的数量与模型的效果并非正相关的关系,甚至有时特征越多,模型效果反而越差。这取决于两个方面,一方面是特征集合自身,另一方面是训练目标。
- 特征集合自身:又可以从特征质量和特征关系两个角度出发。特征质量很容易理解,比如特征A的缺失率高达98%,这样的特征大概率是无效的;而特征关系的核心是是否与其他特征独立,是否易于理解。举个例子,直播间推荐业务下,模型A使用了用户30天内观看的直播列表,模型B使用了用户30天内观看的直播列表和用户35天内观看的直播列表,序列特征根据MaxSize截断;我们很容易发现模型B并没有新特征的加入得到效果的提升,因为在大部分样本模型B的两个特征几乎完全一样,第二个特征的添加并没有带来新的信息增益。 <