发布时间:2022-08-18 18:43
无论我们学习什么知识,都应该制定一套系统、完整的学习体系,同时也要找到一条合适的学习路线,那么,在大数据、AI如此火爆的当下,我们应该怎么样指定我们的学习路线呢?在这个时代,每个人都想着获利,他们不会把所有信息都分享给你,互联网上很多信息都是残缺的,但也有人愿意分享,愿意说真话,我们要自己去探索,发掘。
其实在进行机器学习的时候,很重要的一项就是数学知识,因为本质上目前的机器学习就是对数据进行处理和训练学习,所以数学知识真的是重中之重。
机器学习算法基本的套路是构造一个数学模型,定义最优解(损失函数、优化目标),然后求出最优解。感觉这个过程和一般的数学建模过程没有本质区别,仅仅因为历史的原因,发展出了一些特别的算法(模型),并且有一套专门的术语。比如,模型的求解在这里叫做“学习”。
机器学习的算法比较杂,每种算法(模型)都是基于一种思想,不同算法的思想联系比较弱。数学上,不同算法之间应该是有联系的。因此如果基于同一种思想(比如概率模型),可以生成其他的机器学习算法,那么我们就会有一个统一的理解。所以,学习路线可以是先了解必要的数学知识(这部分并不需要非常深入,只需要有基本的向量、矩阵的知识;求导、积分;贝叶斯思想;以及几种常用的求解算法,梯度下降、牛顿法等);然后学习常用算法;最后融会贯通,打通任督二脉。
还记得大学的时候学过的高数、线性代数、概率论吗?当年学得怎么样呢?我自己的话,可以说基本的概念是可以完全掌握的,我的老师们也都教的不错。但是或许没有达到熟练精通的程度,加上过了许多年,对于数学知识真的是已经忘得差不多了,当年真的不懂数学的重要性,也不知如何应用,这么多年来真的基本还给老师了。
那怎么办呢?或许机器学习用到的数学知识很简单,我们不用专门去补数学知识?我相信很多人都希望能够直接开始学习机器学习,但是说真的,如果没有打好数学基础,想要直接开始学机器学习,一定是非常吃力的。所以,放下侥幸心理,放下懒惰,好好恶补一下数学知识,总结了一下大概有下面这一些:
标正基、线性无关、矩阵的相似变换、特征值、特征向量、秩、二次型。
关于矩阵的各种运算比如转置、迹、行列式、逆、分解、雅克比矩阵、hessian矩阵。
关于线性空间、子空间、投影、内积、正交。
关于随机变量的分布、边缘分布、联合分布、条件分布、密度函数、累计密度函数、特征函数以及常见分布的密度函数,尤其是高斯分布、泊松分布、gamma分布、二项分布。
随机变量的和的分布、大数定理和中心极限定理,似然函数,贝叶斯公式。
期望和条件期望、方差、协方差、相关系数。
其他再复习一下线性回归、拉格朗日乘子法、凸函数、梯度、条件收敛和一致收敛。
有了这些知识,就可以开始使用机器学习的经典书籍来进行系统的学习啦!经典的书籍如下:
《机器学习》周志华:语言更通俗一些,是建立整个知识领域的,有时间就看一章。
《统计学习方法》李航:都是干货,特别是算法的公式推导清晰,最大的遗憾是没有神经网络相关章节。建议详细阅读,自己推公式。这本对常用有监督算法总结的很详细,也很清楚,但是更像是一个笔记;缺少深入浅出的“讲解”。可能初学者看这个不太合适,更适合作为一个随时翻阅的手册,但如果用心推导,还是大有益处。
《PRML》:被誉为AI圣经,读英文版是最好,但为了节省时间也可以读中文版的,涵盖了几乎所有机器学习所需的知识。
《神经网络与机器学习》:此书主要以讲解神经网络为目标,可以说是进行机器学习的另一方向——“深度学习”的基础知识。
《深度学习》:深度学习是目前最火的概念,是机器学习的重要分支,此书也被称为“花书”,值得深入学习。
接下来介绍一些实战使用的框架,有个概念:盘点四大民间机器学习开源框架:Theano、Caffe、Torch 和 SciKit-learn
大概就是这么多了,总结一下,先学数学,再按顺序读书,就基本可以掌握理论了,如果需要实战,则可以学学一些偏实战的书籍或课程啦。