摘要:数学优化方法在机器学习算法中至关重要,本篇博客主要来简单介绍下Conjugate Gradient(共轭梯度法,以下简称CG)算法,内容是参考的文献为:An Introduction to the Conjugate Gradient Method Without the Agonizing Pain,具体细节大家还需仔细阅读那篇文章,这篇博客并不是重现那篇论文的内容,只是简单的梳理下CG算法的流程,以及它的重要思路,方便大家理解CG算法。 首先我们需要解决的问题是:求满足线性方程(1):的解x. 那么有人就这么认为了:这个解x不就是吗?对,这样说也不能算错,但是如果A不可逆那么x这样... 阅读全文
摘要:前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Bengio在08年提出,见其文章Extracting and composing robust features with denoising autoencoders.使用dAE时,可以用被破坏的输入数据重构出原始的数据(指没被破坏的数据),所以它训练出来的特征会更鲁棒。本篇博文主要是根据Benigio的那篇文章简单介绍下dAE,然后通过2个简单的实验来说明实际编程中该怎样应用dAE。这2个... 阅读全文
摘要:前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm analysis in c++ (second edition)一书的作者所给,关于这3中二叉树在前面的博文算法设计和数据结构学习_4(《数据结构和问题求解》part4笔记)中已经有所介绍。这里不会去详细介绍它们的实现和规则,一是因为这方面的介绍性资料超非常多,另外这3种树的难点都在插入和删除部分,其规则本身并不多,但是要用文字和图形解释其实还蛮耗时的。所以,我们在看教程时,主要是要抓住这几种树的思想,然后对照对应的代码来看就ok了,能把代码... 阅读全文
摘要:前言: 高斯过程回归(GPR)和贝叶斯线性回归类似,区别在于高斯过程回归中用核函数代替了贝叶斯线性回归中的基函数(其实也是核函数,线性核)。采用核函数可以定义高斯过程回归是一个比贝叶斯线性回归更通用的模型,应用非常广泛。本文参考的资料为视频http://www.youtube.com/playlist?list=PLD0Z06AA0D2E8ZZBA中相关的部分以及论文Gaussian Processes for Regression A Quick Introduction. 基础知识: 首先来看看Bayesian linear regression(贝叶斯线性回归)模型: 其... 阅读全文
摘要:前言: 数据结构这种东西,快速看了也只能概念上多理解了点,关键还是后续实践中的使用。好吧,本节依旧是data structures and algorithm analysis in c++ (second edition)中的笔记蜓点水般的笔记,书中第4部分的笔记,第3部分内容暂时先跳过(那是一些具体的应用例子)。本次的内容有栈和队列,链表,树,搜索二叉树,hash表,二叉堆。其中的队列,链表比较简单,树,二叉堆和hash表比较难。 Chap16: 如果类的数据成员是first-class(比如vector)的,则针对它的Big-Three会自动实现,不需要再去完成它。如果要实现c... 阅读全文
摘要:前言: 本节是data structures and algorithm analysis in c++ (second edition)中第2大部分的随手笔记,主要内容有算法复杂度分析,标准模板库介绍,递归思想和算法,常见的排序算法及其分析,随机数产生器和随机算法等。 Chap6: 一个算法的复杂度与输入数据量的大小,算法本身,编译器优化性能,所运行机器硬件的性能,算法本身等因素相关。从这些方面来看,即使是已经确定的2个算法F和G,我们也不能说2个算法的运行时间永远满足F(N)=G(N). 一是当N比较小时,两者的相差太小以至于感觉不出来,二是当N大到一定程度时,F(N)和G(N)... 阅读全文
摘要:前言: C++,数据结构,算法,这些知识在互联网行业求职过程中是必备的,而本科电路硬件出身的我这些基本就没学过,也用得比较少,为了以后的饭碗,从现在开始还是花点时间来看下这些东西吧。本节是mark allen Weiss数据结构书籍data structures and algorithm analysis in c++ (second edition)中第一大部分的笔记(随手写的,供自己以后参考),这部分主要是讲解一些C++的知识,比如面向对象概念,继承,多态,重载,虚函数,模板,设计模式等等。 Chap1: 本章主要是讲一些array,string,struct,pointer的... 阅读全文