对PCA算法的一些个人理解

PCA算法

介绍PCA算法之前,我们先了解一下特征降维,特征降维即采用一个低纬度的特征来表示高纬度,
特征降维的方法主要分为特征提取和特征选择两类,特征提取常用方法主要有词频模型、PCA、随机森林、反向特征消除、前项特征构造,特征选择常用方法主要有剪枝、随机、精度和平衡精度、卡方校验、信息增益、概率比、双正态分离、加权抽样和聚类,该系统是使用PCA算法进行降维

PCA主成分分析求解步骤

1.现有m条n维数据
2.将原始数据组成n行m列矩阵X
3.将X的每一行进行零均值化,即减去这一行的均值
4.求出协方差矩阵
5.求出协方差矩阵的特征值及对应的特征向量
6.将特征向量对应特征值大小从上到下按行排列成矩阵,取前K行组成矩阵P
7.Y=PX即为降维到K维后的数据

PCA算法详解

PCA:主成分分析,PCA原理是通过之前旧特征创建一些新特征,然后通过这些新特征来更好的总结对象。这是通俗解释,PCA算法是如何通过旧特征创建新特征并用新特征表示对象的呢?
假设葡萄酒有年份,颜色,酸甜度,透明度等特征,我们原来通过这些特征进行葡萄酒的区分,现在我们通过4个特征进行区分,四个特征需要四个维度。我们想降低维度通过更少的维度来进行区分。为了便于理解现在通过二维空间进行介绍。
下面我们通过这个例子进行讲解,目前我们通过基因1来进行区分老鼠,我们将老鼠的基因1的信息表示在表格中。
在这里插入图片描述

我们将表格中的数据表示在坐标轴上。
在这里插入图片描述

下面我们进行二维数据的表格表示
在这里插入图片描述
我们将二维表格的数据展示在坐标轴中
在这里插入图片描述
那么三个基因的情况呢?
在这里插入图片描述在这里插入图片描述
三个还可以进行表示但是4维数据如何进行表示呢?五维,六维?
那么我们就需要降维,将原有的4维,5维,6维通过1维,2维,3维坐标轴表示出来,而且仍然可以将数据很好的表示出来。
为了便于理解我们通过将二维数据降维到一维数据的例子进行讲解
在这里插入图片描述
在这里插入图片描述

(1)首先需要计算出这些点的中心,然后将中点移到原点处,这样只会改变点的坐标,但是不会改变相对位置
在这里插入图片描述
在这里插入图片描述

(2)然后我们需要找到一条过原点,使这些点拟合度最大的线。也就是所有点到直线的距离的和最小的直线。因为点到原点的距离是固定的,由勾股定理,这条线也就是点到直线上的投影到原点的距离的和最大的那条线
a^ 2=b ^ 2+ c ^ 2,因为a的距离是固定的,c越大b就越小,我们需要找的是b的平方和最小的那条线,所以我们找到使c的和距离最大的那条线即可。注:这里的c是六个点中的其中一个点的c我们需要的是所有所有点的c的和。
在这里插入图片描述

(3) 找出最大拟合线(图中的红色虚线)PC1,这条线我们可以看成是有4份的基因1和1份的基因2组成。也就是对应我们之前所说的鸡尾酒,有很多种不同的酒根据不同比例调成一份鸡尾酒。这个称为是基因1和基因2的线性组合
在这里插入图片描述

(4)这条单位向量就是我PC1的特征向量,也就是我们需要求的,这些就对应找出前K位特征值对应的特征向量.
因为我们需要将2维降到一维,所以我们只需要求出这条线就可以了。然后我们通过PC1进行表示,也就实现了降维。
pc1的特征值为:c1 ^ 2 + c2 ^ 2+ c3^2 +c4 ^2 + c5 ^ 2 +c6 ^ 2
所以我们需要找到特征值最大的那个特征向量,然后我们再通过特征向量就可以得到PC1。
我们将髙维数据降维到K维时,只需找到排名前K位的特征值对应的特征向量即可。然后我们将点表示在K维空间中即实现了降维。
小弟水平有限,希望大家可以不吝赐教
参考: https://www.bilibili.com/video/BV1C7411A7bj?from=search&seid=18082487102408789699.
https://www.zhihu.com/question/41120789/answer/481966094.

猜你喜欢

转载自blog.csdn.net/tan45du_yuan/article/details/108435005
今日推荐