系列文章目录及链接
上篇:机器学习(五) -- 无监督学习(1) --聚类2
下篇:机器学习(五) -- 无监督学习(2) --降维2
前言
tips:标题前有“***”的内容为补充内容,是给好奇心重的宝宝看的,可自行跳过。文章内容被“
文章内容”删除线标记的,也可以自行跳过。“!!!”一般需要特别注意或者容易出错的地方。
本系列文章是作者边学习边总结的,内容有不对的地方还请多多指正,同时本系列文章会不断完善,每篇文章不定时会有修改。
由于作者时间不算富裕,有些内容的《算法实现》部分暂未完善,以后有时间再来补充。见谅!
文中为方便理解,会将接口在用到的时候才导入,实际中应在文件开始统一导入。
一、通俗理解及定义
1、什么叫降维(What)
在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程
降维方式:
特征选择
主成分分析 (PCA,可以理解一种特征提取的方式)
线性判别分析(LDA)
t-SNE
LDA是一种有监督的数据降维方法,降维的同时考虑了类别信息,使得投影后的数据类内方差最小,类间方差最大。
PCA是一种无监督的数据降维方法,仅基于数据的方差进行降维,通过最大化投影方差来保留数据的主要信息,但可能忽略了与类别相关的信息。
t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于高维数据可视化的降维方法。通过保留数据点之间的局部相似性来将高维数据映射到二维或三维空间中,以便进行可视化。t-SNE在可视化复杂结构和发现数据中的簇群方面表现出色,但计算成本较高,且对参数的选择较为敏感。
2、降维的目的(Why)
如果特征本身存在问题或者特征之间相关性较强,对于算法学习预测会影响较大。降维是为了降低这种影响。
为了在尽量保证“信息量不丢失”的情况下,对原始特征进行降维,也就是尽可能将原始特征往具有最大投影信息量的维度上进行投影。将原特征投影到这些维度上,使降维后信息量损失最小。
3、怎么做(How)
PCA:
- 数据标准化:将原始数据进行标准化处理,消除量纲和数值大小对分析结果的影响。
- 计算协方差矩阵:计算标准化后数据的协方差矩阵,反映各变量之间的相关性。
- 特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
- 选择主成分:根据特征值的大小选择前k个主成分,通常选择累计贡献率达到一定阈值(如80%)的前k个主成分。
- 转换数据:将原始数据转换到由前k个主成分构成的新坐标系中,得到降维后的数据。
二、原理理解及公式
1、基本概念
1.1、数据线性变换
拉伸
旋转
1.2、协方差
1.2.1、公式
协方差表示的是两个变量的总体的误差。
1.2.2、相关性
反映两个变量 X 和 Y 的相互关系。这种相互关系大致分为三种:正相关、负相关、不相关。
Y 在整体趋势上是随着 X 的增加而增加的,即 Y 与 X 的变化是同向的。这种情况,我们就称 X 与 Y 是正相关的。
Y 在整体趋势上是随着 X 的增加而减少的,即 Y 与 X 的变化是反向的。这种情况,我们就称 X 与 Y 是负相关的。
Y 在整体趋势上与 X 的并无正相关或者负相关的关系。这种情况,我们就称 X 与 Y 是不相关的。
如下图所示,红线为x期望EX,绿线为y期望EY,每个图被EX、EY分割为四个区域
正相关关系中:
在区域 I 中,满足 X>EX,Y>EY,则有 (X-EX)(Y-EY)>0;
在区域 II 中,满足 X<EX,Y>EY,则有 (X-EX)(Y-EY)<0;
在区域 III 中,满足 X<EX,Y<EY,则有 (X-EX)(Y-EY)>0;
在区域 IV 中,满足 X>EX,Y<EY,则有 (X-EX)(Y-EY)<0。
正相关时,数据大部分是分布在 I、III 区域内,只有少部分分布在 II、IV 区域。因此,从平均角度来看,正相关满足:
同理得:负相关满足:
不相关满足:
及有:
-
当 Cov(X,Y) > 0 时,X 与 Y 正相关;
-
当 Cov(X,Y) < 0 时,X 与 Y 负相关;
-
当 Cov(X,Y) = 0 时,X 与 Y 不相关。
1.2.3、协方差矩阵
不相关时,cov(x,y)=0;正相关时,cov(x,y)>0;负相关时,cov(x,y)<0。
1.3、特征值和特征向量
A为n阶矩阵,若数λ和n维非0列向量x满足Ax=λx,那么数λ称为A的特征值,x称为A的对应于特征值λ的特征向量。式Ax=λx也可写成( A-λE)x=0,并且|λE-A|叫做A 的特征多项式。当特征多项式等于0的时候,称为A的特征方程,特征方程是一个齐次线性方程组,求解特征值的过程其实就是求解特征方程的解。,
eg:
特征值:
特征矩阵:
1、特征选择和主成分分析(PCA)
特征选择和PCA详情可以转至:机器学习(三) -- 特征工程(2)
特征选择是在原有特征中选择一部分“无关”特征,PCA则是高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量。
2、主成分分析(PCA)
主成分分析(Principal Component Analysis)通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性
2.1、目标及方法
目标:只保留一个轴时(2维降到1维),信息保留最多
方法:找到数据分布最分散的方向(方差最大),作为主成分(坐标轴)
PCA==找坐标系
2.2、原理
去中心化(把坐标原点放在数据中心)、找坐标系(找到方差最大的方向)
2.2.1、白数据与手上数据转换
白数据
手上的数据
拉伸的方向就是方差最大的方向 ,旋转的角度决定了方差最大的方向的角度
2.2.2、求协方差矩阵的特征向量==R
去中心化后Ex=Ey=0
代入协方差矩阵
2.2.3、协方差的特征向量
C‘是2x2的矩阵,有两个特征值和两个特征向量
2.2.4、协方差的特征值
2.3、补充
2.3.1、3维降2维
2.3.2、标准差椭圆/置信椭圆
2.4、奇异值分解(SVD)
奇异值分解(Singular Value Decomposition)
2、线性判别分析(LDA)
线性判别分析(Linear Discriminant Analysis)是机器学习中用于监督分类问题的最流行的降维技术之一。
LDA想法和PCA非常相似,但LDA是有监督的,要确保投影后各个类别的类内方差小,而类间方差大。
2.1、原理
2.2、目标
核心思想:类内小,类间大
3、PCA优缺点
3.1、优点:
- 以方差衡量信息的无监督学习,不受样本标签限制。
- 由于协方差矩阵对称,因此k个特征向量之间两两正交,也就是各主成分之间正交,正交就肯定线性不相关,可消除原始数据成分间的相互影响
- 可减少指标选择的工作量
- 用少数指标代替多数指标,利用PCA降维是最常用的算法
- 计算方法简单,易于在计算机上实现。
3.2、缺点:
- 主成分解释其含义往往具有一定的模糊性,不如原始样本完整
- 贡献率小的主成分往往可能含有对样本差异的重要信息,也就是可能对于区分样本的类别(标签)更有用
- 特征值矩阵的正交向量空间是否唯一有待讨论
旧梦可以重温,且看:机器学习(五) -- 无监督学习(1) --聚类2
欲知后事如何,且看:机器学习(五) -- 无监督学习(2) --降维2