摘要: 对于数值线性代数(Numerical Linear Algebra,简称NLA)来说有三个最重要的问题:线性方程组,线性拟合和特征值计算。从这个观点来看,NLA的问题也不是特别的多。但是NLA的复杂性存在于两个方面,一个存在于计算工具上,另一个存在于要处理的问题本身。对于第一个问题,由于使用计算机进行数值运算,不可避免的会产生精度的问题,所以为了避免精度问题和合理的量化精度产生的影响,NLA会... 阅读全文
posted @ 2014-04-10 00:23 追风人 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 伪逆(pseudo inverse)是对于矩阵逆的一种推广,满足一定性质的矩阵都可以成为矩阵A的伪逆。伪逆具有存在且唯一的良好性质,可以用于解决最小二乘和最小范数问题。 最小二乘问题是对于一个超定矩阵而言的,最小二乘问题的解是能够最小化残差的解。而最小范数问题是针对欠定矩阵矩阵而言,对这类线性方程组不存在唯一解,伪逆给出的是所有的解 2范数最小的。 对于超定的线性方程组,伪逆可以给出最小二... 阅读全文
posted @ 2013-12-18 00:18 追风人 阅读(8024) 评论(0) 推荐(1) 编辑
摘要: 机器学习是一个交叉学科,相关的知识包括:数值优化,数值线性代数,统计和概率论。个人感觉最容易与机器学习的方法相似的恐怕就是统计,两个不同的学科有着相同的目的:从大量的数据之中学习到有价值的信息,而且现在流行的机器学习方法都是基于统计的。 从任务来看:对统计来说主要的任务包括估计(Estimation),假设检验(Hypothesis Testing),预测(Prediction)。估... 阅读全文
posted @ 2013-10-07 17:46 追风人 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 目前正在阅读MATLAB相关的书籍:Numerical Methods with MATLAB,现在感觉这本书写的还行, 细致基础,而且写的比较清楚,同时把malab和数值算法结合在一起。 目前刚看完第一章,下面是相关的命令跟工具tips 1. 保存和加载数据的语句 save or load 2. 画图相关的命令 subplot:并不是用于画图,感觉是获得窗口句柄的。 plot、hist:2... 阅读全文
posted @ 2013-06-19 15:41 追风人 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 最近一段时间由于毕业设计的关系,需要修改某一个开源项目的源代码,添加新的功能,这个时候需要通读整个项目的代码。其实这个项目的代码 已经读了很长的时间了,但是一直没有进展。但是到今年这个时候,如果不能搞定这个东西就不能毕业,所以:), deadline果然是生产力!下面就将阅读过 程中的一些经验讲述出来,如果需要更详细的内容请参见。 第一个经验就是让程序运行起来,了解整个程序的输入和输出。... 阅读全文
posted @ 2013-03-06 23:48 追风人 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 最近在阅读一本书Introducing Monte Carlo Methods with R,这本书主要的目的就是使用R这个语言来介绍蒙特卡洛方法,希望能借这个机会彻底弄懂蒙特卡洛法。 现在看到第二章,主要的内容就是如何使用均匀分布来生成所有其他我们想要的分布,其实类似的内容我已经在Pattern Recognition and Machine Learning中看到过的, 方法如下: In... 阅读全文
posted @ 2013-02-22 20:16 追风人 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 正则表达式作为一种最常用的工具,在平常的工作中使用的非常普遍,在python中是由re库提供这个功能,除此之外还有regex库提供额外的功能。 在一般的正则表达式介绍中都是以ascii为代表来介绍的,但是作为一个中国的程序员,所遇到的一个最基本的问题就是字符编码了。所以这里说下如何在python中匹配 非ascii字符。 正则表达式是使用一个模式串来找出所有可以用模式串描述的字符串,模式串由普... 阅读全文
posted @ 2013-01-29 16:01 追风人 阅读(3736) 评论(0) 推荐(0) 编辑
摘要: Git是众多版本控制系统(CVS)中的一种,由于其拥有众多优异的特性而被广泛使用。也是我使用的第一个版本控制系统,同时结合使用Github,让我感到非常的方便。下面我按照建立和维护一个仓库的过程来演示如何在实际项目中使用Git。 1. 初始化Git配置 首先需要配置一些个人信息,比如邮件,姓名等等。在你向某个仓库提交代码的时候会将这些信息添加到你的提交中,这样使得对系统的提交有据可查。这个命令... 阅读全文
posted @ 2012-12-23 22:23 追风人 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 由于某种原因,现在开始接触到一些最优化的东西,由于目前没有复杂的情况,选择从最简单的入手,选择了一本书:Practical Optimization :Algorithm and Engineering Applications,这本书给人的感觉还是比较容易理解,下面是读书过程中的一点收获1.最优化的过程。这一点是读到现在感觉对原有的冲击最大的,我以前认为的最优化工程就是用各种方法确定函数的值,但是具体是怎么进行的就不清楚了,现在我知道了,一个优化过程x,其实就是不停的获取参数序列xi+1,xi+2,xi+3,。。。,如果能够找到一个确定的解,那么最优就会有一个确定的x*,所以最优化过程就是确 阅读全文
posted @ 2012-12-14 16:13 追风人 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 写了代码有一段时间了,最近发现有几点还是要注意的。 1. 在用随机数的时候,一定要先设置种子(seed),这样很多东西可以重复出现,便于调试。 2. 用机器学习工具的时候,特征最好是归一化过的,这样的训练时间会缩短很多,这是真的,亲身经历啊!!!突然想多说一点知识管理,个人一直再用evernote等工具吧,不知道做这些东西到底在干什么,一直在积累各种知识,但是最终的目的还是为了积累问题、经验跟解决方法,最终能做到提升思维能力的目的,恩,好宏大的目标啊。该说什么呢,做什么事情,一开始难,觉得没办法下手,可以先写出粗糙的版本,然后再慢慢的修改,先完成80%的东西,剩下的20%可以慢慢的提高。 阅读全文
posted @ 2012-11-20 12:26 追风人 阅读(200) 评论(0) 推荐(0) 编辑