来源:iamwire.com
作者:Wale Akinfaderin
译者:刘小芹
之前总有同学问:如果学习机器学习、人工智能用什么软件比较好?从与大家的交流中发现,很多同学把机器学习的核心放到了软件的使用,缺少获取有用结果所必要的数学方法与思维。
事实上,目前针对机器学习的软件十分容易获取,例如 Python,scikit-learn,Weka 等等,而且相应的软件学习教程也不难找到。
但机器学习是集合了统计学、概率论、计算机科学、数学算法多等方面交叉研究,即便你对机器学习的应用炉火纯青,但对这些技术没有一个全面的数学理解,极有可能出现应用失误。
那自然有同学会问:
为什么机器学习中的数学很重要?
这个问题的理由我想强调以下几点:
选择合适的算法,要考虑的包括算法准确性、训练时间、模型复杂度、参数的数量和特征数量。
选择参数设置和验证策略。
理解偏差与方差的权衡以确定欠拟合和过拟合。
预估正确的置信区间和不确定性。
你需要多高的数学水平?
试图了解一个例如机器学习这样的跨学科领域,主要的问题是必要的数学知识的量,以及理解这些技术需要的数学水平。这个问题的答案是多方面的,取决于个人水平和兴趣。
那小七今天来说说机器学习入门应该需要知道哪些数学知识。
线性代数
线性代数是21世纪的数学!
——Skyler Speakman
在机器学习领域,线性代数无处不在。主成分分析(PCA)、奇异值分解(SVD)、特征分解、LU分解、QR分解、对称矩阵、正交化&标准正交化、矩阵运算、投射、特征值&特征向量、向量空间和规范等这些概念对理解机器学习的优化方法都是必须的。
概率论与数理统计
对于概率论与数理统计在机器学习领域重要性是不言而喻的。
机器学习的核心是通过大量的数据集进行长期训练,最终形成具有复杂思考思维的机器,而这里面自然不可抛弃概率论与数理统计。
而这其中所涉及的办法包括:合数学、概率规则&公理、贝叶斯定理、随机变量、方差和均值、条件和联合分别、标准分布(伯努利、二项、多项、统一和高斯)、矩母函数、最大似然估计(MLE)、先验和后验、最大后验估计(MAP)和采样方法。
多元微积分
说到多元微积分,必要的概念包括微积分、偏导数、向量函数、方向梯度、Hessian、Jacobian、Laplacian和Lagragian分布。
算法和复杂性优化
这对理解机器学习算法的计算效率和可扩展性以及数据集的开发稀疏性很重要。需要数据结构(二叉树、Hashing、Heap、Stack等等)的知识,以及动态编程、随机&次线性算法、图形、梯度/随机趋势、以及原对偶方法的知识。
其他
这包括上述4个主要领域没有涉及的其他数学概念。包括实分析与复分析(集合和序列、拓扑结构、度量空间、单值和连续函数、极限)、信息理论(熵、信息增益)、函数空间和流形。
下面是部分机器学习所需数学概念的一些MOOC和学习资料:
Khan Academy’s Linear Algebra, Probability & Statistics, Multivariable CalculusandOptimization.
Coding the Matrix: Linear Algebra through Computer Science Applications by Philip Klein, Brown University.
Linear Algebra – Foundations to Frontiers by Robert van de Geijn, University of Texas.
Applications of Linear Algebra, Part 1 and Part 2. A newer course by Tim Chartier, Davidson College.
Joseph Blitzstein – Harvard Stat 110 lectures
Larry Wasserman’s book – All of statistics: A Concise Course in Statistical Inference .
Boyd and Vandenberghe’s course on Convex optimisation from Stanford.
Linear Algebra – Foundations to Frontiers on edX.
Udacity’s Introduction to Statistics.
最后,本文的主要目的是提供有关机器学习所需的重要数学概念的建议和有用的资源。但是,有些机器学习爱好者可能是数学初学者,会觉得这篇文章令人沮丧(这并不是我的目的)。对初学者来说,你并不需要先学好大量数学知识再开始做机器学习。正如这篇文章提到的,最基本的需要是数据分析,然后你可以在掌握更多技术和算法的过程中继续学习数学。
--完--
如果需要机器学习视频,可以在公众号后台聊天框回复【机器学习】,可以免费获取编程视频 。
人工智能其它推荐阅读:
长按加入T圈,接触人工智能
觉得内容还不错的话,给我点个“在看”呗