我写博客的目的就是让大家了解人工智能背后的数学原理,但人工智能这个话题太大了,背后涉及到的知识非常庞大,仅靠写几篇文章传播力度有限,况且知识传播过程中也容易引入误解,所以授之以鱼不如授之以渔,这里给大家推荐一些资源。
看书是学习必不可少的方式之一,今天给大家推荐一本机器学习数学原理和应用的书:MATHEMATICS FOR MACHINE LEARNING,PDF路径如下:
https://mml-book.github.io/book/mml-book.pdf
我把书的目录浓缩一下让大家先睹为快:
Part1:
Part2:
这本书分为两部分,第一部分是机器学习数学原理,第二部分是机器学习常见模型,模型背后也就是对数学原理的应用。原理+应用是很好的学习组合,先看原理再去学习应用也行,先以应用入手,遇到问题再回过头扣原理也可以。
人工智能的书很多,推荐这本书的原因是看完它有种豁然开朗的感觉,以前很多遗留的悬念大部分都解决了。
代码是数学公式的翻译,对于数学原理,想必大家都苦恼于繁多的数学公式,既然被折磨,那就换个思路,通过一些开源的数学函数库,从源码的角度去了解公式的每个细节,除了实现方式,还能学到高性能编程思想,这里给大家推荐scipy。
官方网址:https://scipy.org
源码:https://github.com/scipy/scipy
scipy对常用的线性代数,微积分,统计方法,优化方法进行了封装。除了scipy外,还有几个比较好的资源:例如基于C++的Eigen,Numpy,BLAS等。
对于机器学习模型,给大家推荐sklearn。
官方网址:https://scikit-learn.org/
源码:https://github.com/scikit-learn/scikit-learn
示例程序:https://scikit-learn.org/stable/auto_examples/index.html
sklearn对大多机器学习模型进行了实现,每种模型都提供了很多实际应用例子。
实践出真知,看多少书也只能停留在理论层面,实践是获取满足感,持续输出动力的好方法,这里给大家推荐kaggle。
官方网址:https://www.kaggle.com
这是一个竞赛类的网站,里面有各种真实案例,所以针对一个问题会有不同的解决方案,你能学到解决问题的思路,让你脑洞大开。
参加一个感兴趣的项目,用自己的想法去实现它,一开始效果可能不理想,分析问题原因,逐步优化,看到进步,享受这个过程。
当然,人工智能离不开看大量的文论,这里给大家推荐paper with code论文索引网站。
https://paperswithcode.com
你可以按照论文名称搜索,也可以按照类型去查找。