谭升
非主流人工智能科学家 我和外面那些妖艳的货不一样

【数值分析】数值分析介绍(Big Picture)

数值分析介绍

数值分析并没有在我们那张人工智能基础数学地图上

但是根据MIT和Stanford人工智能课程安排,数值分析这门课都是在大一或者大二的必修课,换句话说,学完线性代数和微积分,就要学数值分析,为什么数值分析没在我们的数学地图上,但却被这些大学如此之重视呢?当然我上大学也是大二就开了这么课。
我们前面学到的线性代数也好,微积分也好,概率也好,我们都是在用笔计算,博客中也有反映从头到尾,没看到我写程序吧。并且我尝试了写微积分的博客,尝试了几次都放弃了,原因就是基本都是用笔计算的东西,需要写大量的计算公式,我就放弃了。
那么当代计算主要肯定不是用手算出来的,如何连接计算机和数学各大分支就变成了重要中的重要。
没错,数值分析就是这个桥梁,数值分析。
本系列的主要目的是阐述并讨论计算机上求解数学问题的方法,从最基础的乘法加法开始,通过分析计算结果,调整计算顺序,得到更准更快的算法,并且分析计算结果的误差。从基础理论逐步过渡到更加复杂的概念。
章节安排:
0. 基础知识
0.1 多项式求值
0.2 二进制数字
0.3 实数的浮点表示
0.4 有效数字缺失
1. 求解方程
2. 方程组
3. 插值
4. 最小二乘
5. 数值微分和积分
6. 微分方程
7. 边值问题
8. 偏微分方程
9. 随机数和应用
10. 三角插值和FFT
11. 压缩
12. 特征值与奇异值
13. 最优化

章节关系:

上图表示个个章节关系,注意本书中的所有问题我们可能都要研究下,但是微分方程等可能会放在后面,因为相关理论我们还没研究。
我们的参考书为:《Numerical Analysis Second Edition》,Timothy Sauer著。
之前没注意有没有英文版,所以用的是翻译版。

总结

本系列预计每天更新,每篇应该都不长,所有代码使用Matlab编写。当然经过调整或者不调整,就直接可以在octave下运行,当然我鼓励大家使用octave。
关于编程工具,我们目前做的是上层工作,以模型开发为主,所以需要快速实现模型的编程,试验阶段高效并没有那么重要,当模型有优秀表现的时候,我们在使用C或者CUDA进行二次开发,结合我们的CUDA系列完成最终工作。
学习数值分析和CUDA都是为了使得计算结果更快,但一个从算法角度,加速分析结果,一个从硬件和技术角度完成加速,两种最重要的途径,我们都要掌握。手持利剑,身怀秘籍,才是绝世高手。

Share

You may also like...

说点什么

avatar
  Subscribe  
提醒

由于博客移至wordpress,部分公式和代码显示不正常,博主正在努力修改,如发现公式显示错误,请及时在文章下留言,感谢您的帮助,尽请原谅!