科普作家 Isaac Asimov 阿西莫夫的机器人三定律。
- A robot may not injure a human being or, through inaction, allow a human being to come to harm.
- A robot must obey orders given it by human beings except where such orders would conflict with the First Law.
- A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
Python 包
目前 AI 使用较多的是 Python,主要是因为这是一个简单 (包括语法、环境)的胶水语言,如果性能不满足,完全可以通过 C 重新实现,例如 NumPy 。
如下是常用库的使用简介。
- 环境准备 包括了常用的 Python 工具、TensorFlow 等。
- Numpy 一个扩充程序库,支持高级大量的维度数组与矩阵运算。
- Scipy 可以处理插值、积分、优化、图像处理、常微分方程数值解的求解。
- Pandas 基于 NumPy 的工具库,主要是为了解决数据分析任务。
- PyMC 开源概率编程框架,并使用 C 实现加速运算。
- Matplotlib 绘图库包大量工具,几乎可以完成所有的图形绘制,可以参考 常用示例 。
- Seaborn 在 matplotlib 的基础上又封装了一层,更方便使用。
- StatsModels 提供了经典频率学派统计方法,包括了多种统计模型。
其它
数学基础
概率论与数理统计
- 基本概念 根概率论相关的基本概念。
- 离散概率分布 一些常见的离散概率分布,例如伯努利分布、二项分布、泊松分布等。
- 连续概率分布 介绍一些常见的连续概率分布,例如柯西分布、Beta 分布等,还可以参考 高斯分布 。
统计推断的三个重要内容:抽样分布、参数估计、假设检验。
优化算法
- 基本优化算法 包括了函数最小化、曲线拟合等,同时包含 Python 实现。
其它
机器学习
机器学习所解决的问题,主要包括了数值的预测和分类,前者一般是回归模型,例如线性回归;后者的方法则是五花八门,例如决策树、KNN、支持向量机、朴素贝叶斯等等。
其实,两类问题本质上讲是一样的,都是通过学习已有数据,构建模型,然后对未知数据进行预测,如果是连续的数值预测就是回归问题,若是离散的类标号预测,那么就变成了分类问题。
概率编程
- 贝叶斯简介 由英国数学家托马斯·贝叶斯在 1763 年发表的一篇论文中首次提出。
- 马尔科夫简介 包括基本的马尔科夫链以及马尔科夫过程。
- 基本采样算法 一些常见的基本概念,例如蒙特卡罗、简单采样等,还可以参考 MCMC采样 。
- Stan 简介 包括了 Stan 的基本概念、使用方法,以及 RStan 的安装使用。
R 语言
R 语言作为统计学一门语言,一直属于一个小众的工具集,直到大数据爆发后,越来越多的人开始使用 R 语言进行数据分析。
参考
- 官方文档 www.rdocumentation.org ,可以直接搜索相关的主题。
参考资料
机器学习
Pattern Recognition and Machine Learning
常用资料 Book English、NoteBooks、Python Implemented。
其它
- Rules of Machine Learning 介绍关于 ML 的一些原则。
- 数学公式的编写可以参考 MathJax Demo 。