深度学习中的降维操作——PCA(主成分分析)

来源:互联网 发布:spark 运行java jar包 编辑:程序博客网 时间:2024/05/16 05:17

前言:

深度学习是个很有意思的话题:

1.对线性不可分的数据,其方法是通过增加隐层神经元的数量,将低维不可分的数据映射到高维,使得数据可分(如单隐层感知机训练异或门)

2.对特征维数过高的数据(如mnist手写识别中的维度为28*28),将对数据进行降维操作,通常的降维操作有PCA(主成分分析)与dA(降噪自动编码器)。


下面是对PCA的工作流程的简述,之后对工作流程进行数学上的解释。之后有的部分摘自别人的博客,在段尾标注了文章转载处。


Part 1 : PCA的工作流程:

 1. 输入的数据为m个n维的样本组成的矩阵A,m*n

 2. 矩阵的每一列为样本的一个特征的各种取值,计算每一列的值的均值,用每一列的值减去其均值,得到特征中心化后的矩阵B=(X_i - u_i)

 3. 求矩阵B的协方差矩阵C=(X_i - u_i)*(X_i - u_i)T

 4. 求矩阵C的特征值及其特征向量,并按照特征值的大小将对应的特征向量从左至右排列,取前K个最大的特征值对应的特征向量组成矩阵P,(n*k)维

 5. Y= X*P 即为 PCA 降维以后的结果,此时的Y的维度为 m * k ,即特征的维度从n 将至 k,并保留了原本的大部分信息


Part2 : PCA的数学原理:文章转自:点击打开链接

在进行图像的特征提取的过程中,提取的特征维数太多经常会导致特征匹配时过于复杂,消耗系统资源,不得不采用特征降维的方法。所谓特征降维,即采用一个低纬度的特征来表示高纬度。特征降维一般有两类方法:特征选择特征抽取。特征选择即从高纬度的特征中选择其中的一个子集来作为新的特征;而特征抽取是指将高纬度的特征经过某个函数映射至低纬度作为新的特征。常用的特征抽取方法就是PCA。下面着重介绍PCA。

PCA原理



0 0
原创粉丝点击