漫谈机器学习经典算法—特征提取与特征选择[通俗易懂]

漫谈机器学习经典算法—特征提取与特征选择

大家好,又见面了,我是全栈君。

更新:邮箱发只是来。此文放到了http://lanbing510.info/2014/10/22/Feature-Extraction-Selection.html。谢谢。

注:图片看不到的同学能够去以下的链接查看:http://app.yinxiang.com/l/AB8UpUaK_SBMEald_sRU-Z-xGtofVoIaxjM/

特征提取和特征选择都是从原始特征中找出最有效(同类样本的不变性、不相同本的鉴别性、对噪声的鲁棒性)的特征

特征提取:将原始特征转换为一组具有明显物理意义(Gabor、几何特征[角点、不变量]、纹理[LBP HOG])或者统计意义或核的特征
特征选择:从特征集合中挑选一组最具统计意义的特征。达到降维
两者作用:
1 降低数据存储和输入数据带宽
2 降低冗余
3 低纬上分类性往往会提高
4 能发现更有意义的潜在的变量,帮助对数据产生更深入的了解


线性特征提取

PCA-主成分分析

思想:寻找表示数据分布的最优子空间(降维,能够去相关)
事实上就是协方差矩阵前s个最大特征值相应的特征向量构成映射矩阵
以下是讲述的非常直观具体的文章






LDA-线性判别分析
思想:寻找可分性判据最大的子空间。
用到了Fisher的思想,即寻找一个向量。使得降维后类内散度最小。类间散度最大;事实上就是Sw-1Sb前s个特征值相应的特征向量构成映射矩阵
DHS的模式分类一书中96页有具体的推导,浅显易懂
參考论文1

ICA-独立成分分析
思想:PCA是将原始数据降维。并提取不相关的部分。ICA是将原始数据降维并提取出相互独立的属性;寻找一个线性变换z=Wx,使得z的各个分量间的独立性最大。I(z)=Eln(p(z)/p(z1)..p(zd))
看Machine Learning A Probabilistic Perspective的推导计算
參考论文2


注:PCA&ICA
PCA的问题事实上是一个基的变换,使得变换后的数据有着最大的方差。方差的大小描写叙述的是一个变量的信息量,我们在讲一个东西的稳定性的时候,往往说要减小方差,假设一个模型的方差非常大,那就说明模型不稳定了。

可是对于我们用于机器学习的数据(主要是训练数据)。方差大才有意义,不然输入的数据都是同一个点,那方差就为0了,这样输入的多个数据就等同于一个数据了。


漫谈机器学习经典算法—特征提取与特征选择[通俗易懂]


ICA是找出构成信号的相互独立部分(不须要正交),相应高阶统计量分析。ICA理论觉得用来观測的混合数据阵X是由独立元S经过A线性加权获得。ICA理论的目标就是通过X求得一个分离矩阵W,使得W作用在X上所获得的信号Y是独立源S的最优逼近。该关系能够通过下式表示:

Y = WX = WAS 。 A = inv(W)

ICA相比与PCA更能刻画变量的随机统计特性,且能抑制高斯噪声。

漫谈机器学习经典算法—特征提取与特征选择[通俗易懂]



分为三类
1 基于欧氏距离的准则(散度矩阵)
漫谈机器学习经典算法—特征提取与特征选择[通俗易懂]


漫谈机器学习经典算法—特征提取与特征选择[通俗易懂]



3 基于熵的准则
漫谈机器学习经典算法—特征提取与特征选择[通俗易懂]





相应的准则相应
漫谈机器学习经典算法—特征提取与特征选择[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115668.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 2分钟规则

    怕什么真理无穷,进一步有近一步的欢喜每日语录:当你纠结要不要做一件事的时候,那就去做~开头聊几句1、又是一段时间没有输出内容了,有时候有点时间,自己懒不想动2、工作和生活,工作为了生活,…

  • postgreSQL + Drupal 安装

    postgreSQL + Drupal 安装最近在做毕业论文,需要用到Linux(Fedora)下的postgreSQL+Drupal构建。就这么边学边做,碰到许多小问题,折腾了好几天,终于把网站架起来。一些问题的解决办法:1、用yum安装postgreSQL算是简单的,但是按某教程装好后直接运行servicepostgresqlstart总是不成功。后来查其他资料,发现在第一次start之前需要执行servicepost

  • 枚举类型enum用法(enum类型)

    【1】什么是枚举类?  实例(也叫对象)有限而固定的类,在Java里被称为枚举类。    例如,季节类,它只有4个实例(春、夏、秋、冬),并且这4个实例不会改变。可以用枚举类来表示:publicenumSeasonEnum{SPRING,SUMMER,FALL,WINTER;}    枚举类是一种特殊的类,它一样可以有自己的成员变量、方法,可以实现一个或多个接口,也可以有自己的…

  • curl_init()

    curl_init()
    $ch=curl_init();
    $c_url=’http://?’;
     $c_url_data=”product_id=”.$product_id.”&type=”.$type.””;
     curl_setopt($ch,CURLOPT_URL,$c_url);
     curl_setopt($ch,CURLOPT_POST,1);
     curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

  • Java单元测试框架 JUnit

    Java单元测试框架 JUnit

    2021年11月18日
  • c++枚举类型enum输出_python中的枚举

    c++枚举类型enum输出_python中的枚举enum枚举的含义?enum枚举的声明?enum枚举的特点?enum枚举的作用?enum枚举的注意事项?

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号