机器学习之特征工程-降维

作者: jacksu在简书 | 来源:发表于2017-08-13 13:00 被阅读1682次

当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维度也是必不可少的。但不要盲目降维,当你在原数据上跑到了一个比较好的结果,又嫌它太慢的时候才进行降维,不然降了半天白降了。
常见的降维方法有主成分分析法(PCA)线性判别分析(LDA),线性判别分析本身也是一个分类模型。PCA和LDA有很多的相似点,其本质是要将原始的样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。

主成分分析法(PCA)

Principal Component Analysis(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。
通俗的理解,如果把所有的点都映射到一起,那么几乎所有的信息(如点和点之间的距离关系)都丢失了,而如果映射后方差尽可能的大,那么数据点则会分散开来,以此来保留更多的信息。可以证明,PCA是丢失原始数据信息最少的一种线性降维方式。(实际上就是最接近原始数据,但是PCA并不试图去探索数据内在结构)  
使用decomposition库的PCA类选择特征的代码如下:

from sklearn.decomposition import PCA
#主成分分析法,返回降维后的数据
#参数n_components为主成分数目
PCA(n_components=2).fit_transform(iris.data)

PCA追求的是在降维之后能够最大化保持数据的内在信息,并通过衡量在投影方向上的数据方差的大小来衡量该方向的重要性。但是这样投影以后对数据的区分作用并不大,反而可能使得数据点揉杂在一起无法区分。这也是PCA存在的最大一个问题,这导致使用PCA在很多情况下的分类效果并不好。具体可以看下图所示,若使用PCA将数据点投影至一维空间上时,PCA会选择2轴,这使得原本很容易区分的两簇点被揉杂在一起变得无法区分;而这时若选择1轴将会得到很好的区分结果。



LDA所追求的目标与PCA不同,不是希望保持数据最多的信息,而是希望数据在降维后能够很容易地被区分开来。后面会介绍LDA的方法,是另一种常见的线性降维方法。

线性判别分析法(LDA)

Linear Discriminant Analysis (也有叫做Fisher Linear Discriminant)是一种有监督的(supervised)线性降维算法。与PCA保持数据信息不同,LDA是为了使得降维后的数据点尽可能地容易被区分!
假设原始数据表示为X,(m*n矩阵,m是维度,n是sample的数量)
既然是线性的,那么就是希望找到映射向量a, 使得 a‘X后的数据点能够保持以下两种性质:

1、同类的数据点尽可能的接近(within class)
2、不同类的数据点尽可能的分开(between class)

所以呢还是上面PCA用的这张图,如果图中两堆点是两类的话,那么我们就希望他们能够投影到轴1去(PCA结果为轴2),这样在一维空间中也是很容易区分的。



使用lda库的LDA类选择特征的代码如下:

from sklearn.lda import LDA
#线性判别分析法,返回降维后的数据
#参数n_components为降维后的维数
LDA(n_components=2).fit_transform(iris.data, iris.target)

参考

简述多种降维算法
四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

相关文章

  • 机器学习之特征工程-降维

    当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维...

  • 2019-02-27

    内容为西瓜书的第10章特征选择和第11章特征降维。 1 在机器学习工程中,特征工程才是最重要,特征决定着算法的上限...

  • 面试题目总结-机器学习算法-基础

    1.机器学习中特征的理解 def:特征选择和降维 特征选择:原有特征选择出子集,不改变原来的特征空间 降维:将原有...

  • 机器学习特征工程2-特征降维(sklearn实践)

    特征降维 当特征选择完成后,可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维度也是必不可少...

  • 实例(1)——特征工程

    前言:机器学习工程师一半的时间花在数据的清洗、特征选择、降维等数据处理上面,下面就以邮件过滤系统为例,介绍一下机器...

  • 机器学习之特征工程 - 整理

    以下内容整理自机器学习之特征工程 特征工程: 定义:利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特...

  • 降维算法之PCA

    机器学习降维算法

  • PCA 笔记

    2020-05-21特征降维中PCA和LDA[bilibili-video]《Python机器学习》读书笔记(五)...

  • 机器学习之降维

    一、什么是降维以及为什么要降维 1.1 降维简介 为了在机器学习中拟合出满意的结果,训练中提供的训练样本数据需要足...

  • 机器学习 之 降维

    1. 维数灾难 物体在高维空间表现的十分不同 在高维超正方体中,大多数点都分布在边界处:在二维平面的一个正方形单元...

网友评论

本文标题:机器学习之特征工程-降维

本文链接:https://www.haomeiwen.com/subject/ihqcrxtx.html