Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

知乎DeAlVe作者

漫谈概率 PCA 和变分自编码器

介绍

主成分分析(PCA)和自编码器(AutoEncoders, AE)是无监督学习中的两种代表性方法。 

PCA 的地位不必多说,只要是讲到降维的书,一定会把 PCA 放到最前面,它与 LDA 同为机器学习中最基础的线性降维算法,SVM/Logistic Regression、PCA/LDA 也是最常被拿来作比较的两组算法。 

自编码器虽然不像 PCA 那般在教科书上随处可见,但是在早期被拿来做深度网络的逐层预训练,其地位可见一斑。尽管在 ReLU、Dropout 等神器出现之后,人们不再使用 AutoEncoders 来预训练,但它延伸出的稀疏 AutoEncoders,降噪 AutoEncoders 等仍然被广泛用于表示学习。2017 年 Kaggle 比赛 Porto Seguro’s Safe Driver Prediction 的冠军就是使用了降噪 AutoEncoders 来做表示学习,最终以绝对优势击败了手工特征工程的选手们。 

PCA 和 AutoEncoders 都是非概率的方法,它们分别有一种对应的概率形式叫做概率 PCA (Probabilistic PCA) 和变分自编码器(Variational AE, VAE),本文的主要目的就是整理一下 PCA、概率 PCA、AutoEncoders、变分 AutoEncoders 这四者的关系。 

先放结论,后面就围绕这个表格展开:

降维的线性方法和非线性方法

降维分为线性降维和非线性降维,这是最普遍的分类方法。 

PCA 和 LDA 是最常见的线性降维方法,它们按照某种准则为数据找到一个最优投影方向 W 和截距 b,然后做变换得到降维后的数据集。因为是一个线性变换(严格来说叫仿射变换,因为有截距项),所以这两种方法叫做线性降维。 

非线性降维的两类代表方法是流形降维和 AutoEncoders,这两类方法也体现出了两种不同角度的“非线性”。流形方法的非线性体现在它认为数据分布在一个低维流形上,而流形本身就是非线性的,流形降维的代表方法是两篇 2000 年的 Science 论文提出的:多维放缩(multidimensional scaling, MDS)和局部线性嵌入(locally linear embedding, LLE)。不得不说实在太巧了,两种流形方法发表在同一年的 Science 上。

AutoEncoders 的非线性和神经网络的非线性是一回事,都是利用堆叠非线性激活函数来近似任意函数。事实上,AutoEncoders 就是一种神经网络,只不过它的输入和输出相同,真正有意义的地方不在于网络的输出,而是在于网络的权重

降维的生成式方法和非生成式方法

两类方法

降维还可以分为生成式方法(概率方法)接非生成式方法(非概率方法)。

教科书对 PCA 的推导一般是基于最小化重建误差或者最大化可分性的,或者说是通过提取数据集的结构信息来建模一个约束最优化问题来推导的。事实上,PCA 还有一种概率形式的推导,那就是概率 PCA,PRML 里面有对概率 PCA 的详细讲解,感兴趣的读者可以去阅读。需要注意的是,概率 PCA 不是 PCA 的变体,它就是 PCA 本身,概率 PCA 是从另一种角度来推导和理解 PCA,它把 PCA 纳入了生成式的框架。

是我们拿到的数据集,我们的目的是得到数据集中每个样本的低维表示,其中。 

降维的非生成式方法不需要概率知识,而是直接利用数据集的结构信息建模一个最优化问题,然后求解这个问题得到对应的。 

降维的生成式方法认为数据集是对一个随机变量 x 的 n 次采样,而随机变量 x 依赖于随机变量 z ,对 z 进行建模:

再对这个依赖关系进行建模:

有了这两个公式,我们就可以表达出随机变量 x 的分布:

随后我们利用数据集对分布的参数 θ 进行估计,就得到这几个分布。好了,设定了这么多,可是降维降在哪里了呢,为什么没有看到?

回想一下降维的定义:降维就是给定一个高维样本 xi ,给出对应的低维表示 zi ,这恰好就是 p(z|x) 的含义。所以我们只要应用 Bayes 定理求出这个概率即可:

这样我们就可以得到每个样本点 xi 上的 z 的分布 p(z|x=xi) ,可以选择这个分布的峰值点作为 zi,降维就完成了。 

Q:那么问题来了,生成式方法和非生成式方法哪个好呢? 

A:当然是非生成式方法好了,一两行就能设定完,君不见生成式方法你设定了一大段?

应该会有很多人这样想吧?事实也的确如此,上面这个回答在一定意义上是正确的。如果你只是为了对现有的数据进行降维,而没有其他需求,那么简单粗暴的非生成式方法当然是更好的选择。 

那么,在什么情况下,或者说什么需求下,生成式方法是更好的选择更好呢?答案就蕴含在“生成式”这个名称中:在需要生成新样本的情况下,生成式方法是更好的选择。

生成式方法的应用场景

相似图片生成就是一种最常见的应用场景,现在我们考虑生成 MNIST 风格的手写体数字。假设 xi 代表一张图片,是整个 MNIST 数据集,我们该怎样建模才能生成一张新图片呢? 

最容易想到的方法就是:对进行 KDE(核密度估计)得到 x 的分布 p(x),如果顺利的话 p(x) 应该是一个 10 峰分布,一个峰代表一个数字,从对应的峰中采样一个样本,它就代表了相应的数字。

是不是看起来很简单,然而 x 的维度太高(等于 MNIST 的分辨率, 28×28=784 ),每一维中包含的信息又十分有限,直接对进行 KDE 完全没有可行性,所以更好的方法是先对数据集进行降维得到,然后再对进行 KDE,再从 p(z) 中采样并通过逆变换得到

这样做当然也是可以的,但是依然存在严重的问题。上面的方法相当于把新样本生成拆分成了降维、KDE 和采样这三个步骤。降维这一步骤可以使用 PCA 或者 AutoEncoders 等方法,这一步不会有什么问题。

存在严重问题的步骤是 KDE 和采样。回想一下 KDE 其实是一种懒惰学习方法,每来一个样本 x ,它就会计算一下这个样本和数据集中每一个样本 xi 的核距离,然后估计出这一点的密度。

这就意味着我们需要把 z 所属的空间划分成网格,估计每个网格点上的密度,才能近似得到 p(z) ,计算复杂度是 O(n*grid_scale),而 grid_scale 关于 z 的维数是指数级的,这个计算复杂度是十分恐怖的。即使得到了近似的 p(z) ,从这样一个没有解析形式的分布中采样也是很困难的,依然只能求助于网格点近似。因此,KDE 和采样这两步无论是计算效率还是计算精度都十分堪忧。

这时候就要求助于生成式方法了。注意到生成式方法中建模了 pθ(z) 和 pθ(x|z),一旦求出了参数 θ,我们就得到了变量 z 的解析形式的分布。只要从 pθ(z) 中采样出一个,再取的峰值作为我们的,新样本生成就完成了。 

在需要生成新样本时,非生成式方法需要对 z 的概率分布进行代价巨大的数值逼近,然后才能从分布中采样;生成式方法本身就对 z 的概率分布进行了建模,因此可以直接从分布中进行采样。所以,在需要生成新样本时,生成式方法是更好的选择,甚至是必然的选择。

概率PCA和变分AutoEncoders

下面简单整理一下这四种降维方法。注意一些术语,编码=降维,解码=重建,原数据=观测变量,降维后的数据=隐变量。

PCA

原数据:

编码后的数据:

解码后的数据:

重建误差:

最小化重建误差,就可以得到 W 和 b 的最优解和解析解,PCA 的求解就完成了。

补充说明: 

PCA 中的 p=2 ,即最小化二范数意义下的重建误差,如果 p=1 的话我们就得到了鲁棒 PCA (Robust PCA)。而最小化误差的二范数等价于对高斯噪声的 MLE,最小化误差的一范数等价于对拉普拉斯噪声的 MLE。

因此,PCA 其实是在假设存在高斯噪声的条件下对数据集进行重建,这个高斯误差就是我们将要在下面概率 PCA 一节中提到的 ϵ。你看,即使不是概率 PCA,其中也隐含着概率的思想。 

编码和解码用到的 W 和 b 是一样的,即编码过程和解码过程是对称的,这一点与下面要讲的 AutoEncoders 是不同的。 

求解上述最优化问题可以得到,这恰好是样本均值的相反数。也就是说,PCA 中截距项的含义是让每个样本都减去样本均值,这正是“样本中心化”的含义。

既然我们已经知道求出来的截距就是样本均值,所以干脆一开始就对样本进行中心化,这样在使用 PCA 的时候就可以忽略截距项 b 而直接使用,变量就只剩下 W 了。教科书上讲解 PCA 时一般都是上来就说“使用 PCA 之前需要进行样本中心化”,但是没有人告诉我们为什么要这样做,现在大家应该明白为什么要进行中心化了吧。

AutoEncoders 

原数据:

编码后的数据:

解码后的数据:

重建误差:

最小化重建误差,利用反向传播算法可以得到的局部最优解&数值解,AutoEncoders 的求解完成。 

补充说明: 这里可以使用任意范数,每一个范数都代表我们对数据的一种不同的假设。为了和 PCA 对应,我们也取 p=2。 

σ(·) 是非线性激活函数。AutoEncoder 一般都会堆叠多层,方便起见我们只写了一层。 

W 和完全不是一个东西,这是因为经过非线性变换之后我们已经无法将样本再用原来的基 W 进行表示了,必须要重新训练解码的基 。甚至,AutoEncoders 的编码器和解码器堆叠的层数都可以不同,例如可以用 4 层来编码,用 3 层来解码。

概率PCA

隐变量边缘分布:

观测变量条件分布:

确定函数:

x 的生成过程:

因为 p(z) 和 pθ(x|z) 都是高斯分布,且 pθ(x|z) 的均值 f(z;θ) = Wz+μ 是 z 的线性函数,所以这是一个线性高斯模型。线性高斯模型有一个非常重要的性质: pθ(x) 和 pθ(z|x) 也都是高斯分布。千万不要小瞧这个性质,这个性质保证了我们能够使用极大似然估计或者EM算法来求解PCA。

如果没有这个性质的话,我们就只能借助变分法(变分 AE 采用的)或者对抗训练(GAN 采用的)来近似 pθ(x) 和 pθ(z|x)$ 了。有了这个优秀的性质之后,我们至少有三种方法可以求解概率 PCA:

是一个形式已知,仅参数未知的高斯分布,因此可以用极大似然估计来求解 θ。

也是一个形式已知,仅参数未知的高斯分布,因此可以用 EM 算法来求解 θ,顺便还能得到隐变量 zi 。 

如果你足够无聊,甚至也可以引入一个变分分布 qΦ(z|x) 来求解概率 PCA,不过似乎没什么意义,也算是一种方法吧。 

一旦求出了 θ,我们就得到了所有的四个概率:

有了这四个概率,我们就可以做这些事情了: 

1. 降维给定样本 xi ,就得到了分布 pθ(z|x=xi) ,取这个分布的峰值点 zi 就是降维后的数据; 

2. 重建:给定降维后的样本 zi ,就得到了分布 pθ(x|z=zi),取这个分布的峰值点 xi 就是重建后的数据;

3. 生成:从分布 p(z) 中采样一个,就得到了分布,取这个分布的峰值点就是新生成的数据; 

4. 密度估计:给定样本 xi ,就得到了这一点的概率密度 pθ(x=xi) 。 

PCA 只能做到 1 和 2,对 3 和 4无力,这一点我们已经分析过了。

Q:为什么隐变量要取单位高斯分布(标准正态分布)? 

A:这是两个问题。 

subQ1:为什么要取高斯分布 

subA1:为了求解方便,如果不取高斯分布,那么 pθ(x) 有很大的可能没有解析解,这会给求解带来很大的麻烦。还有一个原因,回想生成新样本的过程,要首先从 p(z) 中采样一个高斯分布采样简单。 

subQ2:为什么是零均值单位方差的? 

subA2:完全可以取任意均值和方差,但是我们要将 p(z) 和 pθ(x|z) 相乘,均值和方差部分可以挪到 f(z;θ) 中,所以 p(z) 的均值和方差取多少都无所谓,方便起见就取单位均值方差了。

Q:pθ(x|z) 为什么选择了高斯分布呢? 

A:因为简单,和上一个问题的一样。还有一个直觉的解释是 pθ(x|z) 认为 x 是由 f(z:θ) 和噪声 ϵ 加和而成的,如果 ϵ 是高斯分布的话,恰好和 PCA 的二范数重建误差相对应,这也算是一个佐证吧。

Q:pθ(x|z) 的方差为什么选择了各向同性的而不是更一般的 ∑ 呢? 

A:方差可以选择一般的 ∑ ,但是参数一定会给求解带来困难,所导出的方法虽然也是线性降维,但它已经不是 PCA 了,而是另外的方法(我也不知道是什么方法)。方差也可以选择成一个的各向异性的对角阵 λ,这样只有 d 个参数,事实上这就是因子分析,另一种线性降维方法。只有当方差选择成各向同性的对角阵时,导出来的方法才叫主成分分析,这个地方 PRML 里有介绍。

变分AutoEncoders

隐变量边缘分布:

观测变量条件分布:

确定函数:

x 的生成过程:

因为 f(z;θ) 是 z 的非线性函数,所以这不再是一个线性高斯模型。观测变量的边缘分布:

没有解析形式。这就意味着我们无法直接使用极大似然估计来求解参数 θ。更加绝望的是,隐变量的后验分布:

也没有解析形式(这是当然,因为分母没有解析形式了)。这就意味着我们也无法通过 EM 算法来估计参数和求解隐变量。 

那么,建出来的模型该怎么求解呢?这就需要上变分推断(Variational Inference),又称变分贝叶斯(Variational Bayes)了。本文不打算细讲变分推断,仅仅讲一下大致的流程。

变分推断会引入一个变分分布 qΦ(z|x) 来近似没有解析形式的后验概率 pθ(z|x) 。在变分 AE 的原文中,作者使用了 SGD 来同时优化参数 θ 和 Φ。一旦求出了这两个参数就可以得到这些概率:

注意因为 pθ(x) 和 pθ(z|x) 没有解析形式,所以即使求出了 θ 我们也无法获得这两个概率。但是,正如上面说的, qΦ(z|x) 就是 pθ(z|x) 的近似,所以需要用pθ(z|x) 的地方都可以用 qΦ(z|x) 代替。

有了这三个概率,我们就可以做这些事情了: 

1. 降维给定样本 xi ,就得到了分布 qΦ(z|x=xi) ,取这个分布的峰值点 zi 就是降维后的数据; 

2. 重建:给定降维后的样本 zi ,就得到了分布 pθ(x|z=zi),取这个分布的峰值点 xi 就是重建后的数据;

3. 生成:从分布 p(z) 中采样一个,就得到了分布,取这个分布的峰值点就是新生成的数据。 

与概率 PCA 不同的是,这里无法解析地得到 pθ(xi) ,进行密度估计需要进行另外的设计,通过采样得到,计算代价还是比较大的,具体步骤变分 AE 的原文中有介绍。

 AutoEncoders 只能做到 1 和 2,对 3 无力。

对比 

1. 从 PCA 和 AutoEncoders 这两节可以看出,PCA 实际上就是线性 Autoencoders。两者无论是编码解码形式还是重建误差形式都完全一致,只有是否线性的区别。线性与否给优化求解带来了不同性质:PCA 可以直接得到最优的解析解,而 AutoEncoders 只能通过反向传播得到局部最优的数值解。 

2. 从概率 PCA 和变分 AutoEncoders 这两节可以看出,概率 PCA 和变分 AutoEncoders 的唯一区别就是 f(z;θ) 是否是 z 的线性函数,但是这个区别给优化求解带来了巨大的影响。在概率 PCA 中,f(z;θ) 是线性的,所以我们得到了一个线性高斯模型,线性高斯模型的优秀性质是牵扯到的 4 个概率都是高斯分布,所以我们可以直接给出边缘分布和编码分布的解析形式,极大似然估计和 EM 算法都可以使用,一切处理都非常方便。

在变分AutoEncoders中,f(z;θ) 是非线性的,所以边缘分布不再有解析形式,极大似然估计无法使用;编码分布也不再有解析形式,EM 算法无法使用,我们只能求助于变分推断,得到编码分布的近似 qΦ(z|x) ,再利用别的技巧得到边缘分布 pθ(x) 的估计。 

3. 从 PCA 和概率 PCA 两小节可以看出,PCA 和概率 PCA 中 x 都是 z 的线性函数,只不过概率 PCA 显式地把高斯噪声 ϵ 写在了表达式中;PCA 没有显式写出噪声,而是把高斯噪声隐含在了二范数重建误差中。 

4. 从 AutoEncoders 和变分 AutoEncoders 这两节可以看出,AE 和 VAE 的最重要的区别在于 VAE 迫使隐变量 z 满足高斯分布 p(z)=N(z|0,I) ,而 AE 对 z 的分布没有做任何假设。

这个区别使得在生成新样本时,AE 需要先数值拟合 p(z) ,才能生成符合数据集分布的隐变量,而 VAE 直接从 N(z|0,I) 中采样一个 z ,它天然就符合数据集分布。事实上,这是因为在使用变分推断进行优化时,VAE 迫使 z 的分布向 N(z|0,I) 靠近,不过本文中没有讲优化细节,VAE 的原文中有详细的解释。 

5. PCA 求解简单,但是都是线性降维,提取信息的能力有限;非线性的 AE 提取信息的能力强,但是求解复杂。要根据不同的场景选择不同的降维算法。 

6. 要生成新样本时,不能选择 PCA 或 AE,而是要选择概率 PCA 或 VAE。

总结

本文将降维按照是否线性、是否生成式划分,将 PCA、概率 PCA、AutoEncoders 和变分 AutoEncoders 纳入了这个划分框架中,并分析了四种算法的内在联系。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

入门PCAAutoEncoders
4
相关数据
自动编码器技术

自动编码器是用于无监督学习高效编码的人工神经网络。 自动编码器的目的是学习一组数据的表示(编码),通常用于降维。 最近,自动编码器已经越来越广泛地用于生成模型的训练。

范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

变分自编码器技术

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

变分推断技术

see Variational Bayesian methods (approximation)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

过采样/欠采样技术

在信号处理中,过采样(英语:Oversampling)是指以远远高于信号带宽两倍或其最高频率对其进行采样的过程。

后验概率技术

在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。同样,后验概率分布是一个未知量(视为随机变量)基于试验和调查后得到的概率分布。“后验”在本文中代表考虑了被测试事件的相关证据。

运筹优化技术

最优化问题(英语:Optimization problem)在数学与计算机科学领域中,是从所有可行解中寻找最优良的解的问题。根据变数是连续的或离散的,最佳化问题可分为两类:连续最佳化问题与组合优化。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

反向传播算法技术

反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法计算对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。 在神经网络上执行梯度下降法的主要算法。该算法会先按前向传播方式计算(并缓存)每个节点的输出值,然后再按反向传播遍历图的方式计算损失函数值相对于每个参数的偏导数。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

降维技术

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

主成分分析技术

在多元统计分析中,主成分分析(Principal components analysis,PCA)是一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。由于主成分分析依赖所给数据,所以数据的准确性对分析结果影响很大。

因子分析技术

因子分析在统计学中是一种常用的降维方法,目的在于用更少的、未观测到的变量(factor)描述观测到的、相关的变量。更准确的来说,因子分析假设在观测到的变量间存在某种相关关系,从观测变量的矩阵内部相关关系出发找到潜变量(latent variables)从而使得潜变量和观测变量之间的关系成立

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

暂无评论
暂无评论~