又到了无聊的写博客的时间了,因为电脑在跑程序。眼下无事可做。我认为把昨天我看的一些论文方面的知识拿出来和大家分享一下。

  美其名曰我是在研究”深度学习“。只是因为本人是穷屌丝一个,买不起GPU(当然明年我准备入手一块显卡来玩玩),因此这半年我找了个深度学习中的一个”廉价“的方向——PCANet。

  首先给出PCANet的原始文献《PCANet:A Simple Deep Learning Baseline for Image Classification》。这时在稀疏表示大牛Ma Yi的主页上看到的,当时眼前一亮。认为这个确实不错。这个分享一些相关资源:

  (1)原始文档以及源代码:PCANet的Homepage

  (2)C++版PCANet源代码:C++版PCANet

  (3)原始文档的中文翻译:PCANet中文版

  稍后我会将源代码具体解释总结为博客与大家分享。

  当然,在这篇文章中我并不打算在反复去解释PCANet相关的一些知识(网上已经有非常多类似的博客),写这篇博客的目的是由于昨天我看到了PCANet的前身:Deep PCA,相应文献的名称为:《Face Recognition Using Deep PCA》,这篇文章网上应该非常easy找到,当然也能够直接在以下留言或者发邮件,我看到之后会及时把论文发给大家。

  没错,当我看到Deep PCA时。第一印象就是”这是PCANet的老爸“。接下来我们具体的对照分析一下这两个方法。

  1、网络结构

  Deep PCA结构例如以下:

  PCANet结构例如以下:

  接下来简单分析一下两者的异同:

  (1)两者网络冊数同样。都是一个双层网络

  (2)所用分类器同样。两者在终于分类器的选择上都不约而同的选择了K近邻分类器(KNN),一个非常重要的原因是他们都通过单训练样本来进行的分类。

  (3)每层的滤波器个数不同。Deep PCA每层都仅仅有一个滤波器,PCANet第一层有八个滤波器。第二层也是八个滤波器(也就是PCA映射核。原文献中有明白说明)。

  (4)特征提取手段不同。Deep PCA将第一层和第二层的特征融合后作为提取到的特征。相当于进行了层间特征融合。而PCANet仅仅使用了第二层的输出特征作为提取到的深度特征。没有层间特征融合的思想。

  2、算法流程

  在算法设计方面Deep PCA要比PCANet简单很多,因此我们重点描写叙述PCANet的算法流程。然后在针对他们之间的差异进行讨论。PCANet的算法流程例如以下:

  具体的算法描写叙述參见PCANet中文版。这里概括的描写叙述一下关键算法流程。首先是第一层的PCA映射分解:

  然后是在第二层,以第一层的输出为输入,再次进行一次PCA映射分解:

  然后取第二层的映射输出,进行哈希编码:

  然后进行直方图编码。作为特征输出:

  以上是PCANet的算法流程。接下来我们介绍Deep PCA的算法流程:

  首先对训练样本进行ZCA白化:

  然后在第一层,进行一次PCA映射:

  然后在第二层。以第一层的结果为输出。再次进行一次PCA映射:

  然后将两次映射的结果融合成特征向量进行输出。特征提取完毕。

  分析一下两者在算法层面上的异同点:

  (1)预处理方面。Deep PCA首先对训练样本进行了ZCA白化。而PCANet则没有这一步处理过程。

  (2)Deep PCA用的是传统的一维PCA。而PCANet则是使用了2DPCA(这点很重要)。

  (3)Deep PCA直接将映射结果作为了特征。而PCANet则是将得到的特征先进行哈希编码,再直方图分块编码后,再进行的特征输出,这也造成了两者在输出特征的维数上产生了巨大差异,Deep PCA第一层和第二层分别为500维和150维,而PCANet的特征输出则高达几十万维。

  以上就是Deep PCA和PCANet的一些异同点。之前在读论文时感觉这个有点价值,就顺手写了出来。并且在写这篇博客时我貌似有点发烧。并且还恰好被老师批评了一通。因此语言表达可能不到位,可能有几个错别字,大家见谅。

漫谈Deep PCA与PCANet的更多相关文章

  1. 卷积神经网络的变种: PCANet

    前言:昨天和大家聊了聊卷积神经网络,今天给大家带来一篇论文:pca+cnn=pcanet.现在就让我带领大家来了解这篇文章吧. 论文:PCANet:A Simple Deep Learning Bas ...

  2. XNOR-Net:二值化卷积神经网络

    https://www.jianshu.com/p/f9b015cc4514 https://github.com/hpi-xnor/BMXNet  BMXNet:基于MXNet的开源二值神经网络实现 ...

  3. Deep Learning 5_深度学习UFLDL教程:PCA and Whitening_Exercise(斯坦福大学深度学习教程)

    前言 本文是基于Exercise:PCA and Whitening的练习. 理论知识见:UFLDL教程. 实验内容:从10张512*512自然图像中随机选取10000个12*12的图像块(patch ...

  4. Deep Learning 4_深度学习UFLDL教程:PCA in 2D_Exercise(斯坦福大学深度学习教程)

    前言 本节练习的主要内容:PCA,PCA Whitening以及ZCA Whitening在2D数据上的使用,2D的数据集是45个数据点,每个数据点是2维的.要注意区别比较二维数据与二维图像的不同,特 ...

  5. PCANet: A Simple Deep Learning Baseline for Image Classification?----中文翻译

    一 摘要 在本文中,我们提出了一个非常简单的图像分类深度学习框架,它主要依赖几个基本的数据处理方法:1)级联主成分分析(PCA);2)二值化哈希编码;3)分块直方图.在所提出的框架中,首先通过PCA方 ...

  6. Deep Learning学习随记(二)Vectorized、PCA和Whitening

    接着上次的记,前面看了稀疏自编码.按照讲义,接下来是Vectorized, 翻译成向量化?暂且这么认为吧. Vectorized: 这节是老师教我们编程技巧了,这个向量化的意思说白了就是利用已经被优化 ...

  7. Deep Learning 学习笔记(9):主成分分析( PCA )与 白化( whitening )

    废话: 这博客有三个月没更新了. 三个月!!!尼玛我真是够懒了!! 这三个月我复习什么去了呢? 托福………… 也不是说我复习紧张到完全没时间更新, 事实上我甚至有时间打LOL. 只是说,我一次就只能( ...

  8. PCANet: A Simple Deep Learning Baseline for Image Classification?--名词解释

    1 上采样与下采样 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个: 使得图像符合显示区域的大小 生成对应图像的缩略图 下采样原理:对于一幅图像I尺 ...

  9. 深度学习笔记——PCA原理与数学推倒详解

    PCA目的:这里举个例子,如果假设我有m个点,{x(1),...,x(m)},那么我要将它们存在我的内存中,或者要对着m个点进行一次机器学习,但是这m个点的维度太大了,如果要进行机器学习的话参数太多, ...

随机推荐

  1. 教你轻松在React Native中使用自定义iconfont

    在react-native项目中我们一般使用到 react-native-vector-icons(这里不介绍如何使用react-native-vector-icons按照官方文档即可)但是当reac ...

  2. vim 系列

    http://blog.csdn.net/laogaoav/article/details/17370269 非常不错

  3. Java基础学习总结(94)——Java线程再学习

    Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱.像我就喜欢Java.学无止境,这也是我喜欢它的一个原因.日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是 ...

  4. MySql查询语句的使用实例

    一.设计表 1.设计表 查询语句之前先设计四张表:student.teacher.course.score student:sid(学号).sname(姓名).sage(年龄).ssex(性别) te ...

  5. K/3Cloud二次开发基于WebDev附加进程调试

    大部分人在进行K/3cloud二次开发插件的调试时,选择的是附加IIS进程w3wp调试,本文给大家介绍一下基于WebDev附加进程调试,不用重启iis. 步骤如下: 1)拷贝K/3cloud产品安装目 ...

  6. iOS 如何查看崩溃日志

    参考网址: [转载]https://www.jianshu.com/p/4de55d73c82b [转载]https://blog.csdn.net/qq_26544491/article/detai ...

  7. Markdown编辑器及语法

    dillinger 漂亮强大,支持md, html, pdf 文件导出.支持dropbox, onedrive,google drive, github. 来自国外,可能不够稳定. MaHua 小众软 ...

  8. Django学习之 - 基础部分

    学习记录参考: 讲师博客:http://www.cnblogs.com/wupeiqi/articles/5433893.html 老男孩博客:http://oldboy.blog.51cto.com ...

  9. Codeforces 703C(计算几何)

    C. Chris and Road time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  10. Sudoku Killer--hdu1426(数独 跟上一题差不多 但是输入时问题)

    http://acm.hdu.edu.cn/showproblem.php?pid=1426 注意输入问题就行 还是dfs #include<stdio.h> #include<st ...