预处理方法

数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果。当我们开始处理数据时,首先要做的事是观察数据并获知其特性。本部分将介绍一些通用的技术,在实际中应该针对具体数据选择合适的预处理技术。例如一种标准的预处理方法是对每一个数据点都减去它的均值(也被称为移除直流分量,局部均值消减,消减归一化),这一方法对诸如自然图像这类数据是有效的,但对非平稳的数据则不然。

数据归一化

简单缩放

在简单缩放中,我们的目的是通过对数据的每一个维度的值进行重新调节(这些维度可能是相互独立的),使得最终的数据向量落在 [0,1]或[?1,1] 的区间内(根据数据情况而定)。

逐样本均值消减

如果你的数据是平稳的(即数据每一个维度的统计都服从相同分布),那么你可以考虑在每个样本上减去数据的统计平均值(逐样本计算)。

特征标准化

特征标准化指的是(独立地)使得数据的每一个维度具有零均值和单位方差。这是归一化中最常见的方法并被广泛地使用(例如,在使用支持向量机(SVM)时,特征标准化常被建议用作预处理的一部分)。在实际应用中,特征标准化的具体做法是:首先计算每一个维度上数据的均值(使用全体数据计算),之后在每一个维度上都减去该均值。下一步便是在数据的每一维度上除以该维度上数据的标准差。

$$(x_1,y_1)\rightarrow(\frac{x_1-\mu_x}{\sigma_x},\frac{y_1-\mu_y}{\sigma_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)=\frac{\mathop{\sum}_{i=1}^n(X_i-\overline{X})(Y_i-\overline{Y})}{(n-1)}$$

协方差为正说明X与Y是正相关关系,为负是负相关关系,为0说明X与Y独立。

$Cov(X,X)$就是X的方差。

当样本为n维数据,他们的协方差实际上是协方差矩阵(对称方阵),方阵边长为$C_n^2$。

若$AX=\gamma X$,则称$\gamma$是A的特征值,X是对应的特征向量。实际上可以这样理解:矩阵A作用在它的特征向量X上,仅仅使得X的长度发生了变化,缩放比例就是相应的特征值$\gamma$。

当A是n阶可逆矩阵时,A与P-1Ap相似,相似矩阵具有相同的特征值。

特别地,当A是对称矩阵时,A的奇异值等于A的特征值,存在正交矩阵$Q(Q^{-1}=Q^T)$,使得

$$Q^TAQ=\begin{pmatrix}\gamma_1& & & \\ &\gamma_2& & \\ & &\ddots& \\ & & &\gamma_n\end{pmatrix}$$

对A进行奇异值分解就能求出所有特征值及Q矩阵。

$A*Q=Q*D$ 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。这些再以后的学习中再行探讨。

来自为知笔记(Wiz)

时间: 2024-11-06 06:45:00

预处理方法的相关文章

大数据处理之道(预处理方法)

一:为什么要预处理数据? (1)现实世界的数据是肮脏的(不完整,含噪声,不一致) (2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决策必须依赖于高质量的数据:数据仓库须要对高质量的数据进行一致地集成) (3)原始数据中存在的问题: 不一致 -- 数据内含出现不一致情况 反复 不完整 -- 感兴趣的属性没有 含噪声 -- 数据中存在着错误.或异常(偏离期望值)的数据 高维度 二:数据预处理的方法 (1)数据清洗 -- 去噪声和无关数据 (2)数据集成 -- 将多个数据源中的数据结合起来存放

图像处理过程中的一些预处理方法

逻辑思维对我来说总是瓶颈.看着别人在大量的出文章,而我自己还为一些琐事憋得愁眉不展,文章还是空空如也,心里真不是个滋味.索性在颓废中再振奋一次.认认真真的把Image Allignment好好的研究一番,争取在这里翻个身. Matlab中会用到一些对图像的预处理,最经典的要数度一个图像矩阵向量化(Vectorize).说得直白点儿就是把图像矩阵拉成一个长的列向量.我以前做这个工作,往往会用的reshape函数.但是这种函数化的处理方式不是MATLAB style的,昨天和师弟讨论image al

图像预处理

图像预处理的多个方法: http://blog.csdn.net/u014365862/article/details/51519154 图像预处理方法及实例(应用): http://wenku.baidu.com/link?url=gka7VzVifzcbzRNt1RaPVH_BGZNi5-dm7OlWvxgGBf-A_9m6ljz3xkR8f6oS1rDrLsH646A0f1SnkXXCFqo_L2CTrRCHLF7a65F_heyLOgy 图像归一化的定义和操作: http://blog.

数据预处理(数据的操作2)

2.常用数据预处理方法 这个部分总结的是在Python中常见的数据预处理方法. 2.1标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计算方式是将特征值减去均值,除以标准差. sklearn.preprocessing.scale(X) 一般会把train和test集放在一起做标准化,或者在train集上做标准化后,用同样的标准化去标准化test集,此时

数据采集及预处理

版权说明:内容来自互联网及书籍 一.数据采集方法 1.数据来源 一手数据:数据的直接来源. 二手数据:数据的间接来源.内部来源:比如财务报表,包括会计计算,成本资料等.外部来源:比如各类统计年鉴等,调查机构发布的数据等. 2. 抽样方法 1. 分类 按照样本抽取方式不同分为:有放回抽样,无放回抽样 2.非概率抽样 3. 概率抽样方法分类 概率抽样主要分为 简单随机抽样, 系统抽样, 分类抽样, 整群抽样, 多阶段抽样... 现实生活中绝大多数 抽样调查都采用概率抽样方法来抽取样本. 4.简单随机

数据预处理

转载自:http://2hwp.com/2016/02/03/data-preprocessing/ 常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计算方式是将特征值减去均值,除以标准差. 1 sklearn.preprocessing.scale(X) 一般会

数据挖掘笔记(三)—数据预处理

1.原始数据存在的几个问题:不一致:重复:含噪声:维度高. 2.数据预处理包含数据清洗.数据集成.数据变换和数据归约几种方法. 3.数据挖掘中使用的数据的原则 应该是从原始数据中选取合适的属性作为数据挖掘属性,这个选取过程应参考的原则是:尽可能赋予属性名和属性值明确的含义:统一多数据源的属性值编码:去除惟一属性:去除重复性:去除可忽略字段:合理选择关联字段. 4.处理空缺值的方法:忽略该记录:去掉属性:手工填写空缺值:使用默认值:使用属性平均值:使用同类样本平均值:预测最可能的值. 5.噪声数据

形态学边缘检测方法

边缘检测方面现状: 边缘检测是数字图像处理识别物体重要的预处理方法,Sobel,Robert,Prewitt,Log等等算子实现方便,处理很快,但是很容易被噪声影响.现实场景的应用噪声都是很多的,canny算子加入了平滑滤波器对这方面问题非常有效,平滑滤波器将会直接影响 Canny 算法的结果.较小的滤波器产生的模糊效果也较少,这样就可以检测较小.变化明显的细线.较大的滤波器产生的模糊效果也较多,将较大的一块图像区域涂成一个特定点的颜色值.Canny细节保留非常完整,但这个优点有时候却成为识别的

网易视频云技术之视频预处理技术

视频编码技术是网易视频云技术中重要的一环,这里提供大家学习,欢迎大家与网易视频云进行技术交流讨论. 一.    概述 视频编码包括分离.解码.编码.合成四部分,在分离与解码.合成部分可以认为是一种无损操作,而通常采用的编码如H264.MPEG-4等(无损压缩除外)是一种有损压缩. 为了提高视频编码后的质量,我们尝试在Encoder的数据输入之前增加一种预处理,用来弥补在编码过程中的亮度和色度的损失.从而提高视频的清晰度. 二.    预处理方法 通过改变视频的亮度.对比度.饱和度(色度)来进行锐