版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhq9695/article/details/86556223
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~
花书+吴恩达深度学习(二一)线性因子模型(概率PCA,ICA,SFA,稀疏编码)
花书+吴恩达深度学习(二二)自编码器(欠完备,DAE,CAE,PSD)
0. 前言
线性因子模型是最简单的生成模型和学习数据表示的最简单模型。
线性因子模型通过随机线性解码器函数来定义,对
h线性变换及添加噪声来生成
x。
h∼p(h)x=Wh+b+noise
在不同的线性因子模型中,都是选择了不同形式的噪声和不同潜变量的先验生成
x的。
线性分类器或线性回归模型可以扩展到深度前馈网络,线性因子模型也可以扩展到自编码器网络和深度概率模型
1. 概率PCA和因子分析
在因子分析中,潜变量的先验是一个方差为单位矩阵的高斯分布:
h∼N(h;0,I)x∼N(x;b,WWT+ψ)ψ=diag(σ2)=diag([σ12,...,σn2]T)
在概率PCA中,将条件方差
σi2等于同一个值:
x∼N(x;b,WWT+σ2I)x=Wh+b+σzz∼N(z;0,I)
当
σ→0时,概率PCA退化为PCA。
2. 独立成分分析 ICA
独立成分分析(independent component analysis)是一种建模线性因子的方法。
旨在将信号分析成许多潜在的信号,这些潜在信号可以通过缩放和叠加恢复成观察到的数据。
潜变量的先验
p(h)需要由用户给出,模型确定的生成
x=Wh,通过非线性变化确定
p(x)。
ICA的许多变种不是生成模型,生成模型可以直接表示
p(x),而ICA的许多变种仅知道如何在
x和
h之间变换,而不能表示
p(h)和
p(x),所以ICA多用于分离信号。
3. 慢特征分析 SFA
慢特征分析(slow feature analysis)使用来自时间信号的信息学习不变的特征。
基于慢性原则:与场景中起描述作用的单个量度相比,场景的重要特征通常变化的非常缓慢。
所以,我们将模型正则化,希望能学习到随时间变化较为缓慢的特征。
对代价函数添加以下正则化项:
λt∑L(f(x(t+1)),f(x(t)))
其中,
t表示时间序列的索引,
f是需要正则化的特征提取器,
L是度量距离的损失函数,例如均方误差。
SFA算法将
f(x;θ)定义为线性变换,对下式优化:
minθ Et(f(x(t+1))i−f(x(t))i)2
并满足约束:
Etf(x(t))i=0Et[f(x(t))i2]=1
SFA的主要优点是,即使在深度非线性条件下,依然能够在理论上预测学习到哪些特征。
4. 稀疏编码
稀疏编码模型通常假设线性因子有一个各向同精度为
β的高斯噪声:
p(x∣h)=N(x;Wh+b,β1I)
p(h)通常选取一个峰值很尖锐且接近0的分布,例如Laplace分布:
p(hi)=Laplace(hi;0,λ2)=4λe−21λ∣hi∣
使用最大似然的方法来训练稀疏编码模型是不可行的。相反,为了在给定编码的情况下更好的重构数据,训练过程在编码数据和训练解码器之间交替进行。
我们寻找单个最可能的编码值:
h∗=f(x)=argmaxh p(h∣x)=argmaxh logp(h∣x)=argminh λ∥h∥1+β∥x−Wh∥22
对于绝大多数形式,推断问题是凸的,优化过程总能找到最优编码。
非参数编码器的主要缺点是,给定
x的情况下需要大量的时间来计算
h。
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~