前言:昨天看到微博上分享的深度学习视频,为上海复旦大学吴立德教授深度学习课程,一共六课时,视频地址点击打开链接。在此我结合其他资料,写点个人的学习笔记进行记录。
第三,四课:稀疏编码
本课吴老师对稀疏编码做了一个简单的介绍。内容分为三块:1.深度学习 2.稀疏编码
**这两节课讲的是稀疏编码,关于稀疏编码编码,数学理解不难。难得是如何跟实际问题结合起来。所以这两节笔记仅仅记录下数学公式。以后查阅相关论文后在进行补充。
1.深度学习
**上述公式需要注意的是这些参数的含义,需要知道哪些是超参数,哪些是需要学习的参数。参见点击打开链接。 上述公式中,所谓的深度学习指的是从输入的到神经网络输出的间这一段。也就是说深度学习不是分类算法(我自己看到说深度学习在分类上很成功,错误以为深度学习是一种分类算法),说深度学习用到分类上,指的是在进行深度学习后,引入我们上述推导的最后一段(-J)这一段。
前面一段(深度学习)的算法主要有:AutoEncoder自动编码器,Sparse Coding稀疏编码,Restricted Boltzmann Machine(RBM)限制波尔兹曼机,Deep BeliefNetworks深信度网络,Convolutional Neural Networks卷积神经网络。 最后这一段所使用的算法依赖于实际使用情况,可以是分类(e.g. 逻辑斯底回归 SVM 等)也可以说回归(e.g. 线性回归)。
**所谓深度学习就是一种重表示,也就是深度学习就是帮助你的样本换了一个马甲(从换到)。但是神奇的是,你的分类任务可能在马甲上表现不好。经过深度学习的帮助,分类任务可以在上表现的非常好。
**假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为: I =>S1=>S2=>…..=>Sn => O,如果输出O等于输入I,即输入I经过这个系统变化之后没有任何的信息损失,保持了不变,这意味着输入I经过每一层Si都没有任何的信息损失,即在任何一层Si,它都是原有信息(即输入I)的另外一种表示。现在回到我们的主题Deep Learning,我们需要自动地学习特征,假设我们有一堆输入I(如一堆图像或者文本),假设我们设计了一个系统S(有n层),我们通过调整系统中参数,使得它的输出仍然是输入I,那么我们就可以自动地获取得到输入I的一系列层次特征,即S1,…, Sn。(from 点击打开链接)
2.稀疏编码
2.1. 稀疏表示
对任何一个 做出要求:(1) (2) s矩阵稀疏,也就是s的分量中0尽可能的多。
2.2 稀疏编码