微博中的机器学习之特征选择

在微博,机器学习被广泛的应用于微博的各个业务,如Feed流、热门微博、消息推送、反垃圾、内容推荐等等。深度学习作为机器学习的分支,在其中起到了很大的作用。深度学习能够对原始特征进行更高层次的抽象和提取,进而生成区分度更高、相关性更好的特征集合,因此深度学习算法可以成为“自动特征提取算法”。不管什么算法,特征的选取对模型的最终预测性能都至关重要。

特征选择从最初的人工选择,到半自动特征选择,到全自动选择。


人工选择

在互联网领域,点击率预估(Click Through Rate)被广泛的应用到各个场景,在微博中,CTR预估被用于各个业务的互动率预估中。对于CTR预估的实现,逻辑回归是应用最多最广泛的最有效的算法之一。

LR算法的优势在于提供非线性的同时,保留了原始特征的可解释性。LR模型产出后,算法人員通常会对模型的权重进行人工审查,确保高权重特征的业务含义是符合预期的。为了提高LR算法的预测性能,业务人員于算法人員通常会根据对业务的理解,人工选择各类特征(基于内容的特征、基于用户的特征、基于环境和场景的特征)或进行特征之间的组合。

人工选择的缺点显而易见,首先要求相关人员对业务场景有足够的熟悉和了解;其次,特征选择后需要不断迭代选连,才能选出高区分度的业务特征,性价比较低。


相关性

针对人工选择存在的问题,引入自动化特征选择方法作为其辅助。首先是相关法,即根据特征自身的相关性或特征与标签的相关性对特征进行选取和过滤。

方差法是特征相关性的典型代表,通过计算特征自身的方差值,来反映特征的变化程度,方差趋于零的特征基本上无差异,对于样本的区分起不到作用。因此通过方差法,可以过滤掉区分性差的特征。既然特征的选取取决于其对标签区分的贡献,我们不如直接计算特征与标签之间的相关性来选取贡献大的特征,而丢掉贡献小的特征。

在该类方法中, 比较典型且应用广泛地有:皮尔森系数,卡方检验,互信息。方法的原理大同小异,考虑到卡方检验能够同时支持连续和离散特征,微博中采取这种方式对特征初步筛选。


降维法

传统的特征选择方法从方式上大致分为三类,即相关性、包裹法和嵌入法。接下来试试降维法(如PCA, SVD),其原理是将高纬度特征压缩到低维空间中,压缩的过程中造成了信息的丢失和损失,但在低维空间保留了新的区分度更高的特征集合。降维是在对原始特征集合进行变换和扭曲,生成新的特征空间和集合。优点:无需人工干预,自动对特征空间进行变换和映射,生产高区分度的特征集合;缺点:在低维空间产生的特征不具有可解释性,新的特征集合对业务人員和算法人员来说不可读。


模型推倒法

包裹法和嵌入法都是通过模型训练效果来反推特征的选取和过滤,该类方法的思路是先根据现有的特征集合和数据,对模型进行训训练,然后根据模型效果(如AUC\准确率 )和特征自身的权重大小来对特征进行选取。

如对于包裹法,经典的方法是逐步递减原始特征的集合,观察所选连模型效果的变化,当模型效果出现显著下降时,认为下降前一组的特征集合是最佳候选集合。对于嵌入法,比较经典的方法就是通过L1或L2正则的特性,通过模型训练得到各个特征的权重,如L1具有低绝对值碾压特征,即对于权重低的特征,直接将其截断为零,这样可以认为保留了具有高区分度的特征集合、这类方法弊端很显然,需要不断地重复训练迭代。其次,用于特征选择迭代的数据,不能参与最终的模型训练,否则会导致过拟合。


GBDT特征选择

GDBT(Gradient Boosting Decision Trees)梯度提升决策树通过不断拟合上一棵树的残差来不断逼近目标值,决策树的信息增益算法结合GBDT特别的组合结构,造就了其叶子节点天生的高区分度特性。通过将原始特征导入GBDT进行训练,再将得到的模型对原始数据进行预测,就得到了GBDT转换映射后的叶子节点特征集合,再将这个叶子节点组成的特征集合导入其他算法如LR进行选择。优点是:自动选择;缺点是:不具备可解释性。


深度学习

深度学习算法由神经网络衍生而来,主要指具有不同网络结构(如用于图像特征提取的CNN,用于时序相关的RNN,以及全连接组成的DNN)的深层神经网络。神经网络的每一层神经元会根据上一层的输入作非线性激活,并将其输出作为下一层神经网络的输入,每一层神经元都可以理解为某一个层次的特征抽象,每一层网络都可以形成一个新的特征集合,这种天然的特性为特征选择提供了新思路。通过构建深度神经网络,并将最后一个隐层的神经元集合作为特征抽象,后续可以接入各种分类算法,如LR、决策树、朴素贝叶斯等进行预测。

你可能感兴趣的:(机器学习,机器学习)