介绍
到目前为止我们学习了,最小二乘法,逻辑回归,朴素贝叶斯,决策树,神经网络,卷积神经网络。里面提到了很多的数学概念,有懂得,也有不懂的,今天我们来列一个清单以便于后面的学习。
其实有同学也再问:“孙老师,你为什么不先讲数学知识,然后再讲机器学习呢,就像小时候上学一样,先学加减法,再学乘除,一年级一年级的往上学。”
首先这个同学问的问题非常好。但是咱们不是义务教育,也不是小时侯了,大人要有大人的学习方法,如果一开始的时候就说:“学习机器学习需要花个2年时间去学习微积分,线性代数,概率论,数理统计,信息论这些数学知识,然后才能开始进入机器学习的阶段。” 我想这时候本来计划要学习的同学,一大半都要放弃了,尤其是已经工作几年的程序员,各种身不由己。然而真正好的学习方式是带着任务去学习,比如正在看一篇自然语言处理的文章,里面讲了两篇文章的相似度是根据余弦定理来判定的,假设你又不懂余弦定理是干什么的,那么这时候你就把学习余弦定理作为一个学习的任务,这个就是一个很好的学习方式。由任务来驱动,用搜索的方式去学习。
推荐书籍
周志华老师的西瓜书很早就买了,但是并没有从第一页翻到最后一页的去看,而是先看序言,再看目录,找到自己感兴趣的内容和章节去学习。还有就是看博客学习,看论文的时候遇到生疏的概念,会去周老师的书里查找,当作“新华字典”去用。但是千万不要去背一些概念,只是仅仅记住文字没有用的 ,要去理解,去一层一层的寻找数学原理,很多难懂的概念都是建立在最基础的数学定理上面,要耐心的去深挖,直到初等数学基本定理。
先来看几张非常恐怖的图片:
还行吧,也没那么恐怖,现在看来还有些可爱呢。
下面列出目前为止涉及到的数学知识,专有名词(持续更新中):
一. 线性代数
- 向量
- 矩阵
- 集合
- 标量
- 张量
- 范数
- 内积
- 向量正交
二. 概率论
- 条件概率
- 联合概率
- 全概率公式
- 逆概率
- 贝叶斯公式
- 贝叶斯定理
- 先验概率
- 后验概率
- 似然概率
- 最大似然估计法
- 最大后验概率法
- 离散型随机变量
- 连续型随机变量
- 概率质量函数
- 概率密度函数
- 两点分布
- 二项分布
- 泊松分布
- 均匀分布
- 指数分布
- 正态分布
- 数字特征
- 数学期望
- 方差
- 协方差
三. 数理统计
- 样本
- 总体
- 统计量
- 参数估计
- 假设检验
- 置信区间
- 区间估计
- 泛化能力
- 泛化误差
- 欠拟合
- 过拟合
- 噪声
- 偏差
四. 优化相关
- 目标函数
- 全局最小值
- 局部极小值
- 无约束优化
- 约束优化
- 拉格朗日函数
- 梯度下降法
- 梯度方向
- 一阶导数
- 二阶导数
- 牛顿法
- 泰勒展开
- 线性搜索方法
- 置信域方法
- 启发式算法
五.信息论
- 信息熵
- 互信息
- 信息增益
- KL 散度
- 最大熵原理
列这样一个表的目的是出一个‘测试集’,按照机器学习的套路,平常同学们自己学习就相当于机器学习中用训练集数据去训练,调优,等准确率提高到一定程度,再把模型放到测试集去训练看最后结果,同学们学习一段时间,自我感觉良好了,可以把这个列表拿出来看检验一下,然后再去看算法推导过程,抽出时间去天池,kaggle上找个比赛参加一下,这样反复的来几个回合,效果一定非常好。
当然不会只是这样一个列表,接下来当然会详细介绍一下每个章节的每一个名词的概念。