特征工程-特征提取
文章目录
-
特征提取技术
-
线性统计方法
-
主成分分析法(PCA)
-
来自维基百科的定义
-
主成分分析法原理
-
预处理阶段:数据中心化处理
-
构建新的特征空间:建立新坐标系
-
确定主成分:选择主要变量并映射数据到新空间
-
三、总结
-
- 1、主成分分析-方差法
- 2、主成分分析-SVD
-
四、PCA的局限性
- 因子分析
-
- 一、定义
-
二、步骤
-
非线性方法
-
- 一、定义
- 二、KPCA步骤
-
特征提取
最近在深入学习特征工程中的特征提取知识,并做相关笔记记录。
特征提取本质上是一种降维技术,在数据分析中被广泛应用于处理高维度数据的问题。其核心思想是从原始高维度数据中提炼出关键的低维度特征,并通过这些低维度特征来充分反映原始数据集的主要信息和规律性表现(即所谓的"关键少数")。那么为什么要进行降维呢?因为处理高维度数据时会占用大量计算资源和存储空间。
基于不同数据集的分布特性, 特征提取方法主要可分为线性方法 和非线性方法 两类, 各自适用于不同的数据分析场景与需求
线性方法
这类数据集能够被直线(或其延伸)有效地分开;例如,在二维空间中, x轴与y轴上的数据呈现正向关联、负向关联, 或者相互独立(即相关系数为零)。这些技术常用于降维处理, 包括主成分分析(PCA)以及因子分析等方法
主成分分析(PCA)
一、定义(来自维基百科)
主成分分析法常被用来降低数据空间的维度,并致力于提取那些能够解释数据变异主要部分的关键特征。该方法通过正交变换将一组可能相关的变量观测值转化为另一组线性不相关的变量值。这些新生成的一组彼此不相关的变量即为主成分(Principal Components)。
举个例子,在(x,y)平面上的分布图中可以看出该数据集在x轴和y轴方向上大致呈正相关关系。由于这是降维处理的问题挑战之一,我们需要思考如何将二维空间的数据降到一维空间进行分析处理。根据方差理论知识,在统计学中我们知道:当某一变量的数据波动程度越大时其对应的方差值也越高从而其所携带的信息量也相应增大。然而针对如上所示的图表所示的情况我们发现这些二维数据在x轴和y轴方向上的波动程度应当大致相当因此它们各自携带的信息量也应当差不多这样一来如果我们仅保留其中一个维度信息将会导致我们丢失约50%的数据信息内容。
假设我们将原点设置在数据分布的中心,并以此为基础构建一个二维坐标系。在此基础上绘制出第一和第二轴分别代表第一和第二主要成分(principal components)。观察图形可以发现,在第一轴上的投影范围明显大于第二轴对应的投影范围。换句话说,在这种情况下主导信息来源于第一成分。基于此我们有理由选择仅保留第一成分来实现降维的目标。

再来看一个例子。某市的房价和面积如下:

为方便观测和计算,我们先对这些数据中心化(减去均值):

将这些数据在坐标系上表示出来:

改写说明

从当前情况来看,在应用勾股定理后,则相对容易地计算出各个数据点在主成分1上的具体数值。值得注意的是这些数据并未在主成分2的空间中呈现分布情况因此我们可以合理地舍弃掉主要成分2这一维度这样一来则将原始的二维空间简化为一维空间
回顾刚才的两个实例,我们经历了以下步骤:首先包括对数据进行中心化处理(即减去均值),接着是建立新的坐标系统(通过主元分析得到了),然后是从原始空间转换到新的低维空间(即进行了降维),最终进行了特征提取和表示(即完成了降维操作)。总结如下:
- 中心化处理(减均值)
- 建立新坐标
- 选择主元坐标
- 将数据映射到新坐标系中
接下来,我们来更加详细地说明这几个步骤。
二、PCA原理
1、中心化处理
也叫作零均值化 。这一步的目的是为了方便观测,以及后续计算。
对于方差一致估量形式:

我们对其进行中心化处理后:

目前看来,这种方案更加简洁明了。因此我们采用基于数据分布的中心设置坐标原点的方法,在实际操作中能够更加方便地进行观察和分析
2、建立新坐标
在我们的分析过程中, 提到了'随着数据变化幅度增大, 其方差值也会提高, 同时所反映的信息内容就越丰富.'因此, 在建立新的坐标系时, 我们应选取主成分方向作为主要轴线, 这一问题也就转化为如何确定主成分方向。

将该式展开得:

在式子2中,令

可以观察到矩阵C具有对称性。假设方差λ等于u转置乘以矩阵C再乘以向量u,在该等式中矩阵C的特征值即为方差λ;同时,在该等式中对应的特征向量所指的方向即为新的坐标轴方向
3、选择主元并映射数据到新的坐标系
设求得的C的特征值为λ1,λ2…λm(由大到小排列),对应的特征向量为u1,u2…um计算(λ1+λ2…+λr)/λ1+λ2…+λm),r ≤ m
当达到或超过预期水平时(例如90%),就会决定采用前r个特征值及其对应的特征向量构成坐标系的基础。此时样本在新坐标系中的投影结果是x_i^T u_i ,其中i=1,2,…, r 。这表示m维数据已被成功降维至r维空间。
在本部分结束之前(或在本段落结束时),我们再回顾一下主成分分析的过程,并解释求解对称矩阵C的两种方法。
三、总结
1、主成分分析-方差法
- 零均值化

- 求样本协方差矩阵C

- 计算矩阵C的所有特征值及其对应的特征向量,并将各特征向量按照对应的特征值从大到小排列成矩阵U。
- 计算前r个最大特征值之和与所有n个特征值之和的比值(其中r ≤ n),并据此选择对应的最大r个特征值所对应的主成分方向。
- 选择主成分,并将原始数据映射至由主成分构成的新坐标系中。
2、主成分分析-SVD
在计算过程中的方差矩阵C分解问题上,主要采用的是特征值分解方法。具体而言,则是通过求解得到对应的特征向量这一过程与矩阵对角化的过程相似。然而,在实际应用中进行计算往往非常耗时。特别地,在很多情况下我们并不关心所有的特征值而是只需要关注那些具有较大数值特性的前几个即可满足大部分信息需求的经验表明,在很多情况下前10%甚至1%的奇异值就足以占总奇异值比例的99%以上因此剩下的90%甚至99%的信息含量其实微乎其微基于这一发现提出了奇异值分解方法SVD
特征值分解适用于方阵。奇异值分解(SVD)适用于任意大小的矩形或方阵。对于任意m×n阶矩陣A=U_{m×m}Σ_{m×n}V_{n×n}^T,则U与V均为正交矩陣,并且U為左奇異矩陣而V為右奇異矩陣。
计算U、Σ与V的方法如下:
(1)对于矩阵A而言,
其转置矩阵与原矩阵相乘的结果为
A^T A = U \Sigma² U^T
以及
AA^T = V \Sigma² V^T
分别计算A^T A与AA^T的最大非零奇异值及其对应的特征向量。
(2)将这些单位化的特征向量分别作为U与V的列向量构建正交矩阵。
取这两个矩阵的最大非零奇异值并开平方得到对角矩阵\Sigma。
PCA-SVD步骤:
- 均值归零化处理
- 采用奇异值分解(SVD)方法将矩阵Am×n分解为Umxm、Σmxn和VTnxn三个矩阵的乘积。
- 基于奇异值矩阵Σ的最大r个奇异值及其对应的左奇异向量(即U的列向量),提取主成分。
- 将原始数据映射至新的低维坐标系中。
四、PCA的局限性
主成分分析的结果在可解读性方面存在不足。在上述房价与面积的实例中,在将二维数据投影至单一维度的过程中难以对所得结果进行合理解释。
2、计算成本高。SVD分解至少要O(n2)。
3、在流式数据、批量更新或完整数据的抽样中
主成成分分析难以被实施,因为方差统计量对于较大的异常值非常敏感。为了确保分析的有效性,在数据预处理之前必须完成必要的处理步骤。
因子分析
一、定义
因子分析(Factor Analysis, 简称FA)是一种用于将具有错综复杂关系的多个变量简化为少数几个核心因子的多变量统计分析技术。其核心思想在于:通过评估各变数间的关联程度对数据进行分类处理,在同一类别中的变数间呈现出较强的关联性;而对于不同类别的变数则表现出较弱或不存在显著关联度。每个类别都代表了一个潜在的核心因素即公共因子
例如,在学生(数学、物理、化学等理科科目以及语文等文科科目)的成绩组成的多维数据中
二、步骤
1、对数据样本进行标准处理。通常是均值化,缩放等处理。
2、计算数据样本的相关矩阵R。
3、求相关矩阵R的特征值和特征向量。
4、确定主因子个数。
5、计算因子载荷矩阵A。
6、确定因子模型并分析
我们举例说明一下这六个步骤。

非线性方法
在研究线性分类问题时, 通过建立直线模型实现对二维空间数据的分类目标. 如果无法找到单一的直线来区分这些样本点, 并且观察发现这些样本点呈现明显的非线性分布特征, 则需要转而采用非线性模型来进行降维处理. 本节的主要内容是核主成分分析法.
一、定义
**基于核的主成分分析(based kernel principal component analysis,简称kernel PCA)**是多变量统计领域中的一种分析方法;它通过将原数据利用核函数映射到高维空间后再在高维空间中进行线性主成分分析。
如图所示各区域以不同的颜色标记, 我们发现仅用几条直线难以对这些数据进行分类. 然而将其投影到三维空间中则能够找到一些相关的平面从而实现对数据的分类 最后采用线性主成分分析方法完成降维处理

二、KPCA步骤
- 使用非线性变换将样本数据 nonlinearly mapped into a high-dimensional space. Without explicitly specifying this mapping, subsequent steps implicitly utilize its properties. This is known as the kernel trick.
- Centralizing the data in high-dimensional space. This step mirrors the approach used in linear methods.
- Compute the covariance matrix C. Subsequently, determine its eigenvalues and eigenvectors.
- Select eigenvectors associated with significant eigenvalues to form the new coordinate system.
- Project the sample data into this new coordinate system.
可以看出,在步骤上与传统的PCA方法相比,KPCA多出了一步。在原理上涉及较为复杂的数学推导,在这三、四两步中主要阐述的是协方差矩阵C的相关计算问题。由于我们并未明确给出高维空间中的映射函数表达式,在这两步中我们需要进行相应的代换操作。值得注意的是,在第五步中我们无法直接求取C的特征向量这一结果,并未得出最终解法;相反地则得出了C的相关特征向量与核函数K(x,y)之间的关系式,并通过代换的方式将数据成功地映射到新的坐标系中
