快乐的包子
作者快乐的包子2017-09-28 09:52
存储工程师, 某银行

机器学习里面数学知识

字数 1266阅读 1890评论 0赞 3

最近,许多好用的机器和深度学习软件变得十分易得,例如 scikit-learn,Weka,Tensorflow,等等。机器学习理论是与统计学、概率论、计算机科学、算法等方面交叉的领域,它产生于从数据出发的学习迭代,试图找出用于开发智能应用的隐藏的洞见。尽管机器学习和深度学习有无限的可能性,对这些技术有一个全面的数学理解对理解算法的内部工作机制、获取好的结果是有必要的。

为什么要关心数学?

为什么机器学习中的数学很重要?这个问题的理由我想强调以下几点:

1、选择合适的算法,要考虑的包括算法准确性、训练时间、模型复杂度、参数的数量和特征数量。
2、选择参数设置和验证策略。
3、理解偏差与方差的权衡以确定欠拟合和过拟合。
4、预估正确的置信区间和不确定性。

你需要多高的数学水平?

试图了解一个例如机器学习这样的跨学科领域,主要的问题是必要的数学知识的量,以及理解这些技术需要的数学水平。这个问题的答案是多方面的,取决于个人水平和兴趣。对数学公式和机器学习的理论发展的研究一直在进行着,一些研究人员研究的是更先进的技术。以下我将说明我认为成为一名机器学习科学家/工程师需要的最低程度的数学,以及每个数学概念的重要性。

微信图片_20170928095043.jpg

微信图片_20170928095043.jpg

1. 线性代数

Skyler Speakman曾说:“线性代数式21世纪的数学”,我完全赞同该论述。在ML领域,线性代数无处不在。主成分分析(PCA)、奇异值分解(SVD)、特征分解、LU分解、QR分解、对称矩阵、正交化&标准正交化、矩阵运算、投射、特征值&特征向量、向量空间和规范等这些概念对理解机器学习的优化方法都是必须的。我认为线性代数很棒的一点是,互联网上的资源非常多。我总是说传统课堂要消亡,因为互联网上有如此大量的资源。我最喜欢的线性代数课程是MIT的Gilbert Strang教授的。

2. 概率论与数理统计

机器学习和数理统计并不是完全不同的领域。事实上,最近有人把机器学习定义为“在Mac上做数理统计”。ML需要的数理统计基础和概率论知识包括组合数学、概率规则&公理、贝叶斯定理、随机变量、方差和均值、条件和联合分别、标准分布(伯努利、二项、多项、统一和高斯)、矩母函数、最大似然估计(MLE)、先验和后验、最大后验估计(MAP)和采样方法。

3. 多元微积分

必要的概念包括微积分、偏导数、向量函数、方向梯度、Hessian、Jacobian、Laplacian和Lagragian分布。

4. 算法和复杂性优化

这对理解机器学习算法的计算效率和可扩展性以及数据集的开发稀疏性很重要。需要数据结构(二叉树、Hashing、Heap、Stack等等)的知识,以及动态编程、随机&次线性算法、图形、梯度/随机趋势、以及原对偶方法的知识。

5. 其他

这包括上述4个主要领域没有涉及的其他数学概念。包括实分析与复分析(集合和序列、拓扑结构、度量空间、单值和连续函数、极限)、信息理论(熵、信息增益)、函数空间和流形。

本文转自微信公众号:数据科学与人工智能

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广