1. PCA:principal Component Analysis
- 用途:降维中最常用的一种手段
- 目标:提取最有价值的信息(基于方差)
- 方差最大化,使得所有的样本点尽可能的分开。
- 问题:降维后的数据的意义?
- 原来的数据都是有实际意义的,降维之后表达的什么意思就不知道了。但是我们最终是要拿一个结果,所以中间的过程也不是很重要。
-
向量的表示及基的变换
-
内积:用坐标表示向量
内积公式
- 解释:设B向量的模长为1,则A与B的内积值等于A像B所在直线投影的矢量长度。 image.png
- 向量可以表示为(3,2)实际上表示线性组合:x(1,0)'+y(0,1)'。(.)'表示转置。
- 基:(1,0)和(0,1)叫做二维空间的一组基。
- 基是正交的(内积为0,互相垂直),最好是单位向量
- 要求:线性无关。
- 基变换:
- 数据与一个基做内积运算,结果作为第一个新的坐标分量,然后与第二个基做内积运算,结果作为第二个新坐标的分量。 image.png
- 两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。 image.png
- 如何找到最合适的基呢?
- 协方差矩阵
- 方向:如何选择这个方向(基)才能尽量保留最多的原始信息呢?一种直观的看法是:希望投影后的投影值尽可能分散
- 方差:公式 方差
- 寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大。
- 协方差:表示两个向量之间的关系
- 公式为: image.png
- 数据已经做了均值为0的中心化,因此,协方差的公式可以写成: image.png
- 如果单纯只选择方差最大的方向,后续的方向应该会和方差最大的方向接近重合(线性相关)。线性相关不利于我们的建模。
- 解决方案:为了让两个字段尽可能表示更多的原始信息,我们是不希望它们之间存在(线性)相关性的。
- 协方差:可以用两个字段的协方差表示其相关性
- 当协方差为0时,表示两个字段完全独立。为了让协方差为0.选择第二个基时能与第一个基正交的方向上选择。因此最终选择的两个方向一定是正交的。
- 优化目标:
- 将一组N维向量降为K维,(0<K<N),目标是选择K个单位正交基,使得原始数据变换到这组基上后,各字段两两间的协方差为0,字段的方差都尽可能大。
- 协方差矩阵:矩阵对角线上的两个元素分别是两个字段的方差,而其他元素是a和b的协方差。 image.png
- 协方差矩阵对角化:除对角线外的其他元素化为0,并且在对角线上将元素按大小从上到下排列。
- 实对称矩阵:一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量。
实对称矩阵一定可进行对角化 - 根据特征值的从大到小,将特征向量从上到下排列,再用前K行组成的矩阵乘以原始数据矩阵X,就得到我们需要的降维后的数据矩阵Y。
-
内积:用坐标表示向量
内积公式
-
PCA实例
- 数据: 数据
- 协方差矩阵: 协方差矩阵
- 特征值:
- 特征向量: 特征向量 特征向量
- 对角化: 对角化
- 降维: 降维
2. 线性代数知识:
- 特征值与特征向量:
- 定义
设A为n阶矩阵,如果存在一个数 及非零的n维列向量使得A=成立,则称是矩阵A的一个特征值,称非零向量是矩阵A属于的一个特征向量。 -
求特征值和特征向量
IMG_20181201_200730.jpg
- 定义
网友评论