PCANet学习

本文介绍了PCANet的深度学习模型,该模型基于PCA滤波器,适用于小数据量的图像分类。文章详细阐述了PCANet的三个阶段:第一阶段PCA滤波,第二阶段PCA滤波和输出阶段的散列与直方图。通过实验,作者使用Python实现并调整了PCA网络结构以适应RGB数据集的多分类任务。

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

通过阅读《PCANet: A Simple Deep Learning Baseline forImage Classification?》 学习PCANet。这篇论文提出了一种简单的计算轻便,小数据量也和友好的深度学习网络PCANet。由于需要,我对这个网络进行了深入的研究和实现。

一、PCANet介绍

假设有N个大小为m×n 输入图像作为训练集,记作Iii=1N ,并假设补丁大小(2D滤波器大小)在所有阶段都是k1×k2 ,通过输入图像学习获得PCA滤波器。PCANet模型如图所示:

1.1 第一阶段PCA

对于每个图像,在像素层进行k1×k2 的块采样.第i张图像的所有重叠块,即xi,1,xi,2,…,xi,mnRk1k2 ,其中,每个xi,j 表示Ii 的第j个块。然后从每个块中减去块均值,获得Xi=xi,1,xi,2,…,xi,mnxi,j 为每个块的均值。将所有输入图像构建相同的矩阵组合在一起,得到:

X=X1,X2,…,XNRk1k2×Nmn

假设第i层的滤波器数量为Li ,最小化重构误差:

minV∈Rk1k2×L1X-VVTXF2,s.t. VVT=IL1

其中,IL1 是大小为L1×L1 的单位矩阵。PCA滤波器表示为:

Wl1=matk1,k2qlXXTRk1k2, l=1,2,…, L1

其中,matk1,k2v 是将v∈Rk1k2 映射到矩阵W∈Rk1k2 的函数,qlXXT 表示 XXT 第l个主特征向量。这些主特征向量可以体现训练块的主要变化。

1.2 第二阶段PCA

几乎重复与第一阶段相同的过程。第一阶段的l个滤波器输出为:

Iil=</

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值