机器学习-特征选择
来源:互联网 发布:网络的利大于弊 编辑:程序博客网 时间:2024/06/11 02:05
在此前做过文本分类的算法,其中特征长度是1万7多个,样本是1000个,但是做过文本分类的童鞋都知道,如此长的特征使得文本分类非常慢,一般都是去进行特征选择,而我因为当时不懂,所以也就没有做优化。
接下来,正式介绍一下特征选择。
首先,我们先来谈谈理论基础。从上一篇关于VC维的介绍中,我们知道,VC维他是和样本数量m是成正比的,而我们特征个数如果非常大,那我们的VC维就很可能很大,我们有理由相信,真实的特征个数不会很多。 这不费观点保留,纯粹个人理解
现在来谈谈降维方法
这个算法的名称叫:wrapper model feature selection
假设我们有n个特征,我们想从中降维,那么有2的n次方个选择。对于一个很大的n,这样的选择会非常复杂,所以我们降维需要的算法叫forward search前向算法
前向算法的思想是这样的:
算法的思想是这样的,我们开始初始化中是一个空集,然后每次都遍历一遍特征,通过交叉验证看看加入哪个特征之后他的误差是最小的,如此循环不断加入新的特征值。那什么时候停止呢?这个一般是我们自己来设定一个特征上线个数
可以说,这种算法他的复杂度还是比较高的,因为我们每次选择一个特征还要进行交叉验证,交叉验证的复杂度就不低。 但是他的准确率是比较高的。
对应于前向算法,我们也后向算法,这里就不再详细说了,其实都是大同小异。
现在我们来介绍一下另一种特征选择方法, 他的复杂度相比于前面大大减少,但是他的准确率就不像前面那么高了。
这个算法的名字叫: Filter feature selection
这个算法的思想是我们通过相对熵来计算 x 和 y的关联度。关联度大那当然就是好的特征值了!
关于相对熵这部分知识,这里简单介绍下
也就是说相对熵计算的是两个概率差距有多大的一个度量。
在本特征选择的应用就是比较P(X,Y)和P(X)P(Y)的相对熵大小是多少。
在上面的定义里我们看到x,y都是2元值,更一般的情况,我们只要把定义域改一下就可以了,我们要做的就是选择一个特征值,遍历他的定义域,遍历y的定义域,计算相对熵,来选择相对熵最大对的特征。
最后有一个细节我们需要注意,通过相对熵,我们有了特征的排名,那我们是不是从高到低取给完事了呢? 不是的! 我们说过,相对熵他还是一种比较粗浅的估计,我们在这里还要用 交叉验证选择特征值,当然遍历范围可以我们自己定到足够小就OK了!
- 机器学习--特征选择
- 机器学习:特征选择
- 机器学习-特征选择
- 机器学习-->特征选择
- 机器学习 特征选择
- 机器学习-特征选择
- 机器学习-R-特征选择
- 机器学习之特征选择
- 机器学习中的特征选择
- 机器学习之 特征选择
- 机器学习特征选择方法
- 机器学习之特征选择
- 机器学习中特征选择
- 机器学习-文本特征选择
- 机器学习中的特征选择
- 机器学习 特征选择概述
- 机器学习_特征选择
- 【机器学习】特征选择与特征转换
- YII简单数据库的操作
- intent跳转活动新活动一片空白
- libffm的基本使用--mac为例子
- codeforce 2A
- 360春秋杯CTF比赛WRIteUP
- 机器学习-特征选择
- [李景山php] C语言实现简单五子棋
- USACO-Section1.1 Broken Necklace
- 使用LPCXpresso开发板调试外部的电路板
- 学习Linux命令(15)
- 访问控制级别
- 避免vue表达式在加载时的闪烁
- 欢迎使用CSDN-markdown编辑器
- PKUSC2017酱油记