在过去的几个月里,有几个人与我联系,说他们热衷于尝试进入数据科学世界并使用机器学习技术探索统计规律并构建无可挑剔的数据驱动产品。然而,我发现有些人实际上缺乏必要的数学直觉和智力框架来获得有用的结果。这是我决定写这篇博文的主要原因。最近出现了很多简单易用的机器学习和深度学习包,比如scikit-learn、Weka、Tensorflow等。机器学习理论是统计学、概率论、计算机科学和算法的交叉学科。它使用从数据中迭代学习来发现可用于构建智能应用程序的隐藏知识。虽然机器学习和深度学习的可能性是无穷无尽的,但为了更好地掌握算法的内部工作原理并获得良好的结果,对其中大部分技术有扎实的数学理解是必要的。为什么数学对于逻辑回归和神经网络的成本函数的计算很重要?机器学习中的数学很重要,原因有很多,其中一些我将在下面强调:1.选择正确的算法,包括考虑准确性、训练时间、模型复杂度、参数数量和特征数量。2.为参数选择设置和验证策略。3.通过理解偏差和方差之间的权衡来识别欠拟合和过拟合。4.估计正确的置信区间和不确定性。你需要什么水平的数学?在尝试理解像机器学习(ML)这样的跨学科学科时,主要问题是理解这些技术所需的数学数量和必要水平。这个问题的答案是多维的,会因个人水平和兴趣而异。正在研究机器学习的数学公式和理论进展,一些研究人员正在研究更先进的技术。下面我将解释我认为成为机器学习科学家/工程师所需的最低数学水平以及每个数学概念的重要性。1.线性代数:我的一位同事SkylerSpeakman最近说,“线性代数是21世纪的数学”,我非常同意他的观点。在机器学习中,线性代数无处不在。主成分分析(PCA)、奇异值分解(SVD)、矩阵的特征分解、LU分解、QR分解、对称矩阵、正交化和正交归一化、矩阵运算、投影、特征值和特征向量、向量空间和范数,这些都是需要了解机器学习中使用的优化方法。关于线性代数的在线资源之多令人惊讶。我一直说,由于互联网上有大量可用资源,传统课堂正在消失。我最喜欢的线性代数课程由MITCourseware提供(由GilbertStrang教授教授的课程):http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/2。概率与统计:机器学习和统计并不是截然不同的领域。事实上,机器学习最近被定义为“在机器上做统计”。机器学习所需的一些概率和统计理论是:组合、概率规则和公理、贝叶斯定理、随机变量、方差和期望、条件和联合分布、标准分布(伯努利分布、二项分布、多项分布、均匀分布和高斯分布)、力矩生成函数(MomentGeneratingFunctions)、最大似然估计(MLE)、先验和后验、最大后验估计(MAP)和采样方法。3.多元微积分:一些必修主题包括微分和积分、偏微分、向量值函数、方向梯度、Hessian、Jacobian、Laplace、Lagrangian分布。4.算法和复杂优化:这对于理解我们的机器学习算法的计算效率和可扩展性以及利用我们数据集中的稀疏性非常重要。所需知识是数据结构(二叉树、散列、堆、堆栈等)、动态规划、随机和次线性算法、图论、梯度/随机下降和原始对偶方法。5.其他:这包括上述四个主要领域未涵盖的数学主题。它们是真实而复杂的分析(集合和序列、拓扑、度量空间、单值连续函数、极限)、信息论(熵和信息增益)、函数空间和流形学习。学习机器学习所需的数学主题的一些MOOC和材料是(链接压缩):可汗学院的线性代数(http://suo.im/fgMNX)、概率与统计(http://suo.im/CqwY9)、多元微积分(http://suo.im/xh6Zn)和优化(http://suo.im/1o2Axs)“矩阵编程:计算机科学应用中的线性代数编码”,布朗大学PhilipKlein的矩阵:通过计算机科学应用的线性代数:http://codingthematrix.comRobertvandeGeijn,德克萨斯大学,线性代数–edX上的前沿基础:http://suo.im/hKRnWTimChartier,戴维森学院新课程线性代数的应用;第一部分:http://suo.im/48Vary,第二部分:http://suo.im/3Xm3LhHarvardStat110lecturesbyJosephBlitzstein:http://suo.im/2vhVmbLarryWasserman的书《All of statistics: A Concise Course in Statistical Inference》,下载:http://suo.im/v9u7kStanford'sBoydandVandenberghe'scourseonconvexoptimization:http://suo.im/2wdQnfUdacity'sIntroductiontoStatisticscourse:http://suo.im/v9u7k//suo.im/1enl1cCoursera/斯坦福大学吴恩达教授的机器学习课程:http://suo.im/1eCvp9这篇博文的主要目的是给出一些关于数学在机器学习建议中的重要性的良好意图,一些必修的数学主题,以及掌握这些主题的一些有用资源。然而,一些刚接触数学的机器学习爱好者可能会觉得这篇博文令人难过(说真的,我不是故意的)。对于初学者来说,您不需要很多数学知识就可以开始机器学习研究。吸收睡眠的基本条件就是这篇博文中描述的数据分析,你可以在掌握更多技术和算法的过程中学习数学。【本文为专栏组织机器之心,微信公众号“机器之心(id:almosthuman2014)”原创翻译】点此查看作者更多好文
