(4)数据预处理

对于数据较好的处理,可以减轻模型负担,搞一个好的数据预处理比搞一个好的学习算法要容易很多吧。

(1)中心化

    每个特征维度都减去相应的均值实现中心化,这样可以使数据变为0均值,对于一些图像数据,一般为了方便直接减去一个相同的值。

(2)标准化

    数据变为0均值后,需要使用标准化的做法使数据在不同维度服从相同分布。一般有两种办法:

        除以标准差,让新数据的分布接近标准高斯分布;

        让每一特征维度的最大值和最小值按比例缩放到-1~1之间。也叫归一化。

    数据归一化有很大优势:不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响(加快梯度下降法中对收敛速度),需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。这是数据挖掘中一项基础的工作。


是否归一化对学习效率的影响

(3)主成分分析PCA

    主成分分析是一种常见的降维方法,可以通过减小数据规模来使得学习过程变得更加容易。

    其主要思想是将数据映射到一条线上去,使得投影后样本点的方差最大化。


    如图,第一个主成分来自方差最大的方向,第二个主成分来自方差次大的方向,且与第一个主成分方向正交。

    其计算过程为:

        去除均值;

        计算协方差矩阵;

        计算协方差矩阵的特征值和特征向量;(特征值表示一个特征有多重要,特征向量表示表示特征是什么。Ax= m X;)

        将特征值从大到小排序;

        保留最前面的N个特征向量;

        将数据转换到上述N个特征向量构建的新空间中。

(4)SVD

    SVD通过对原始数据的逼近来降维。常用来进行推荐(计算任何计算项的相似度)和提取主题。其公式为Data_{m*x} = U_{m*n}  * \Sigma _{m*n} *V^T _{n*n} ;这个分解会得到一个对角矩阵\Sigma ,这些对角元素从大到小排列,称为奇异值。实际上,这里的奇异值和PCA中的特征值是有关系的,奇异值是Data*Data特征值的平方根。不同的是特征值分解对应的是方阵,而奇异值分解可以对应合作矩阵。


SVD数据分解

        在实际应用中,一般对奇异值求平方和,使其可以达到总量的90%为止,或者对于上万特征,取奇异值排名前2000-3000的特征,这需要对数据有充分的了解。

(5)白噪声

    白噪声和PCA一样,也是将数据投影到另一个空间,然后每个维度处于特征值来标准化这些数据,直观上就是一个多元高斯分布转化到了一个0均值,协方差矩阵为1的多元高斯分布。但是白噪声会增强数据中的噪声,因为他增强了数据的所有维度。一般在卷积神经网络中,白噪声和PCA都用的不多。

(6)缺失值的处理

    对于缺失值的处理可以考虑填均值、众数、类似样本的值,忽略该样本、标记为特殊值等。

    分别考虑连续数据还是离散数据是不同的。比如风霜雨雪之类的还是每天的气温。是否正太分布等。

    对于离散数据一般考虑众数或者中位数;对于连续数据,需要曲线拟合。

    随机森林缺失值处理,数值型一般用中位数、枚举型用众数,非高斯分布情况下,比较相似度

    XGBOOST缺失值处理:将缺失内容看作稀疏矩阵,并不单独处理,而是看分在右子树或者左子树,看那一边效果好就分那一边。

(7)非平衡数据集的处理

    调节多个分类器的阈值或者损失函数的权重,(代价敏感的学习),增加小类别的权重。

    过采样或者欠采样

(8)数据扩增

    在卷积神经网络 中,需要通过data arguement 来实现数据扩增,常用的数据增强的方法有 水平翻转、随机裁剪、平移变换、颜色、光照、对比度变换。

(9)数据数字化编码

    对于非数值型特征,其预处理方法主要有:序号编码、热独编码、二进制编码。

    像决策树、随机森林、朴素贝叶斯可以直接处理非数值特征。

(10)LDA

      LDA也可以看作一个降维技术。其被映射的直线的W称为降维矩阵(考虑了类别分布的)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容