本文对这个博客内容作了整理分类和简单介绍,同时介绍了常用的书籍。有计划添加更多的内容,但是没有具体的规划。
本文最后更新日期:2016-06-18
1. 我的博客
这个博客的内容主要包括以下几个部分。
机器学习、概率推理、信号处理等
凸优化和机器学习 :简述凸优化相关问题,从优化角度考虑机器学习的问题和算法
深度学习之浅见 : 简述深度学习和个人看法
概率图模型系列(持续烂尾中……)
概率图模型 : 简述概率图模型
[PGM] I-map和D-separation : 图模型中的两个基本概念解析
信号处理
估计理论—从经典到贝叶斯 : 信号处理中的估计理论,和概率推理,最大似然,估计有密切关系
条件高斯分布和卡尔曼滤波 : 信号处理中的经典算法kalman滤波的概率解释,以及条件高斯分布的推导
K-means算法和矢量量化 : 语音信号处理中的量化手段,k-means也被应用在聚类上(以及EM)
基音周期估计 : (语音)信号处理,基音周期估计
基础的一些知识
总体最小二乘(TLS) : 从最小二乘说起,探究稳定性条件,引出总体最小二乘(实际上是信号处理中的相关手段)
另一个角度看矩阵分析 : 分析矩阵分析
蒙特卡罗统计方法(待更新)
[MCSM]Exponential family: 指数分布族 : 贝叶斯方法、概率、统计中的重要概念
[MCSM] 蒙特卡罗统计方法 : 概述和开头。关于MSCM
[MCSM]伪随机数和伪随机数生成器 : MC基础,随机数生成(非MCMC方法)
[MCSM]随机搜索和EM算法 : MC优化的基本处理手段
排序算法时间复杂度的下界: 这是看算法导论中一章的一些看法,我试图从信息论、信息熵的角度给出时间复杂度分析的下界。(不知道为什么这篇被点了个反对,可能有问题,看的时候谨慎……)
误码率仿真,蒙特卡罗方法,置信度:误码率仿真是一个很具体的问题,采用的是蒙特卡洛仿真的方法,这里从数学角度出发,分析了这一方法得到结果的置信度和置信区间。
量化、数据类型、上溢和下溢:心血之作!!!可惜没人看
非规则浮点数和规则浮点数: 这个和上一篇是一起的
FPGA开发相关知识
FPGA学习之基本结构 : (Xilinx)FPGA基本结构概述
Xilinx命名规则 : Xilinx FPGA的命名规则介绍
ROM存储1/4周期正弦信号构造DDS : 第一个FPGA工程,DDS。包括其原理的一种理解。
高层次综合(HLS)-简介 : 新一代FPGA开发方法简述,HLS,不太懂,没板子。
SDAccel-FPGA将带来至多25倍单位功耗性能提升 : 下一代开发环境简述。
FPGA中的INOUT接口和高阻态 :数字电路中三态门在FPGA上的实现方式,以及相关的一些知识。
FPGA时序约束系列(基本完成,感觉写的不太好…可能是实践太少了)
时序收敛:基本概念 : 为什么要约束时序,以及要从哪几个方面约束
建立时间和保持时间(setup time 和 hold time) : 时序约束根本的两个参数详解
OFFSET约束(OFFSET IN 和OFFSET OUT) : 时序约束中的OFFSET
Clock Skew , Clock uncertainly 和 Period : 周期约束的相关知识
特殊约束From To:特殊约束简介,没怎么写好,没有具体的实践
OFFSET IN 使用举例:OFFSET IN的具体使用方法,举例说明
Achieving Timing Closure:没想好怎么写
其他
GitHub: Windows 下的简单使用: github的使用方法,给出了一个例子(我的LDPC仿真)
MATLAB仿真总结: MATLAB使用过程中掉进去的坑,以及一些技巧
Android空闲教室查询-资料 : 2013.12月某门课程的课程设计作业的PPT,代码当时没有整理,现在也看不懂了……
部分烂尾文、价值不大的文章没有列在此处。
2. 书
我博客里涉及到的,以及主要参考的书籍包括以下几类(这里头的书都很久没看啦没看啦~~~,2016-06-18)
机器学习、概率推理、信号处理等
《自适应滤波器原理》&《神经网络原理》 Simon Haykin的书,《神经网络原理》是第二版的名称,第三版叫做《神经网络与机器学习》 。
自适应滤波可能大家都没有什么兴趣,当时有用就看了。而《神经网络原理》算是我正经开始看机器学习算法的第一本书了。内容比较多,什么都有,第二版和第三版各有优劣。中文版翻译有点烂。
《统计信号处理-估计与检测理论》 Steven M.Kay的书,英文版分两本,分别是《Fundamentals of Statistical Signal Processing: Estimation Theory》和《Fundamentals of Statistical Signal Processing: Detection Theory》,我只看了第一本。
这书出20年了,现在还在用,中文版还在再版,足以见其经典之处。具体内容可参考估计理论—从经典到贝叶斯。
《模式识别与机器学习》 Christopher M.BISHOP
很多人都推荐了这本书,但我一直没怎么看,因为是英文版的(《PATTERN RECOGNITION and MACHINE LEARNING》)……但基本也翻了翻,叙述思路特别清晰,解释角度和其他的书有一定差异,的确是一本很好的书。
前段时间看LDPC译码算法涉及到了因子图,就看了这本书的Graphic Models这一章,的确算是一本写得清晰的书,而且容易懂。而且很和我的胃口,譬如Graphic Models开篇就阐明了概率图模型的一些有用的特性,说明了为何我们要采用概率图模型。
《统计学习理论的本质》 Vapnik的书,这本书讲的就是鼎鼎有名的SVMs是怎么想出来的。
大部分的书,都致力于讲明白问题的解决方法。但这本书讲的是解决问题的整个思路和过程,即作者为何去这样思考。
《概率图模型-原理与技术》
基础的数学知识
《凸优化》 Stephen Boyd的书,英文名《Convex Optimization》,他是斯坦福的教授,个人主页提供了这本书英文版和课件等内容的下载,同时有同名的公开课。
有个老师说:真正的好书应该是看了就懂,但是放下就忘记。这本书大抵就属于这一类吧。我是在大四的时候看的这本书,那个时候的感觉是这本书引入了凸优化问题,并给出了不同情况下的求解方式;后来再看很多算法,就能够明白算法这样做的目的。再后来,面对一些实际的问题不知如何表示(譬如求信道容量),又发现这本书的例题里早已给出了分析和解释。
《矩阵分析与应用》 张贤达的书,我看的是第一版。
这本书没事的时候翻一翻,看看矩阵的相关知识和具体应用还是不错的,有时候用来查查矩阵的性质和公式也是可以的。更重要的是,这本书真的引用了很多其他的书籍,有不明白的地方根据他的引用很容易找到相应的解释。
但是有些问题还是要注意一下,这本书很偏近代信号处理,章节划分……有点诡异,举例基本都是信号处理的知识;同时,有些定义和别人的书是不一样的(譬如这本书里定义梯度=导数,但其他书一般是梯度=导数的转置),直接用他书上的公式可能会错。这本书出第二版了,看了目录,章节划分看起来合理和多,去掉了很多近代信号处理的例子,同时添加了很多新的东西(压缩感知等)。
FPGA开发相关知识(仅限Xilinx和ISE,我也只会这个)
这个基本没有看什么书,基本就是看Xilinx文档,然后网上的一些文章。Verilog看的是北航的书,还看过一本《深入浅出玩转FPGA》。实际上官方的资料足够多,足够详细了。我在用Virtex-5,所以以Virtex-5为例。可以打开Xilinx的软件Xilinx Documentation Navigator查看相关文档或到官网查看。
芯片相关
- 《Virtex-5 Family Overview》 Virtex 5系芯片简介
- 《Virtex-5 FPGA Data Sheet DC and Switching Characteristics》 交流,直流特性
- 《Virtex-5 FPGA User Guide》 指南,芯片功能(详细)介绍,对应不同的模块还有很多User Guide
- 《Virtex-5 FPGA Packaging and Pinout Specification》 如题
- 《Virtex-5 FPGA Configuration User Guide》 如题
- 《Virtex-5 FPGA PCB Designer's Gudie》 如题
- 《Virtex-5 Libraries Guide for HDL Designs》 HDL设计中会应用到的一些模块介绍
如果不画板子的话,那么看1,3,7即可,对使用的芯片有一定的了解;2也可以简要浏览。画板的话2,4,5,6是必看的。
开发环境
- 《ISE In-Depth Tutorial》
- 《ISE Simulator(ISim) In-Depth Tutorial》
- 《Synthesis and Simulation Design Guide》
- 《Constraints Guide》
- 《Timing Closure User Guide》
- 《XST User Guide》
1,2是tutorial,相对于是使用的说明,可以换一个名字叫做《手把手教你学ISE》、《手把手教你用ISim》。如果都会使用的话1,2可以不看,1、2介绍很详细,翻翻的话说不定会学到一些以前不会用的知识。6教的是如何写HDL代码,以及优化、约束等内容;如何写Verilog HDL或是VHDL可以参考其他的中文书。3个人觉得比较重要,介绍了FPGA设计的整个流程,包括XST做了什么以及我们应该做什么。4是约束指南,很难看,没怎么看过。5是时序收敛指南,也是很重要的概念。