第十一章 特征选择

2024-04-08 11:08
文章标签 第十一章 特征选择

本文主要是介绍第十一章 特征选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、简述特征选择的目的。

特征选择是一个重要的“数据预处理”过程,在现实机器学习任务中,获得数据之后通常先进行特征选择,此后再训练学习机器。我们进行特征选择主要有以下两个重要目的:

  • 减轻维数灾难
    我们在现实任务中经常会遇到维数灾难问题,这是由于属性过多而造成的,若能从中选择出重要的特征,使得后续学习过程仅需在一部分特征上构建模型,则维数灾难问题会大为减轻。从这个意义上来说,特征选择与第十章介绍的降维有相似的动机。
  • 降低学习任务的难度
    去除不相关的特征往往会降低学习任务的难度,这就像侦探破案一样,若将纷繁复杂的因素抽丝剥茧,只留下关键因素,则真相往往更易看清。

2、试比较特征选择与第十章介绍的降维方法的异同。

降维和特征选择都是为了使数据维度降小。但实际上两者的区别是很大,他们的本质是完全不同的。下面着重说说两者的区别:

  1. 降维
    降维本质上是从一个维度空间映射到另一个维度空间,特征的多少并没有减少,当然在映射的过程中特征值也会相应的变化。举个例子,现在的特征是1000维,我们想要把它降到500维。降维的过程就是找个一个从1000维映射到500维的映射关系。原始数据中的1000个特征,每一个都对应着降维后的500维空间中的一个值。假设原始特征中有个特征的值是9,那么降维后对应的值可能是3。
  2. 特征选择
    特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。举个例子,现在的特征是1000维,现在我们要从这1000个特征中选择500个,那个这500个特征的值就跟对应的原始特征中那500个特征值是完全一样的。对于另个500个没有被选择到的特征就直接抛弃了。假设原始特征中有个特征的值是9,那么特征选择选到这个特征后它的值还是9,并没有改变。

3、特征选择根据选择策略可以分为哪几类,分别说明其特点。

  • 过滤式选择
    过滤式方法就是先对数据集进行特征选择,然后再训练学习器。特征选择过程与后续学习器无关,这相当于先对初始特征进行“过滤”,再用过滤后的特征训练模型。
    过滤式选择的方法有:
    1.移除低方差的特征;
    2.相关系数排序,分别计算每个特征与输出值之间的相关系数,设定一个阈值,选择相关系数大于阈值的部分特征;
    3.利用假设检验得到特征与输出值之间的相关性,方法有比如卡方检验、t检验、F检验等。
    4.互信息,利用互信息从信息熵的角度分析相关性。

  • 包裹式选择
    包裹式从初始特征集合中不断的选择特征子集,训练学习器,根据学习器的性能来对子集进行评价,直到选择出最佳的子集。包裹式特征选择直接针对给定学习器进行优化。
    优点:从最终学习器的性能来看,包裹式比过滤式更好;
    缺点:由于特征选择过程中需要多次训练学习器,因此包裹式特征选择的计算开销通常比过滤式特征选择要大。

  • 嵌入式选择
    嵌入式特征选择将特征选择和学习器训练过程融为一体了,二者在同一个优化过程中完成,在学习器训练的过程中也自动地进行特征选择。
    其主要思想是:在确定模型的过程中,挑选出那些对模型的训练有重要意义的属性。

4、试写出Relief-F的算法描述。

Relief算法简单且运行效率高,但是其只能处理两类别数据,改进的Relief-F算法,可以处理多类别问题。Relief-F算法在处理多类问题时,每次从训练样本集中随机取出一个样本R,然后从和R同类的样本集中找出R的k个近邻样本(near Hits),从每个R的不同类的样本集中均找出k个近邻样本(near Misses),然后更新每个特征的权重,如下式所示:
W ( A ) = W ( A ) − ∑ j = 1 k d i f f ( A , R , H j ) / ( m k ) + ∑ C ∉ c l a s s ( R ) [ p ( C ) 1 − p ( c l a s s ( R ) ) ∑ j = 1 k d i f f ( A , R , M j ( C ) ) ] / ( m k ) W(A)=W(A)-\sum_{j=1}^{k}diff(A,R,H_j)/(mk)+\sum_{C\notin class(R)}[\frac{p(C)}{1-p(class(R))}\sum_{j=1}^{k}diff(A,R,M_j(C))]/(mk) W(A)=W(A)j=1kdiff(A,R,Hj)/(mk)+C/class(R)[1p(class(R))p(C)j=1kdiff(A,R,Mj(C))]/(mk)
上中 d i f f ( A , R 1 , R 2 ) diff(A,R_1,R_2) diff(A,R1,R2)代表样本 R 1 R_1 R1 R 2 R_2 R2在特征 A A A上的差, M j ( C ) M_j(C) Mj(C)表示类 C ∉ c l a s s ( R ) C\notin class(R) C/class(R)中第 j j j个最近邻样本,如下式:
d i f f ( A , R 1 , R 2 ) = { ∣ R 1 [ A ] − R 2 [ A ] ∣ m a x ( A ) − m i n ( A ) if A is continuous 0 if A is discrete and  R 1 [ A ] ≠ R 2 [ A ] 1 if A is discrete and  R 1 [ A ] = R 2 [ A ] diff(A,R_1,R_2)=\left\{ \begin{array}{rcl} \frac{|R_1[A]-R_2[A]|}{max(A)-min(A)} & &\text{if A is continuous} \\ 0 & & \text{if A is discrete and $R_1[A]\neq R_2[A]$}\\ 1 && \text{if A is discrete and $R_1[A]= R_2[A]$} \end{array} \right. diff(A,R1,R2)=max(A)min(A)R1[A]R2[A]01if A is continuousif A is discrete and R1[A]=R2[A]if A is discrete and R1[A]=R2[A]
权重意义在于, 减去相同分类的该特征差值, 加上不同分类的该特征的差值。(若该特征与分类有关,则相同分类的该特征的值应该相似, 而不同分类的值应该不相似).

5、试描述过滤式和包裹式选择方法的基本框架。

过滤式选择是先设计一个过滤方法进行特征选择,再去训练学习器。而这个过滤方式是设计一个“相关统计量”,去对特征进行计算,最后设定一个阈值去进行选择。相关统计量计算:对于每个样本 x i x_i xi,他都会做以下事情:找出同类中,最邻近的样本 x 1 x_1 x1 ;在异类中,找出最邻近的 x 2 x_2 x2 。如果 x i x_i xi x 1 x_1 x1 更近,说明特征是对同类异类有益的,会增大相对应的统计量;反之,如果 x i x_i xi x 2 x_2 x2 更近,说明特征起到副作用,会减少相对应的统计量。如下图所示:
在这里插入图片描述
2.包裹式选择法的特征选择过程与学习器相关,它直接使用学习器的性能作为特征选择的评价准则,选择最有利于学习器性能的特征子集。如下图所示:

在这里插入图片描述

这篇关于第十一章 特征选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/885411

相关文章

一步步学习SPD2010--第十一章节--处理母版页(9)--导出母版页

一步步学习SPD2010--第十一章节--处理母版页(9)--导出母版页         当你通过使用SPD创建并测试了母版页后,如果你想在SP场使用母版页,或者你需要从开发环境移植到系统集成和测试环境,然后到生产环境,你需要与开发人员合作。开发人员可以到处母版页和相关的图片、JavaScript、CSS文件到一个MS VS2010 SP项目,创建解决方案包,可以部署到其他环境。SPD允许你针对

一步步学习SPD2010--第十一章节--处理母版页(8)--从母版页创建网页

一步步学习SPD2010--第十一章节--处理母版页(8)--从母版页创建网页         在SPD中,你可以使用许多不同的方法创建ASP.NET页面。然而,因为页面将是SP网站的一部分,你很可能想像其他页面一样,保持相同的导航元素和外观。通过将内容页与母版页相关联可以达到这种效果。在本章节前些部分,你通过复制现存页面(Home.aspx)创建了一个ASP.NET页面。这个页面就与母版页关联

一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders

一步步学习SPD2010--第十一章节--处理母版页(7)--管理Content Placeholders                 正如我之前描述的,母版页在你的网站页面间,用来保持一致的外观。然而,母版页还有其他特殊的功能,如ContentPlaceholder控件。ContentPlaceholder控件时母版页的关键部分。这些控件定义了母版页的区域。当内容页与母版页结合时,内容

一步步学习SPD2010--第十一章节--处理母版页(6)--改变默认母版页

一步步学习SPD2010--第十一章节--处理母版页(6)--改变默认母版页          当你第一次创建SP Foundation或SP Server网站时,除了少数几乎所有页面都使用网站的默认母版页。通过使用SPD,你可以设置新的母版页作为网站的默认母版页。          注意:在Server 2010版本,你可以在网站操作--网站设置--母版页,来访问母版页,改变网站关联的母版页

一步步学习SPD2010--第十一章节--处理母版页(5)--自定义母版页

一步步学习SPD2010--第十一章节--处理母版页(5)--自定义母版页         最后你可能发现你想要在网站上修改所有的页面来显示某条信息或者图片。你可能在网站上游览,修改所有的页面并给任何新页面添加这个信息。但是,只要想象一下更新某公司含有上百页面的网站,就累不觉爱。在网站间一致地重复条目最有效的方式是创建或修改母版页。         重要:当你自定义当前默认母版页(v4.mas

一步步学习SPD2010--第十一章节--处理母版页(4)--复制和保存母版页

一步步学习SPD2010--第十一章节--处理母版页(4)--复制和保存母版页         在SPD中,母版页可以通过导航窗格的母版页选项定位。在网站中母版页的确切位置是母版页库内的_catalogs文件夹,你可以使用所有文件库或迷你库导航到母版页库。浏览器的所有网站内容页面,母版页库是隐藏的。但是,通过使用网站设置页面的母版页链接,你可以显示它。         发布站点中,母版页库中有

一步步学习SPD2010--第十一章节--处理母版页(3)--母版页上使用的控件

一步步学习SPD2010--第十一章节--处理母版页(3)--母版页上使用的控件         母版页很多功能是由部件提供的。这些部件在ASP.NET表单或SP Server控件中构成了应用程序逻辑和用户界面声明。         一些控件对于母版页是必需的。这些需求根据你是要为Foundation还是Server版本创建母版页不同而不同,它们也依据你想在站点实现的功能而变化。例如,当你创建

一步步学习SPD2010--第十一章节--处理母版页(2)--默认母版页

一步步学习SPD2010--第十一章节--处理母版页(2)--默认母版页         像其他页面一样,网站定义与母版页扮演关键的角色。每个网站定义可以包含许多母版页,其中一个可以设置为网站的默认母版页。然而,大多网站定义不包含母版页,而是使用全局默认母版页。当网站第一次被创建时,网站属性(被标识~masterurl/default.master引用)用来保存默认母版页的地址。网站创建之后

一步步学习SPD2010--第十一章节--处理母版页(1)--理解母版页

一步步学习SPD2010--第十一章节--处理母版页(1)--理解母版页         母版页作为ASP.NET一部分。SP Foundation 2010在ASP.NET基础上创建,并支持母版页,这帮助在整个网站提供通用的外观。因为SP Server2010使用SP Foundation创建,所以它也使用ASP.NET。         计划母版页结构的最好方法是遵循你架构一般网站页面

一步步学习微软InfoPath2010和SP2010--第十一章节--创建审批流程(9)--工作流审批者

还有最后要完成的一个项目。批准者名和emails还是空的。每次表单被提交时,工作流需要发送邮件到某人,这样他们知道该他们采取行动了。在工作流可以被创建发送邮件前,你需要知道批准者们是谁。         对于Contoso’s reimbursement表单项目,要求如下: 1.      因为用户配置文件要随时更新,每个用户都有精确的经理名。用户配置文件服务用来获得启动者的经