1 不同特征选择算法的各自特点及其在微博业务应用中的演进历程-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

不同特征选择算法的各自特点及其在微博业务应用中的演进历程

8g3K_AI_Thinker 2017-12-23 09:55 次阅读

近年来,人工智能机器学习的应用越来越广泛,尤其是在互联网领域。在微博,机器学习被广泛地应用于微博的各个业务,如Feed流、热门微博、消息推送、反垃圾、内容推荐等。

值得注意的是,深度学习作为人工智能和机器学习的分支,尤其得到更多的重视与应用。深度学习与众不同的特性之一,在于其能够对原始特征进行更高层次的抽象和提取,进而生成区分度更高、相关性更好的特征集合,因此深度学习算法还经常被叫作“自动特征提取算法”。

由此可见,无论是传统的基础算法,还是时下最流行的深度学习,特征的选择与提取,对于模型最终的预测性能至关重要。另一方面,优选的特征集合相比原始特征集合,只需更少的数据量即可得到同样性能的模型,从系统的角度看,特征选择对机器学习执行性能的优化具有重大意义。

特征选择在微博经历了从最原始的人工选择,到半自动特征选择,到全自动特征选择的过程,如图1所示。我们将详细介绍微博在各个阶段的实践与心得。

图1 特征选择在微博的演进

人工选择

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

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

对特征进行人工选择的弊端显而易见,首先要求相关人员对业务场景有足够的熟悉和了解,通过自身的领域知识区分高区分度特征和低区分度特征。仅此一项就引入了太多的变数,不同人员对业务的理解不尽相同,很多时候人工选择具有主观性和局限性。

再者,在人工特征选择完成后,需要整理相关数据进行重训练,从而验证新引入的特征对模型预测性能的提升是否有效,这是一个反复迭代的过程,期间会消耗大量的时间和精力。通常需要重复多次,才能选出少量高区分度的业务特征,由此可见,人工选择特征方法的性价比是相对较低的。

相关性

针对人工选择存在的问题,微博这几年开始引入自动化特征选择方法作为人工选择的辅助。首先尝试的是相关性法,即根据特征本身的相关性或特征与标签之间的相关性来对特征进行选取和过滤。

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

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

降维法

传统的特征选择方法从方式上大致分为三大类,即相关性、包裹法和嵌入法。刚刚提到的根据特征与标签之间的相关性对特征进行选取的方法就是相关性法。在对包裹法和嵌入法进行尝试之前,为了能够详尽特征选择的方法,我们尝试利用降维的方式进行特征选择。

从严格的意义讲,降维法不能叫作特征“选择”/“筛选”方法,因为降维法(如PCA、SVD)原理是将高维度特征压缩到低维空间中,压缩的过程中造成了信息的丢失和损失,却在低维空间保留(生产)了新的区分度更高的特征集合。所以降维法是对原始特征集合进行了变换和扭曲,生成了新的特征空间和集合。降维法的优点显而易见,即无需用户干预,自动对特征空间进行变换和映射,生产高区分度的特征集合;缺点是其在低维空间生产的特征不具有可解释性,新的特征集合对业务人员和算法人员来说是不可读的,无业务意义的。这个特性与后文提及的通过DNN来提取特征有相似之处。

模型倒推法

前面提到特征选择的三大法宝,即相关性、包裹法和嵌入法。鉴于包裹法与嵌入法都是通过模型训练效果来反推特征的选取与过滤,微博将这两种方法进行了统一的尝试与实践。该类方法的思路是先根据现有的特征集合和数据,对模型进行训练,然后根据模型的效果(如AUC、准确度等)和特征自身的权重大小来对特征进行选取。

如对于包裹法,比较经典的方法是逐步递减原始特征的集合,观察所训练模型效果的变化,当模型效果出现显著下降时,即认为下降前一组的特征集合是最佳候选集合。

对于嵌入法来说,比较典型的方法是通过L1或L2正则的特性,通过模型训练得到各个特征的权重,如L1具备低绝对值碾压特性,即对于权重较低的特征,直接将其权重截断为零,这样保留下来的即认为是具有高区分度的特征集合。这类选择方法基于模型本身对特征进行过滤,因此选取出的特征集合有效性很好,但是该类方法同样存在明显的弊端:首先,方法本身看上去似乎相互矛盾,特征选择的目的是为了训练出预测性能更好的模型,而这里却通过先进行模型训练,再做特征选择,总有一种“鸡生蛋,蛋生鸡”的感觉。再者,通过模型选取特征,需要对模型进行训练和评估,相当于每次都把机器学习流程迭代一遍,尤其是包裹法,需要不断的剔除可疑特征、重训练的过程,在模型效果大幅降低前,经过数轮的计算和迭代。其次,有一个很重要的细节经常被忽略,即用于特征选择参与模型迭代训练的数据,不能参与最终的(特征选择完成后的)模型训练,否则会带来臭名昭著的过拟合问题,道理显而易见。

GBDT特征选择

前文提到深度学习又叫“自动特征提取算法”,天生自带特征提取属性。但在介绍“自动特征提取算法”之前,我们有必要认识一下自动特征提取的前辈:GBDT(Gradient Boosting Decision Trees)。GBDT通过不断地拟合上一棵决策树的残差来不断逼近目标值,决策树的信息增益算法结合GBDT特别的组合结构,造就了其叶子节点天生的高区分度特性。通过将原始特征导入GBDT进行训练,再将得到的模型对原始数据进行预测,就得到了GBDT转换/映射后的叶子节点特征集合,再将这个叶子节点组成的特征集合导入其他算法(如LR)进行训练。GBDT的优点是特征自动选择,区分度高;缺点与PCA和后面的深度学习类似,即新产生的特征不具备可解释性。

深度学习

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

图2 特征选择效果对比

随着新技术的出现与成熟,微博在特征选择的演进上也与时俱进,在微博业务发展的不同阶段,曾经分别对这些选择方法进行实践与尝试,图2总结了不同特征选择方法对于模型预测性能的提升效果,仅供读者参考。

图2对比数据来自同一份数据集(特征选取与训练分开,各百万条样本)与同一组特征集合(118个原始特征),采用不同的特征选择方法对特征进行过滤、选择、提取。橘色曲线表示对原始特征进行特征选择后,不同特征选择方法保留的有效特征个数,如用GBDT进行特征选择后,仅仅留下44个有效特征。保留特征的个数主要取决于算法本身与业务人员的选择。如对于方差法、卡方检验等相关性排序法,需要业务人员和算法人员指定保留的特征个数;而像L1正则与GBDT,则完全由算法本身根据数据分布特点,来决定原始特征的去留。最后的DNN即深度学习,也是根据经验人为指定最后一层隐层的特征个数。蓝色曲线表示采用不同特征选择方法后,用另一份单独的数据集进行训练后的模型(LR模型)预测性能,我们这里用业界应用广泛的AUC(Area Under Curve)来衡量模型的有效性。方差法和卡方检验完全取决于特征本身及其与标签的相关性,因此提升幅度有限。正则化与GBDT等采用模型倒推的方法进行特征选取,因此预测性能有显著提升。深度学习能够在多个层次对特征进行抽象,最后一层隐层代表了特征的最高层次抽象,因此区分度最好。

本文首先介绍了不同特征选择算法的各自特点及其在微博业务应用中的演进历程,最后通过对比试验,给出了不同方法对于模型预测性能效果的提升,希望能够对读者有参考价值。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 特征选择
    +关注

    关注

    0

    文章

    12

    浏览量

    7177
  • 深度学习
    +关注

    关注

    73

    文章

    5500

    浏览量

    121109

原文标题:特征选择算法在微博应用中的演进历程

文章出处:【微信号:AI_Thinker,微信公众号:人工智能头条】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    阿里深度学习的“金刚钻”——千亿特征XNN算法及其落地实践

    平台三.XNN深度学习算法一.业务背景业务场景和机器学习的问题业务场景主要包括三个方面:(1)搜索:比如用户淘宝
    发表于 04-24 16:43

    操作系统的分类及其特征优劣

    文章目录:1.操作系统的分类及其特征优劣2.操作系统的发展历程1.操作系统的分类及其特征优劣2.操作系统的发展
    发表于 12-14 07:17

    改进的支持向量机特征选择算法

    针对采用支持向量机进行分类的特征子集选择问题,提出一种改进的基于梯度向量的特征评测算法。该算法
    发表于 04-03 08:38 19次下载

    MD5加密算法改进及其特征杀毒软件的应用

    文章分析了MD5算法发展、危机、碰撞分析并加入"盐值"对算法做了改进,然后给出了其C++的具体实现算法;分析MD5特征码的特点构建了
    发表于 12-21 10:19 8次下载

    基于区分性准则的Bottleneck特征及其LVCSR的应用

    基于区分性准则的Bottleneck特征及其LVCSR的应用_刘迪源
    发表于 01-07 16:06 0次下载

    基于统计数据的表情符分析及其情绪分析的应用

    进行了统计分析。然后,人工选取具有代表性且情感倾向明确的表情符作为六类基本情绪的种子表情符。根据目标表情符和六类情绪的种子表情符文本的共现情况,为其建立六维情绪向量,并将其应用
    发表于 12-04 11:04 8次下载

    基于森林优化特征选择算法的改进研究

    分类特征选择一直是一个重要而又困难的问题.最近研究表明森林优化特征选择
    发表于 12-14 16:47 8次下载
    基于森林优化<b class='flag-5'>特征</b><b class='flag-5'>选择</b><b class='flag-5'>算法</b>的改进研究

    支持向量机特征选择和参数联合优化算法

    针对支持向量机( SVM)特征选择和参数优化对分类精度有较大影响,提出了一种改进的基于粒子群优化( PSO)的SVM特征选择和参数联合优化
    发表于 12-19 15:58 1次下载

    融合多维数据的社区发现算法

    by dynamic topic modeD算法.DC-DTM算法首先将网络映射为有向加杈网络,网络边的方向反映节点之间的关注关系,
    发表于 01-02 16:26 3次下载
    融合多维数据的<b class='flag-5'>微</b><b class='flag-5'>博</b>社区发现<b class='flag-5'>算法</b>

    一种融合采样技术和RE算法转发行为预测方法

    针对转发预测方法研究的数据集不平衡问题,提出了一种融合过采样技术和随机森林(RF)算法
    发表于 01-07 10:09 0次下载
    一种融合采样技术和RE<b class='flag-5'>算法</b>的<b class='flag-5'>微</b><b class='flag-5'>博</b>转发行为预测方法

    机器用户检测方法

    以新浪的用户为研究对象,分析并提取机器用户的特征,提出一种新的机器用户检测方法。通过层
    发表于 02-08 15:36 1次下载
    <b class='flag-5'>微</b><b class='flag-5'>博</b>机器用户检测方法

    引入用户文传播率的用户影响力评估算法

    已有 Pagerank算法构建的用户影响力评估模型,存在用户自身属性信息欠缺以及在用户不活跃期间其影响力被误判下降的问题。为此,综合
    发表于 05-19 14:14 7次下载

    基于信息增量特征选择表情识别

    基于信息增量特征选择表情识别
    发表于 06-28 16:19 12次下载

    基于马尔科夫边界发现的因果特征选择算法综述

    发现算法和多重马尔科夫边界发现算法.基于每类算法的发展历程,详细介绍每类的经典算法和研究进展,对比它们
    的头像 发表于 07-29 10:01 1281次阅读
    基于马尔科夫边界发现的因果<b class='flag-5'>特征</b><b class='flag-5'>选择</b><b class='flag-5'>算法</b>综述

    GPT的定义和演进历程

    GPT,全称Generative Pretrained Transformer,是OpenAI公司自然语言处理(NLP)领域的一项重大创新。这一模型不仅推动了AI技术的边界,还深刻影响了我们与机器交互的方式。本文将从GPT的定义、来源、演进
    的头像 发表于 07-10 10:41 1028次阅读