PCA,ZCA,ICA,白化,稀疏编码和自编码器

本文简要介绍了PCA、PCA白化、ZCA白化、ICA独立成分分析以及自编码器和稀疏编码在特征提取中的应用。PCA通过求协方差矩阵的特征分解实现数据降维,白化则是进一步将协方差矩阵变为单位矩阵。ZCA白化结合了PCA和旋转操作。ICA则寻找线性无关、正交且稀疏的基来表示数据。自编码器和稀疏编码则通过神经网络结构实现非线性特征学习和降维,其中稀疏编码强调大部分系数为零的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为概率统计理论(随机信号分析?)的缺乏,只能从外观上简单地总结这几种和特征提取相关的算法。

自编码器 Autoencoder

自编码器就是一个全连接网络,就简单的三层,一个输入一个输出一个隐藏层。也可以把自编码器级联,形成多层的结构。自编码器的目的就是训练一个恒等映射,输入进去什么,就期望输出什么。简单的恒等映射没有意义,有意义的在于它的隐藏层神经元的个数往往和输入层不同。如果少于输入个数,这就相当于一个特征提取和重构的过程(降维);如果隐藏层个数大于输入层个数,此时如果还能再加上稀疏性约束,则就相当于稀疏编码。

如果是前者,Loss直接是输入和输出的的差,比如平方误差之类。

如果是后者,得加上稀疏性约束(稀疏性即提取出来的特征中,大量系数为零,非零系数尽量少)。为约束稀疏性,手段可以如下(来自UFLDL教程)。先定义隐藏层第jj单元的平均激活(在训练集上取平均)如下,其中 x ( i ) 是训练集第ii个样本,一共有 m 个样本。

ρj^=1mi=1m(a(2)j(x(i)))ρj^=1m∑i=1m(aj(2)(x(i)))

再引入一个接近于零的所谓的稀疏性参数 ρρ ,约束为 ρ^jρ^j 接近 ρρ 。从而此时Loss可以定义为
J(W,b)=J0(W,b)+βjs2KL(ρ|ρj^)J(W,b)=J0(W,b)+β∑js2KL(ρ|ρj^)
右边第一项代表重构误差,第二项代表稀疏惩罚。 KL()KL(⋅) 是相对熵, ρ^jρ^j ρρ 越远则这个惩罚项越大;参数 ββ 用于权衡。

稀疏编码 Sparse Coding

上面的自编码器,隐层单元数量大于输入层时,如果再有稀疏性的约束,则相当于稀疏编码。但是因为激活函数的非线性等等问题,总的来说,它不是线性的变换。而一般说的稀疏编码、稀疏表示,大多数都是线性变换。就线性变换而言,稀疏编码是在寻找超完备的一组基{ ϕi},i=1,2,,k{ ϕi},i=1,2,⋯,k,使得输入向量表示成基的线性组合(这里不要求基的正交性)。

x=iaiϕix=∑iaiϕi
这里
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值