你好,我是李智慧。在大数据算法模块,我们一起学习了几种最常用的大数据算法,包括 KNN 分类算法、贝叶斯分类算法、PageRank 网页排名算法、关联分析 Apriori 算法、聚类分析 K-means 算法、神经网络算法以及几种常见的推荐算法,算是对大数据算法有了初步了解。
作为软件工程师,如果想掌握一些大数据算法的背景知识,以便更好地和算法相关团队合作,那么以这个模块讨论的算法为基础,触类旁通,针对公司使用的算法再进一步了解和学习,基本上也就够用了。但是,如果想从软件工程师深入进人工智能领域,那么就还需要系统地学习和掌握机器学习各方面的知识。
下面根据我的经验,给你呈现一个软件工程师进入人工智能领域的“学习路线图”,希望可以帮助到想转型进入人工智能领域的同学。
数学基础
机器学习有时候也被称为统计学习,其实就是统计大量历史数据中的规律,构建算法模型,再利用模型对现在的数据进行分类和预测。所以学习机器学习算法,先要复习一下统计学和概率论方面的知识。
很多算法的特征与函数都用向量空间表示,很多大数据算法计算也可以转化为矩阵与向量计算。比如 PageRank 算法就可以将网页间的链接关系表示为一个稀疏矩阵,所有页面的 PageRank 值构成一个向量,然后将矩阵与向量不断迭代相乘就可以了。因此,你还需要再复习一下线性代数的知识。