预处理--简洁明了的概括,PCA写的通俗易懂

数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果。当我们开始处理数据时,首先要做的事是观察数据并获知其特性。本部分将介绍一些通用的技术,在实际中应该针对具体数据选择合适的预处理技术。例如一种标准的预处理方法是对每一个数据点都减去它的均值(也被称为移除直流分量,局部均值消减,消减归一化),这一方法对诸如自然图像这类数据是有效的,但对非平稳的数据则不然。
数据归一化
简单缩放
在简单缩放中,我们的目的是通过对数据的每一个维度的值进行重新调节(这些维度可能是相互独立的),使得最终的数据向量落在 [0,1]或[−1,1] 的区间内(根据数据情况而定)。
逐样本均值消减
如果你的数据是平稳的(即数据每一个维度的统计都服从相同分布),那么你可以考虑在每个样本上减去数据的统计平均值(逐样本计算)。
特征标准化
特征标准化指的是(独立地)使得数据的每一个维度具有零均值和单位方差。这是归一化中最常见的方法并被广泛地使用(例如,在使用支持向量机(SVM)时,特征标准化常被建议用作预处理的一部分)。在实际应用中,特征标准化的具体做法是:首先计算每一个维度上数据的均值(使用全体数据计算),之后在每一个维度上都减去该均值。下一步便是在数据的每一维度上除以该维度上数据的标准差。
(x1,y1)(x1μxσx,y1μyσy)
降维
这里引用华夏35度百度经验,讲的很是通俗易懂。
必要性
  1. 多重共线性;自变量之间相互关联,具有较强的线性关系。多重共线性会导致解空间的不稳定,从而可能导致结果的不连贯;
  2. 高维空间本身具有稀疏性。一维正态分布有68%的值落于正负标准差之间,而在十维空间上只有0.02%;
  3. 过多的变量会妨碍查找规律的建立;
  4. 仅在变量层面上分析可能会忽略变量之间的潜在联系。例如几个预测变量可能落入仅反映数据某一方面特征的一个组内。
方法
主成分分析(PCA),因子分析,用户自定义复合,LDA等。
主成分分析PCA
PCA(Principal Component Analysis)的目标是发现特征之间的线性关系,检测并且尽量去除这种线性关系。当然,大部分时候,特征之间不存在非常明显的线性关系,只是具有强相关性。例如在二维空间中,x-y坐标分解为u1-u2坐标,其中u1轴反映了特征的主要变化,u2特征变化较小,我们可以把u2当作噪声而不去考虑它。PCA的主要任务就是发现u1和u2。
PCA不仅仅是对高维数据进行降维,更重要的是经过降维去除了噪声,发现了数据中的模式。
从方法上讲,PCA就是求解特征值及特征向量。最大的k个特征值对应的特征向量构成一组新的基,让原特征对新的基投影得到降维后的新特征。
物理意义,首先要理解矩阵可以看做一种空间变换。设矩阵M是n*m维的,若m=n,则变换后空间维数没变;m<n则进行进行了降维。具体变化的大小由特征值反应,若特征值很小,无论多大的数在这一维上投影都会变小很多,忽略不计。
预备知识
样本X与样本Y的协方差
Cov(X,Y)=ni=1(XiX¯¯¯)(YiY¯¯¯)(n1)
协方差为正说明X与Y是正相关关系,为负是负相关关系,为0说明X与Y独立。
Cov(X,X) 就是X的方差。
当样本为n维数据,他们的协方差实际上是协方差矩阵(对称方阵),方阵边长为 C2n
AX=γX ,则称 γ 是A的特征值,X是对应的特征向量。实际上可以这样理解:矩阵A作用在它的特征向量X上,仅仅使得X的长度发生了变化,缩放比例就是相应的特征值 γ
当A是n阶可逆矩阵时,A与P-1Ap相似,相似矩阵具有相同的特征值。
特别地,当A是对称矩阵时,A的奇异值等于A的特征值,存在正交矩阵 Q(Q1=QT) ,使得
QTAQ=γ1γ2γn
对A进行奇异值分解就能求出所有特征值及Q矩阵。
AQ=QD D是由特征值组成的对角阵,Q的列向量即为A的特征向量。
Jama包
Jama包是用于基本线性代数运算的java包,提供矩阵的cholesky分解、LUD分解、QR分解、奇异值分解,以及PCA中要用到的特征值分解,此外可以计算矩阵的乘除法、矩阵的范数和条件数、解线性方程组等。
PCA过程
  1. 特征标准化;
  2. 计算协方差矩阵C;
  3. 计算协方差矩阵C的特征值和特征向量;
  4. 选取新的特征的方式,也正好对应矩阵的几种物理意义:即旋转、舍弃及复原。
优缺点
PCA其实是最简单的降维方法之一了,很明显的劣势是它仅去除数据之间的线性相关性。对线性的改善往往通过kernel技术拓展到非线性的应用上。另外,PCA的这种降维不一定有助于分类,用于分类的降维方法之一就是LDA。从另一方面说,PCA是一种线性投影,保留了数据与数据之间的欧式距离,即原来欧式距离大的两点在降维后的空间中距离也应大(这样才好保证方差大)。而事实上数据有可能呈现某种流型结构,用PCA降维后数据将不能保持原有的流型结构。在这一方面常用的非线性降维方法是Locally linear embedding和Laplacian Eigenmaps。这些再以后的学习中再行探讨。
 

此文转载自 ethanCao同学的总结http://www.cnblogs.com/ethanCao/p/4023253.html


数据预处理数据分析中非常重要的一个环节,它可以让原始数据更加适合用于各种分析和建模任务。常见的数据预处理包括数据清洗、缺失值处理、异常值处理、特征选择、特征缩放和特征变换等。下面我们将介绍一些常见的数据预处理方法。 1. 数据清洗 数据清洗是指在数据中去除不合理、重复或者无效的数据,保证数据的完整性和准确性。常见的数据清洗方法包括: - 删除重复数据 - 去除异常值 - 去除不合理数据 - 填充缺失值 2. 缺失值处理 缺失值是指数据集中某些数据缺失的情况。常见的缺失值处理方法包括: - 删除缺失值 - 插值法填补缺失值 - 使用平均值、中位数、众数等统计量填补缺失值 3. 异常值处理 异常值是指数据集中不符合正常规律的数据。常见的异常值处理方法包括: - 删除异常值 - 修改异常值 - 使用插值法填补异常值 4. 特征选择 特征选择是指从原始数据中选择最具有代表性的特征,以便用于分析和建模。常见的特征选择方法包括: - 过滤式特征选择 - 包裹式特征选择 - 嵌入式特征选择 5. 特征缩放 特征缩放是指将不同量纲的特征缩放到相同的范围内。常见的特征缩放方法包括: - 标准化 - 归一化 - 对数变换 6. 特征变换 特征变换是指通过对原始数据进行某些变换,使得数据更适合用于分析和建模。常见的特征变换方法包括: - 主成分分析(PCA) - 线性判别分析(LDA) - 因子分析 以上就是一些常见的数据预处理方法,通过对数据进行适当的预处理,可以提高数据分析和建模的准确性和效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值