精华内容
下载资源
问答
  • 数据降维的理解

    千次阅读 2020-04-06 18:21:28
  • 在实际问题中,我们常常会遇到采集到的数据特征数量过多的情况,甚至有时会出现训练集容量比特征数量还少的极端情况(在图片处理领域尤其常见),然而事实上,并不是采集到的每一个特征都对模型有训练意义。...

    维度灾难

    在实际问题中,我们常常会遇到采集到的数据特征数量过多的情况,甚至有时会出现训练集容量比特征数量还少的极端情况(在图片处理领域尤其常见),然而事实上,并不是采集到的每一个特征都对模型有训练意义。
    维度的增加会导致相当棘手的情况出现,这通常会带来训练数据在高维空间的稀疏性质,为了获得在统计学上正确并且有可靠的结果,用来支撑这一结果所需要的数据量通常随着维数的提高而呈指数级增长。
    此外,维度的增加会使模型训练的时间增加到无法忍耐的程度。
    对于这样的问题,对数据进行降维将是很重要的一个手段。

    主成分分析法

    有时候,我们会发现描述某些数据并不需要过多的特征。换句话说,使用为数不多的几个特殊特征就能将某个点确定下来。
    在所有的特征中,有些特征是强力的,它体现在似乎其他特征都或多或少依赖于这个特征。而有些特征是很弱的,体现在该特征似乎对每一个样本都没有什么区分度,这意味着大量数据集中在一簇或几个簇。
    举一个例子,对于一个合法公民来说,身份证号是一个“强”的特征,因为它区分度足够强,能够将数据分散成不同的簇。而身高是一个“没那么强”的特征,因为大量样本会在某个范围内聚簇。
    同时我们注意到,如果我们有了几个足够强的特征,也许我们不需要那么多弱特征来对数据进行区分或者识别了。
    主成分分析法(Principal components analysis,以下简称PCA)是一个来给数据进行降维相当常用的手段。

    算法流程

    输入:样本集 X = X n ( m ) X=X^{(m)}_n X=Xn(m)规模 ( m × n ) (m\times n) (m×n),需要将数据从 n n n维降到 d d d维。

    输出:降维后的样本集 X ′ X^{'} X

    1. 对所有的样本中心化(使其无偏): X j = X j − 1 m ∑ i = 1 m X j ( i ) X_j=X_j−\frac{1}{m}\sum_{i=1}^m{X^{(i)}_j} Xj=Xjm1i=1mXj(i)
    2. 计算样本的协方差矩阵 C o v ( X ) Cov(X) Cov(X)
    3. 对矩阵 C o v ( X ) Cov(X) Cov(X)进行特征值分解得到 Q Λ Q − 1 Q\Lambda Q^{-1} QΛQ1
    4. 取出最大的 d d d个特征值对应的特征向量 ( Q ( 1 ) , Q ( 2 ) , . . . , Q ( d ) ) (Q^{(1)},Q^{(2)}, ... ,Q^{(d)}) (Q(1),Q(2),...,Q(d)), 组成新矩阵 W W W
    5. 降维后的样本集 X ′ = X W X^{'}=XW X=XW

    Python实现

    下面给出了一个由2维降到1维的数据实例

    import numpy as np
    from random import random
    
    
    def f(x):
        return [i + random() for i in x]
    
    
    data = np.array(np.arange(0, 10, 0.5))
    data = np.c_[data, f(data)]
    
    # 数据中心化
    for i in range(data.shape[1]):
        data[:, i] -= (sum(data[:, i]) / len(data[:, i]))
    
    cov = np.cov(data, rowvar=False)
    print(f'协方差矩阵:\n{cov}')
    
    K, V, D = np.linalg.svd(cov)
    print(f'特征值:{V}')
    # 特征值对应的第一列特征向量
    W = K[:, :1]
    PCA_data = np.dot(data, W)
    
    print(f'原始数据是:\n{data}')
    print(f'降维后数据是:\n{PCA_data}')
    

    在这里插入图片描述
    可以看到,上面的数据只需要通过斜线方向的一个维度就能近似描述。因此我们上面做的就是找到一个新的坐标系,在那个坐标系中,数据的投影。
    我们将换了坐标系后的数据画出来:
    在这里插入图片描述
    可以看到,我们换了坐标系后,只需要x一个维度就可以大致的描述数据。事实上,我们上面算法中找到的矩阵 W W W,就是从一个坐标系到另一个坐标系的变换矩阵。

    算法证明

    现在让我们回到上面的图,思考:我们要找怎样的一个超平面,并把数据投影上去呢?
    由上面的图,我们很容易想到,要让数据投影在超平面上分布足够分散。否则数据聚成一簇,这绝不是一个好的投影。
    比如在上面的图中,我们的目标就是找到斜向右上的向量,因为数据在它上的投影足够分散。
    因此,我们给出“投影足够分散”的数学描述。

    我们需要找一个矩阵 W W W X W XW XW是数据在另一个坐标系中的投影,我们要让投影取得最大方差,并找到此时的 W W W。投影的方差是投影 X W XW XW的协方差矩阵中的对角线元素之和,也即协方差矩阵 W T X T X W W^TX^TXW WTXTXW的迹。

    目标: max t r ( W T X T X W ) tr(W^TX^TXW) tr(WTXTXW)
    使得: W T W = I W^TW=I WTW=I

    这是一个标准的约束下极值问题,因此我们可用拉格朗日乘数法来解决。
    拉格朗日函数为:
    L = t r ( W T X T X W ) + λ ( W T W − I ) L=tr(W^TX^TXW)+\lambda (W^TW-I) L=tr(WTXTXW)+λ(WTWI)
    现在问题变成了求上面拉格朗日函数的最大值
    对参数 W W W求偏导并使其等0得到:
    X T X W + λ W = 0 X^TXW+\lambda W=0 XTXW+λW=0
    其中,在 X X X中心化之后
    C o v ( X ) = E ( ( X − X ˉ ) T ( X − X ˉ ) ) = X T X Cov(X)=E((X-\bar X)^T(X-\bar X))=X^TX Cov(X)=E((XXˉ)T(XXˉ))=XTX
    c = − λ c=-\lambda c=λ,有:
    C o v ( X ) W = c W Cov(X)W=cW Cov(X)W=cW
    因此 W W W C o v ( X ) Cov(X) Cov(X)的特征向量, c = − λ c=-\lambda c=λ是特征值。
    此时,我们就找到了换坐标系所乘的矩阵 W W W,它是 C o v ( X ) Cov(X) Cov(X)的特征向量。
    特征值标志着该特征向量的重要性,因此,我们可以取出重要的几个特征(特征值最大的几个新特征)来构成新的特征矩阵。
    至此,我们已经完成了降维工作。

    总结

    主成分分析(PCA)是一种统计分析、简化数据集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值。
    作为一个非监督学习的降维方法,它只需要特征值分解,就可以对数据进行压缩,去噪。因此在实际场景应用很广泛。
    降维在很大程度上,会使我们的模型更易训练,但同时应当说明的是,由高维到低维的降维变换导致的信息损失是不可逆的。也就是说,这部分数据信息量受到了损失,信息熵也会变化。
    因此,在使用PCA方法进行降维时,应当将信息量与维度的矛盾统一看待,并从中找到一个平衡。
    在这里插入图片描述

    展开全文
  • 数据降维不是正则化,虽然都是解决过拟合的方式 ※数据降维的核心:特征值分解 知识补充:数据可以从大数据厂商购置或爬虫获取 ​ fit在用升维,降维,训练等处理进行拟合是必要操作(这样才能得到实质的处理完...

    数据降维不是正则化,虽然都是解决过拟合的方式

    ※数据降维的核心:特征值分解

    知识补充:数据可以从大数据厂商购置或爬虫获取

    ​ fit在用升维,降维,训练等处理进行拟合是必要操作(这样才能得到实质的处理完的数据模型),transform是要把数据(新旧都可以,原来fit拟合的数据放进去就相当于提取出来,然后就可以观察了)放回到fit处理得到的模型里进行匹配转化来提取数据

    数据信息处理:

    ​ 缺失值填充的方式(缺失值表示NAN,表示不是一个数的意思,如果拟合的时候其中一次计算代入NAN,那么所得的预测值也不是一个数了):

    一、缺失值处理

    1、直接删除有缺失的样本(虽然简单,但浪费资源)

    2、用平均值、中值、分位数、众数、随机值等替代(也简单,但是给机器学习制造了噪声值,产生偏差)

    ​ 特定情况可以使用这个方法,如果有些数占大多数的时候可以用众数,如果分布的方差比较小的时候就可以用平均值来填充,···············

    ​ class sklearn.preprocessing. Imputer (missing_values=‘NaN’, strategy=‘mean’,axis=0,verbose=0,copy=True)

    ​ preprocessing预处理库,missing_values缺失值的表达方式(这里默认是NAN),strategy处理模型的策略(这里默认是均值来处理),axis和numpy的axis一样(0columns表示以列的数据拿来处理(一般情况下数据的特征都是以列集成的),1rows表示以行的数据拿来处理)

    ​ strategy还有median中位数处理(取到中间有两个数的时候会选最大数值的),most_frequent众数处理······

    3、用其他变量做预测模型来算出缺失变量(当其他变量和缺失变量无关的时候,预测结果无意义)

    ​ 比如在数据中存在x1+x2=y的规律,x1未知那么可以用x2和y推得,但是真实情况下没有这些规律就不能用

    4、最精确的做法,把变量映射到高维空间(通过升维来处理)

    ​ 把缺失值设置成未知项来处理

    二、二值化处理:

    ​ 对于定量的数据根据给定的阈值,将其进行转换,如果大于阈值,那么赋值为1;否则赋值为0

    ​ 线性模型数值多,权重值很难进行调整,模型表达复杂

    ​ 比如学生好坏问题,可以直接使用及格和不及格表示就可以了

    ​ 这类问题可以通过设置阈值,将线性数据按照阈值点进行分割,就可以处理

    ​ =<60分不及格(赋值为0) ,>60分及格(赋值为1)

    from sklearn.preprocessing import Binarizer
    a = np.array([
    [1, 1.5, 2.3],
    [0.6, 3, 2.2]])
    model = Binarizer(threshold=2)
    print(model.fit_transform(a))
    #<2赋值为1 ,>=2赋值为0
    

    为了保证能够更明确的表示特征的处理后的结果,二值化是把连续性问题调整为离散型特征

    为何要对数据进行降维:

    ​ 比如使用爬虫获得大量数据的时候,直接放进去分析是不行的,有些数据和分析的规律完全没关系或者关系很少的,那么要去掉就可以用到降维了,如果不降维那么要处理的参数就太多了处理太久了。

    ​ 更多的特征注定会增加研究准确性。但是在大多数情况下,许多特征之间存在关系,从而增加了模型的复杂性,对数据分析带来不便。如果对每个特征进行分析,信息会被孤立。而且减少特征信息,也很容易产生错误的结论。

    ​ 为了能够减少分析特征的同时,又尽量减少原指标的信息损失,对收集的数据进行全面的分析。由于各变量间存在一定的相关关系,因此有可能用较少的综合指标分别综合存在于各变量中的各类信息。主成分分析(PCA)与因子分析(SVD)就属于这类降维的方法。(对多数特征关系不大的降维,但又不让这一点关系所影响的处理方式)

    ​ 数据从原来的多个维度向更少的维度去拓展,以少的维度展开研究来挖掘数据之间更好的关系

    经常用到的降维方式:

    ​ 奇异值分解(SVD)对矩阵最好的分解形式,是以特征值分解基础进行了更新的处理操作

    ​ 主成分分析(PCA)设定最大方差可以显示数据特征

    ​ 低维嵌入 MDS算法:降维前后保证样本点的距离相等

    ​ 等度量映射—Isomap:高维空间的分布虽然极为复杂,但是在局部上,仍然具有欧式空间的性质

    ​ 线性判别分析——LDA:有监督学习的降维技术,投影后类内方差最小,类间方差最大

    向量内积:

    ​ 通过内积可以判断两个数据信息之间的相关性

    ​ a·b>0 方向基本相同,夹角在0°到90°之间,就说明数据是相关的

    ​ a·b=0 正交,相互垂直

    ​ a·b<0 方向基本相反,夹角在90°到180°之间,就说明数据是不相关的

    ​ 如果两个向量的点积为0,那么称这两个向量互为正交向量

    ​ 几何意义上,正交向量之间是垂直关系

    ​ 如果两个或多个向量,他们的点积均为0,那么它们之间称为正交向量

    特征值和特征向量:(利用特征值来表示矩阵,可以很好的降低运算的内存)

    ​ A-n阶矩阵,λ是一个数,α是n维非零列向量,若Aw = 入a(a≠0)

    ​ 则称λ是A的特征值,α是A的对应于特征值λ的特征向量

    ​ Aa = Aa(入E -A)a =0↔(E-A)x =0有非零解α

    ​ 由|入E - A|=0,得特征值入(这里不是绝对值,而是用行列式来等于0,主对角线元素乘积减去次对角线元素的乘积得到一个数值不用作为矩阵,这样就可以去掉x来求‘’入‘’了)

    ​ 由(入E 一A)x =0,得特征向量a(上式求出‘’入‘’后,就可以代入求a了)

    				这里求解过程,因为求出的解不止一个,所以用x来表达,里面由x1,x2,x3等构成的未知维度表示(x是矩阵A的特征值λ所对应的特征向量)
    

    ​ 为了让A矩阵可以直接用特征值和特征向量来表达的方式,用ε表示入,用w表示x,然后两边乘w的逆,就可以得到A=wεw﹣¹

    ​ 其中W是这n个特征向量所张成的n×n维矩阵,并对n个特征向量标准化,而Σ为这n个特征值为主对角线的n×n维矩阵。

    ​ 如果若A为实对称矩阵,则A=wεwт

    ​ W 左奇异矩阵

    ​ Σ 特征值矩阵,只在主对角线上存在数值,是特征值𝜆的降序
    ​ W𝑇 右奇异矩阵

    				#求特征值及特征向量
    				vals, vecs = np.linalg.eig(A)
    				print('特征值:', vals)
    				print('特征向量:', vecs)
    				#将特征值进行输出
    				Lambda = np.diag(vals)
    				print(Lambda)
    
    print(np.dot(np.dot(vecs, Lambda), vecs.T))
    print(np.dot(np.dot(vecs, Lambda), np.linalg.inv(vecs)))
    #运行可以得到wεwт和wεw﹣¹是完全一样的
    

    SVD分解:

    ​ 想要用(入E 一A)x =0来求解特征值和特征向量,因为E是个方阵,所以A也要为方阵才能代入求解。但是现实中非方阵更多。特征值分解可以利用到降维的处理中,提升使用效率,但是大多数矩阵都是非方阵形式,所以不可能进行特征值分解,SVD(奇异值)分解就应运而生了。可以解决非方阵使用特征值分解的方法,这种方法又被称作奇异值分解。

    ​ 奇异值分解只能对实对称矩阵进行,所以需要先将矩阵转变成实对称矩阵(无论是A的转置乘以A,还是A乘以A的转置都可以得到实对称矩阵)

    ​ 其中U是m阶正交矩阵,V是n阶正交矩阵,Σ是由降序排列的非负的对角元素组成的m×n矩形对角矩阵,这里如果用A转置乘以A就是以U为转置,用A乘以A的转置就是以V为转置。因为这里的矩阵相乘得到方阵是以左奇异值为主(左边的矩阵的行为多少阶就得到多少阶方阵)

    ​ UΣVT 称为矩阵A的奇异值分解,σi 称为矩阵A的奇异值,U的列向量称为左奇异向量,V的列向量称为右奇异向量,Σ主对角线存储着σi,所以是奇异值矩阵(Σ 在特征值分解中是特征值矩阵)

    ​ 标量相乘不分顺序,矩阵相乘必有顺序影响:比如AAT=UΣVTVΣUT=UΣΣTUT

    ​ 这里ΣΣT与ΣTΣ在矩阵的角度上来讲,它们是不相等的,因为它们的维数不同ΣΣT∈Rm×m,ΣTΣ∈Rn×n,但是它们在主对角线的奇异值是相等的。且奇异值的σ1>·······>σn,可见下标越小的数在越上层数值越大,保留原始数据的信息越多,所以要找一些奇异值较大的数据才能保留更多原始数据。

    ​ 奇异值分解是一种矩阵因子分解方法,是线性代数概念,但在统计学习中被广泛使用,成为其重要工具。
    ​ 应用:主成分分析、潜在语义分析

    ​ 矩阵的奇异值分解一定存在,但不唯一。奇异值分解可以看做矩阵数据压缩的一种方法。这里的压缩看作把奇异值矩阵的左上角那部分奇异值大的(保留的原始数据信息多的那部分)保留下来,然后切除(降维的一种方式),这样的结果没太大变化的(切除的都是保留原始数据非常少的部分)

    from PIL import Image
    A = Image.open('path')
    a = np.array(A) 
    print(a.shape)
    #得到(432, 600, 3),其中432为图片像素高度,600为图片像素宽度,3为三基颜色
    #然后得到三基色的奇异值矩阵以及左、右奇异值矩阵
    u_r, sigma_r, v_r = np.linalg.svd(a[:, :, 0])#红色通道图片
    u_g, sigma_g, v_g = np.linalg.svd(a[:, :, 1])#绿色通道图片
    u_b, sigma_b, v_b = np.linalg.svd(a[:, :, 2])#蓝色通道图片
    
    
     # 重构图像
     #图像的像素点数值显示范围是在0-255之间, 
        a[a < 0] = 0
        a[a > 255] = 255
        return np.rint(a).astype('uint8')#为了保证处理后的结果是一个整数
    
    plt.figure(facecolor='w', figsize=(10, 10))#底片白色,图片尺寸
    # 奇异值个数依次取:1,2,...,20效果都不一样
    I = np.stack((R, G, B), axis=2)#通道是第三个维度所以axis=2
    
    for k in range(1, K + 1):#1-20
        R = restore1(u_r, sigma_r, v_r, k)
        G = restore1(u_g, sigma_g, v_g, k)
        B = restore1(u_b, sigma_b, v_b, k)
        I = np.stack((R, G, B), axis=2)#通道是第三个维度所以axis=2
        # 将图片重构后的显示出来,每次循环恢复一定的信息量
    

    降维主要把没用的信息处理掉,保留一些重要的信息,达到节省资源的效果

    PAC分解(主成分分析):

    这里的样本点 xi 在直线w上的投影可以把矩阵的看成向量然后WT向量于xi向量相乘得到投影,其表示信息量的方差越大,则投影越长,信息量保留越多,可以去除的小信息量特征就多,减少更多不必要的资源消耗

    方差值越大越好,对应的主成分信息就越高。在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好

    通过纵轴和横轴两个特征降维到只有回归线上的点的投射位置当作一个特征,投影的位置点与点之间分得越开,信息量就越大。投影后样本越分散,保留的信息越多,将所有的样本点向直线w投影。

    PCA是一种无监督学习的降维技术,不需要用到标签来参与降维

    目标函数:让投影后样本的方差极大

    目的是让投影后的点的方差越大越好,但是每个方差的和都要进行特征减去均值的处理,这样就会很麻烦。所以样本就可以进行中心化,先把所有数据提前减去均值,这样得到的均值就是0了(和标准正态分布的处理一样)

    注:(A’A)^2=(A’A)(A’A)=(A’A)(AA‘)=A’AAA‘
    (AA’)^2=(AA’)(AA’)=(AA’)(A’A)=AA’A’A

    ​ 即(A转置乘A)的平方=(A乘A转置)乘(A转置乘A)

    扩展到所有样本,那么方差和就是实对称矩阵,只有主对角线才有数值。

    矩阵的迹就是方差和,对其最大化(矩阵的迹:主对角线上的和,这里的方差都是在主对角线上的)

    A =wΣwT和A=入E推导得到XXTW = 入W

    W就是XXT的特征向量组成的矩阵,而λ为XXT的若干特征值组成的矩阵,特征值在主对角线上,其余位置为0

    求解特征值的方法:特征值分解

    特征值是来描述对应特征向量方向上包含多少信息量的,值越大信息量(方差)越大。因此对特征值排序取前d’个特征值对应的特征向量构成W=(w1,w2,…,wd’)

    PCA的底层算法操作:

    1、去均值(中心化)

    2、求矩阵的协方差矩阵

    3、然后特征值分解

    from sklearn.decomposition import PCA
    p = PCA(n_components=1)
    a = p.fit_transform(X)
    
    展开全文
  • 数据降维 初步理解

    2019-08-28 12:39:01
    数据可以降维说明原始数据有重复的或无用的信息,降维后的数据保留大部分重要信息,从而可以代替原始数据输入。 2、降维方法 2.1、PCA主成分分析 对原始特征空间的重构 中心:将原本特征空间线性相关的变为线性无关...

    1、降维的概念

    降维的目标是用一组维度为d的向量表示维度为D的向量的有用信息(d < D),例如面对稀疏矩阵,为了防止维数太高导致计算量的爆炸增长,就可以采用降维的策略。数据可以降维说明原始数据有重复的或无用的信息,降维后的数据保留大部分重要信息,从而可以代替原始数据输入。

    2、降维方法

    2.1、PCA主成分分析

    对原始特征空间的重构
    中心:将原本特征空间线性相关的变为线性无关(正交)的。
    以下两种角度来实现对原始特征空间的重构

    • 最大投影方差
    • 最小重构距离

    z i = W ⊤ x i z_i =W^\top{x_i} zi=Wxi x x x维数为D, z z z维数为d, W W W D ∗ d D*d Dd

    中心化: x i − x ‾ x_i-\overline{x} xix平移,使向量均值为0
    单位向量 u i u_i ui看作是新的坐标轴方向,数据集的向量点映射到 u i u_i ui上,这个新的方向就叫主成分(第一主成分),后面的主成分也以一样的标准,要求是和前面的主成分垂直。最大投影方差即意味着向量最小的线性相关性
    在这里插入图片描述
    图源:视频

    括号内表示中心化后的向量在单位向量 u i u_i ui上的投影。
    S表示协方差矩阵, ∑ i = 1 N ( x i − x ‾ ) 2 N \frac{\sum_{i=1}^N{({x_i-\overline{x}})^2}}{N} Ni=1N(xix)2可以转化为协方差矩阵S
    J即表示投影方差。转化为J的优化问题,用拉格朗日方程求得 u i u_i ui就是向量的特征向量。

    如果一个矩阵有特征向量和特征值,那么它的每个维度都有一对特征向量和特征值。矩阵的主成分是由其协方差矩阵的特征向量,按照对应的特征值大小排序得到的。
    降至q维,就取特征值最大的q个特征向量。

    参考资料:
    PCA理解
    视频
    拉格朗日乘数
    协方差

    展开全文
  • 数据降维方法

    2019-12-03 22:46:48
    来源:博客园链接:https://www.cnblogs.com/guoyaohua/p/8855636.html引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间...
  • 数据降维的方法

    2019-08-13 20:30:42
    降维:一种能在减少数据集中特征数量的同时,避免丢失太多信息并保持/改进模型性能的方法。什么是降维?每天,我们都会生成大量数据,而事实上,现在世界上约90%的数据都是在过去3到4年中产生的,这是个令人难以置信...
  • 数据降维的应用:①降低数据的存储量;②加快机器学习的速度;③数据可视化 数据降维的本质: 方差 方差的公式 方差的意义:方差越小,代表这组数据越稳定,方差越大,代表这组数据越不稳定。 下面内容主要 ...
  • 前几个章节我们将了机器学习的基础知识以及数据预处理和特征选择,本章节我们将讲述数据降维,在次之前,首先我们要明白为什么要进行数据降维操作? 加快运算速度 有利于防止过拟合(但防止过拟合最好的方法却是...
  • 数据降维(data dimension reduction)

    千次阅读 2019-06-15 15:17:16
    在机器学习和统计学领域,降维是指在某些限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程。对数据进行降维一方面可以节省计算机的储存空间,另一方面...数据降维和特征选择是存在差异的,二者最终的...
  • 数据降维和参数降维的简单理解

    万次阅读 2017-03-22 10:46:45
    数据降维
  • 因此我们需要一个更好的方法能够帮助我们在高维数据中筛选出对我们有用的变量,减小计算复杂度提高模型训练效率和准确率,这就是我们要说的降维降维分析 在网络时代,每天都要产生巨大数量的数据,事实...
  • 数据降维及压缩

    2019-07-09 21:48:48
    数据降维 数据降维,也称维数约简(Dimensionality Reduction),即降低数据的维数,将原始高维特征空间中的点向一个低维空间投影,新的空间维度低于原始特征空间,所以维数减少了。在这个过程中,特征发生了根本性...
  • 数据降维方法小结

    2018-11-22 10:18:00
    数据的形式是多种多样的,维度也是各不相同的... 数据降维,直观地好处是维度降低了,便于计算和可视化,其更深层次的意义在于有效信息的提取综合及无用信息的摈弃。 数据降维的方法  主要的方法是线性映射和非...
  • 在学习ICA算法的过程中,了解到常常需要对数据进行降维,如PCA,FA等,以达到数据预处理的效果,因此查阅相关资料,在这里对数据降维的几种常见方法进行归纳、梳理。 数据降维就是降低数据的维度,达到增加样本密度...
  • 数据降维(一)基础篇

    2018-11-27 17:46:05
    文章目录降维简介降维方法维度选择维度抽取基础知识特征分解奇异值分解特征值或奇异值的物理意义奇异值向量的含义 降维简介 降维或嵌入式指将原始的高维数据映射到低维空间. 实质的想法:高度冗余的数据通常是可以被...
  • 数据降维方法汇总

    千次阅读 2017-09-14 22:47:16
    数据降维的应用:①降低数据的存储量;②加快机器学习的速度;③数据可视化 数据降维的本质: 方差 PCA(主成分分析) 简介:principal component analysis, 原理:对于一个未知的系统,我们假设它有n个参数。我们想...
  • 对于深度学习的数据来说,数据的维度往往远远大于四维,四维我们都想象不到,那么远超四维的数据我们就更加难以预料了,为了解决这个问题,我们可以使用机器学习中的数据降维技术,简单的来说就是将高维的数据降低到...
  • 文章目录数据降维1 维度灾难与降维2 主成分分析2.1 PCA原理2.2 PCA算法2.3 PCA算法实验 数据降维 数据降维又称维数约简,就是降低数据的维度。其方法有很多种,从不同角度入手可以有不同的分类,主要分类方法有:...
  • 数据预处理--数据降维

    千次阅读 2017-07-20 17:10:48
    机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的...
  • 数据降维和特征选择

    万次阅读 2016-11-26 11:50:37
    数据降维和特征选择 博主言:本文作为理论和概念整理,不做公式推导和详解计算过程,如需了解相关概念的计算公式和过程,在文后的参考链接中有详细的公式,计算过程和实例。
  • 使用Python进行数据降维|线性降维

    千次阅读 2020-03-15 11:41:43
    直观地好处是维度降低了,便于计算和可视化,其深层次的意义在于有效信息的提取综合及无用信息的摈弃,并且数据降维保留了原始数据的信息,我们就可以用降维的数据进行机器学习模型的训练和预测,但将有效提高训练和...
  • 维度指的就是样本的数量或者特征的数量。一般无特别说明,指的都是特征数量。降维算法中的降维,指的就是降低特征矩阵中特征的数量。
  • 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射...
  • 数据降维之因子分析

    千次阅读 2021-01-06 13:59:37
    是主成分分析的推广和发展,与主成分分析 一样,它也是一种”降维”的统计分析方法。是一种用来分析隐藏在表面现象背后的因子作用的一类统计模型。 因子分析是研究相关阵或协方差阵的内部依赖关系,它将多个变量...
  • 数据预处理中的降维,分类任务 目标: LDA关心的是能够最大化类间区分度的坐标轴成分 将特征空间(数据集中的多位样本)投影到一个维度更加小的Kw维子空间中,同时保持区分类别的信息 原理 投影到维度更低的空间,...
  • 特征选择和数据降维

    2021-03-27 16:13:15
    为什么要进行特征选择和数据降维? “特征选择是选择用于模型构建的相关特征的子集的过程”,或者换句话说,选择最重要的特征。 降维是指通过保留一些比较重要的特征,去除一些冗余的特征,减少数据特征的维度。但...
  • 数据降维的作用PCA与LDA

    千次阅读 2016-12-21 16:15:52
    1. 当你的特征数量p过多,甚至多过数据量N的时候,降维是必须的。 为什么是必须的?有个东西叫curse of dimensionality,维度越高,你的数据在每个特征维度上的分布就越稀疏,这对机器学习算法基本都是灾难性的。 ...
  • 原文地址:点击打开链接一、什么是PCA:摘用一下百度...二、PCA的用途及原理:用途:数据降维原理:线性映射(或线性变换),简单的来说就是将高维空间数据投影到低维空间上,那么在数据分析上,我们是将数据的主...
  • 【python】sklearn PCA对人脸数据降维与识别1. PCA1.1 PCA原理1.2 sklearn PCA使用方法2. 人脸数据降维2.1 读取图片2.2 使用PCA进行降维参考文献 1. PCA PCA(Principal Component Analysis),即主成分分析方法,是一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,114
精华内容 8,045
关键字:

数据降维的意义