常见的特征选择或特征降维方法.pdf

上传人:赵** 文档编号:37932873 上传时间:2022-09-02 格式:PDF 页数:11 大小:788.26KB
返回 下载 相关 举报
常见的特征选择或特征降维方法.pdf_第1页
第1页 / 共11页
常见的特征选择或特征降维方法.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《常见的特征选择或特征降维方法.pdf》由会员分享,可在线阅读,更多相关《常见的特征选择或特征降维方法.pdf(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、URL:dataunion.org/14072.html特征选择 (排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层构造,这对进一步改善模型、算法都有着重要作用。特征选择主要有两个功能:1.2.减少特征数量、降维,使模型泛化能力更强,减少过拟合增强对特征和特征值之间的理解拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,选择一种自己最熟悉或者最方便的特征选择方法往往目的是降维,而忽略了对特征和数据理解的目的。在许多机器学习的书里,很难找到关于特征选择的容,因为特征选择要解决的问题往往被视为机器学习的一种副作用

2、,一般不会单独拿出来讨论。本文将介绍几种常用的特征选择方法,它们各自的优缺点和问题。1 1 去掉取值变化小的特征去掉取值变化小的特征Removing features with low varianceRemoving features with low variance这应该是最简单的特征选择方法了:假设*种特征的特征值只有0 和 1,并且在所有输入样本中, 95%的实例的该特征取值都是1,那就可以认为这个特征作用不大。如果100%都是 1,那这个特征就没意义了。当特征值都是离散型变量的时候这种方法才能用,如果是连续型变量,就需要将连续变量离散化之后才能用,而且实际当中,一般不太会有95%以

3、上都取 *个值的特征存在,所以这种方法虽然简单但是不太好用。可以把它作为特征选择的预处理,先去掉那些取值变化小的特征,然后再从接下来提到的特征选择方法中选择适宜的进展进一步的特征选择。2 2 单变量特征选择单变量特征选择Univariate feature selectionUnivariate feature selection单变量特征选择能够对每一个特征进展测试,衡量该特征和响应变量之间的关系,根据得分扔掉不好的特征。对于回归和分类问题可以采用卡方检验等方式对特征进展测试。这种方法比拟简单,易于运行,易于理解,通常对于理解数据有较好的效果但对特征优化、提高泛化能力来说不一定有效;这种方法

4、有许多改良的版本、变种。2.1 Pearson2.1 Pearson 相关系数相关系数 Pearson CorrelationPearson Correlation皮尔森相关系数是一种最简单的,能帮助理解特征和响应变量之间关系的方法,该方法衡量的是变量之间的线性相关性,结果的取值区间为-1,1,-1 表示完全的负相关 (这个变量下降,那个就会上升 ),+1 表示完全的正相关,0 表示没有线性相关。Pearson Correlation速度快、易于计算,经常在拿到数据(经过清洗和特征提取之后的 )之后第一时间就执行。Pearson 相关系数的一个明显缺陷是,作为特征排序机制,他只对线性关系敏感。

5、如果关系是非线性的,即便两个变量具有一一对应的关系,Pearson 相关性也可能会接近0。2.22.2互互 信信 息息 和和 最最 大大 信信 息息 系系 数数MutualMutualinformationinformationandandma*imalma*imalinformation coefficient (MIC)information coefficient (MIC)以上就是经典的互信息公式了。想把互信息直接用于特征选择其实不是太方便: 1、它不属于度量方式,也没有方法归一化,在不同数据及上的结果无法做比拟; 2、对于连续变量的计算不是很方便 *和 Y 都是集合,*,y 都是离散

6、的取值,通常变量需要先离散化,而互信息的结果对离散化的方式很敏感。最大信息系数克制了这两个问题。它首先寻找一种最优的离散化方式,然后把互信息取值转换成一种度量方式,取值区间在0,1。minepy提供了MIC 功能。2.32.3 距离相关系数距离相关系数(Distance correlation)(Distance correlation)距离相关系数是为了克制Pearson 相关系数的弱点而生的。 在*和*2 这个例子中,即便 Pearson 相关系数是 0,我们也不能断定这两个变量是独立的有可能是非线性相关;但如果距离相关系数是0,则我们就可以说这两个变量是独立的。尽管有 MIC 和距离相关

7、系数在了,但当变量之间的关系接近线性相关的时候,Pearson 相关系数仍然是不可替代的。第一、Pearson 相关系数计算速度快,这在处理大规模数据的时候很重要。第二、Pearson 相关系数的取值区间是 -1,1,而 MIC 和距离相关系数都是 0,1。这个特点使得 Pearson相关系数能够表征更丰富的关系,符号表示关系的正负,绝对值能够表示强度。当然, Pearson 相关性有效的前提是两个变量的变化关系是单调的。2.42.4 基于学习模型的特征排序基于学习模型的特征排序(Model based ranking)(Model based ranking)这种方法的思路是直接使用你要用的

8、机器学习算法,针对每个单独的特征和响应变量建立预测模型。 其实 Pearson 相关系数等价于线性回归里的标准化回归系数。假设 *个特征和响应变量之间的关系是非线性的,可以用基于树的方法决策树、随机森林、或者扩展的线性模型等。基于树的方法比拟易于使用,因为他们对非线性关系的建模比拟好,并且不需要太多的调试。但要注意过拟合问题,因此树的深度最好不要太大,再就是运用穿插验证。3 3 线性模型和正则化线性模型和正则化单变量特征选择方法独立的衡量每个特征与响应变量之间的关系,另一种主流的特征选择方法是基于机器学习模型的方法。有些机器学习方法本身就具有对特征进展打分的机制,或者很容易将其运用到特征选择任

9、务中,例如回归模型, SVM,决策树,随机森林等等。说句题外话,这种方法好似在一些地方叫做wrapper 类型,大概意思是说,特征排序模型和机器学习模型是耦盒在一起的, 对应的非 wrapper 类型的特征选择方法叫做filter类型。下面将介绍如何用回归模型的系数来选择特征。越是重要的特征在模型中对应的系数就会越大,而跟输出变量越是无关的特征对应的系数就会越接近于 0。 在噪音不多的数据上, 或者是数据量远远大于特征数的数据上,如果特征之间相对来说是比拟独立的,则即便是运用最简单的线性回归模型也一样能取得非常好的效果。在这个例子当中,尽管数据中存在一些噪音,但这种特征选择模型仍然能够很好的表

10、达出数据的底层构造。当然这也是因为例子中的这个问题非常适合用线性模型来解:特征和响应变量之间全都是线性关系,并且特征之间均是独立的。3.13.1 正则化模型正则化模型正则化就是把额外的约束或者惩罚项加到已有模型损失函数上,以防止过拟合并提高泛化能力。损失函数由原来的E(*,Y) 变为E(*,Y)+alpha|w| , w 是模型系数组成的向量有些地方也叫参数parameter ,coefficients ,|一般是 L1 或者 L2 数,alpha 是一个可调的参数,控制着正则化的强度。当用在线性模型上时, L1 正则化和 L2 正则化也称为 Lasso和 Ridge。3.2 L13.2 L1

11、 正则化正则化/Lasso/LassoL1 正则化将系数 w 的 l1 数作为惩罚项加到损失函数上, 由于正则项非零,这就迫使那些弱的特征所对应的系数变成0。因此 L1 正则化往往会使学到的模型很稀疏系数w 经常为 0,这个特性使得L1 正则化成为一种很好的特征选择方法。Scikit-learn 为线性回归提供了Lasso,为分类提供了 L1 逻辑回归。下面的例子在波士顿房价数据上运行了Lasso,其中参数 alpha 是通过grid search 进展优化的。可以看到,很多特征的系数都是0。如果继续增加 alpha 的值,得到的模型就会越来越稀疏,即越来越多的特征系数会变成0。然而, L1

12、正则化像非正则化线性模型一样也是不稳定的,如果特征集合中具有相关联的特征,当数据发生细微变化时也有可能导致很大的模型差异。3.3 L23.3 L2 正则化正则化/Ridge regression/Ridge regressionL2 正则化将系数向量的L2 数添加到了损失函数中。由于L2 惩罚项中系数是二次方的,这使得L2 和 L1 有着诸多差异,最明显的一点就是,L2正则化会让系数的取值变得平均。对于关联特征,这意味着他们能够获得更相近的对应系数。还是以Y=*1+*2 为例,假设 *1 和*2 具有很强的关联,如果用 L1 正则化,不管学到的模型是Y=*1+*2 还是 Y=2*1,惩罚都是一

13、样的,都是 2alpha。但是对于 L2 来说,第一个模型的惩罚项是 2alpha,但第二个模型的是 4*alpha 。可以看出,系数之和为常数时,各系数相等时惩罚是最小的,所以才有了L2 会让各个系数趋于一样的特点。可以看出,L2 正则化对于特征选择来说一种稳定的模型,不像 L1 正则化那样,系数会因为细微的数据变化而波动。所以L2 正则化和 L1 正则化提供的价值是不同的, L2 正则化对于特征理解来说更加有用:表示能力强的特征对应的系数是非零。回过头来看看 3 个互相关联的特征的例子,分别以10 个不同的种子随机初始化运行 10 次,来观察 L1 和 L2 正则化的稳定性。4 4 随机森

14、林随机森林随机森林具有准确率高、鲁棒性好、易于使用等优点,这使得它成为了目前最流行的机器学习算法之一。随机森林提供了两种特征选择的方法:mean decrease impurity和 mean decrease accuracy 。4.14.1 平均不纯度减少平均不纯度减少mean decrease impuritymean decrease impurity随机森林由多个决策树构成。决策树中的每一个节点都是关于*个特征的条件,为的是将数据集按照不同的响应变量一分为二。利用不纯度可以确定节点最优条件,对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。

15、 当训练决策树的时候,可以计算出每个特征减少了多少树的不纯度。对于一个决策树森林来说,可以算出每个特征平均减少了多少不纯度,并把它平均减少的不纯度作为特征选择的值。4.24.2 平均准确率减少平均准确率减少Mean decrease accuracyMean decrease accuracy另一种常用的特征选择方法就是直接度量每个特征对模型准确率的影响。主要思路是打乱每个特征的特征值顺序,并且度量顺序变动对模型的准确率的影响。很明显,对于不重要的变量来说,打乱顺序对模型的准确率影响不会太大,但是对于重要的变量来说,打乱顺序就会降低模型的准确率。5 5 两种顶层特征选择算法两种顶层特征选择算法

16、之所以叫做顶层,是因为他们都是建立在基于模型的特征选择方法根底之上的,例如回归和SVM,在不同的子集上建立模型,然后汇总最终确定特征得分。5.15.1 稳定性选择稳定性选择Stability selectionStability selection稳定性选择是一种基于二次抽样和选择算法相结合较新的方法,选择算法可以是回归、 SVM 或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果,比方可以统计 *个特征被认为是重要特征的频率被选为重要特征的次数除以它所在的子集被测试的次数。理想情况下,重要特征的得分会接近 100%。稍微弱一点的特征

17、得分会是非0 的数,而最无用的特征得分将会接近于 0。5.25.2 递归特征消除递归特征消除Recursive feature elimination (RFE)Recursive feature elimination (RFE)递归特征消除的主要思想是反复的构建模型如SVM 或者回归模型然后选出最好的或者最差的的特征可以根据系数来选,把选出来的特征放到一遍,然后在剩余的特征上重复这个过程,直到所有特征都遍历了。这个过程中特征被消除的次序就是特征的排序。因此,这是一种寻找最优特征子集的贪心算法。RFE 的稳定性很大程度上取决于在迭代的时候底层用哪种模型。例如,假设 RFE 采用的普通的回归,

18、没有经过正则化的回归是不稳定的,则RFE就是不稳定的;假设采用的是Ridge,而用 Ridge 正则化的回归是稳定的,则 RFE 就是稳定的。Sklearn 提供了RFE包,可以用于特征消除,还提供了RFECV,可以通过穿插验证来对的特征进展排序。特征之间存在 线性关联线性关联 关系,每个特征都是独立评价的,因此*1,*4的得分和 *11,*14 的得分非常接近,而噪音特征*5,*10 正如预期的那样和响应变量之间几乎没有关系。由于变量*3 是二次的,因此 *3 和响应变量之间看不出有关系除了MIC 之外,其他方法都找不到关系。这种方法能够衡量出特征和响应变量之间的线性关系,但假设想选出优质特

19、征来提升模型的泛化能力,这种方法就不是特别给力了,因为所有的优质特征都不可防止的会被挑出来两次。LassoLasso 能够挑出一些优质特征,同时让其他特征的系数趋于0。当如需要减少特征数的时候它很有用,但是对于数据理解来说不是很好用。例如在结果表中, *11,*12,*13 的得分都是 0,好似他们跟输出变量之间没有很强的联系,但实际上不是这样的MICMIC 对特征一视,这一点上和关联系数有点像,另外,它能够找出*3和响应变量之间的非线性关系。随机森林随机森林 基于不纯度的排序结果非常鲜明,在得分最高的几个特征之后的特征,得分急剧的下降。从表中可以看到,得分第三的特征比第一的小 4 倍。而其他

20、的特征选择算法就没有下降的这么剧烈。RidgeRidge 将回归系数均匀的分摊到各个关联变量上,从表中可以看出,*11,*14 和*1,*4 的得分非常接近。稳定性选择稳定性选择 常常是一种既能够有助于理解数据又能够挑出优质特征的这种选择,在结果表中就能很好的看出。像Lasso 一样,它能找到那些性能比拟好的特征 *1,*2,*4,*5,同时,与这些特征关联度很强的变量也得到了较高的得分。总结总结1.对于理解数据、数据的构造、特点来说,单变量特征选择是个非常好的选择。尽管可以用它对特征进展排序来优化模型,但由于它不能发现冗余例如假设一个特征子集,其中的特征之间具有很强的关联,则从中选择最优的特

21、征时就很难考虑到冗余的问题。2.正则化的线性模型对于特征理解和特征选择来说是非常强大的工具。L1 正则化能够生成稀疏的模型,对于选择特征子集来说非常有用;相比起L1 正则化,L2 正则化的表现更加稳定,由于有用的特征往往对应系数非零,因此L2 正则化对于数据的理解来说很适宜。由于响应变量和特征之间往往是非线性关系,可以采用basis e*pansion的方式将特征转换到一个更加适宜的空间当中,在此根底上再考虑运用简单的线性模型。3.随机森林是一种非常流行的特征选择方法,它易于使用,一般不需要featureengineering 、调整参数等繁琐的步骤,并且很多工具包都提供了平均不纯度下降方法。

22、它的两个主要问题, 1 是重要的特征有可能得分很低关联特征问题,2 是这种方法对特征变量类别多的特征越有利偏向问题。尽管如此,这种方法仍然非常值得在你的应用中试一试。4.特征选择在很多机器学习和数据挖掘场景中都是非常有用的。在使用的时候要弄清楚自己的目标是什么,然后找到哪种方法适用于自己的任务。中选择最优特征以提升模型性能的时候,可以采用穿插验证的方法来验证*种方法是否比其他方法要好。当用特征选择的方法来理解数据的时候要留心,特征选择模型的稳定性非常重要,稳定性差的模型很容易就会导致错误的结论。对数据进展二次采样然后在子集上运行特征选择算法能够有所帮助,如果在各个子集上的结果是一致的,那就可以

23、说在这个数据集上得出来的结论是可信的,可以用这种特征选择模型的结果来理解数据。Tips什么是卡方检验?用方差来衡量 *个观测频率和理论频率之间差异性的方法什么是皮尔森卡方检验?这是一种最常用的卡方检验方法,它有两个用途:1 是计算*个变量对 *种分布的拟合程度, 2 是根据两个观测变量的Contingency table来计算这两个变量是否是独立的。主要有三个步骤:第一步用方差和的方式来计算观测频率和理论频率之间卡方值;第二步算出卡方检验的自由度行数 -1 乘以列数 -1;第三步比拟卡方值和对应自由度的卡方分布,判断显著性。什么是p-value?简单地说,p-value 就是为了验证假设和实际

24、之间一致性的统计学意义的值,即假设检验。有些地方叫右尾概率,根据卡方值和自由度可以算出一个固定的p-value ,什么是响应变量 (response value)?简单地说,模型的输入叫做e*planatroyvariables ,模型的输出叫做 response variables ,其实就是要验证该特征对结果造成了什么样的影响什么是统计能力 (statistical power)什么是度量(metric)什么是零假设 (null hypothesis)在相关性检验中,一般会取“两者之间无关联作为零假设,而在独立性检验中,一般会取“两者之间是独立作为零假设。与零假设相对的是备择假设对立假设,即希望证明是正确的另一种可能。什么是多重共线性?什么是grid search?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com