机器学习里,数学到底有多重要?

之前总有同学问:如果学习机器学习、人工智能用什么软件比较好?从与大家的交流中发现,很多同学把机器学习的核心放到了软件的使用,缺少获取有用结果所必要的数学方法与思维。

事实上,目前针对机器学习的软件十分容易获取,例如 Python,scikit-learn,Weka 等等,而且相应的软件学习教程也不难找到。

但机器学习是集合了统计学、概率论、计算机科学、数学算法多等方面交叉研究,即便你对机器学习的应用炉火纯青,但对这些技术没有一个全面的数学理解,极有可能出现应用失误。

那自然有同学会问:

为什么机器学习中的数学很重要?

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

你需要多高的数学水平?

试图了解一个例如机器学习这样的跨学科领域,主要的问题是必要的数学知识的量,以及理解这些技术需要的数学水平。这个问题的答案是多方面的,取决于个人水平和兴趣。

今天来说说机器学习入门应该需要知道哪些数学知识。

线性代数

线性代数是21世纪的数学!——Skyler Speakman
在机器学习领域,线性代数无处不在。主成分分析(PCA)、奇异值分解(SVD)、特征分解、LU分解、QR分解、对称矩阵、正交化&标准正交化、矩阵运算、投射、特征值&特征向量、向量空间和规范等这些概念对理解机器学习的优化方法都是必须的。

概率论与数理统计

对于概率论与数理统计在机器学习领域重要性是不言而喻的。

机器学习的核心是通过大量的数据集进行长期训练,最终形成具有复杂思考思维的机器,而这里面自然不可抛弃概率论与数理统计。

而这其中所涉及的办法包括:合数学、概率规则&公理、贝叶斯定理、随机变量、方差和均值、条件和联合分别、标准分布(伯努利、二项、多项、统一和高斯)、矩母函数、最大似然估计(MLE)、先验和后验、最大后验估计(MAP)和采样方法。

多元微积分

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

算法和复杂性优化

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

其他

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

所以要学好机器学习
夯实好基础
学点数学知识
掌握更多技术与算法
是非常必要滴。

来源:七月在线

最新文章