数学在机器学习工作中的作用
在尝试理解一个跨学科领域(例如,机器学习)时,主要问题是如何多的数学是必要的,以及理解这些技术需要多少数学。
机器学习是关于数学的,它有助于计算从数据中可以获得的收益以做出准确的预测。预测可以像从给定的一组图像中对狗或猫进行分类一样简单,或者根据过去的购买情况向客户推荐哪些商品。因此,正确理解任何核心机器学习算法背后的数学概念至关重要。这样,它可以帮助您为您的数据科学和机器学习项目选择合适的算法。
机器学习基于数学需求,只要你能理解为什么使用数学,它就很有趣。
机器学习中重要的数学概念
统计学
统计学是一个基本概念,每个有抱负的数据科学家都需要学习如何理解机器学习,同时处理诸如假设检验、逻辑回归、判别分析和分布之类的概念。
假设你在学校里学习统计学时遇到了困难。在这种情况下,你需要付出200%的努力来学习统计学的科学部分,因为这对于成为一名成功的数据科学家至关重要。更简单地说,统计学是机器学习中数学的主要部分。
微积分
许多在学校不喜欢学习微积分的学生将会感到震惊,因为它是机器学习的必要组成部分。幸运的是,你不需要精通微积分;只需要学习和掌握微积分的基本原理。此外,你需要在模型构建过程中理解微积分在机器学习中的实际应用。
因此,如果你理解函数的导数如何在微积分中返回其变化率,你将能够理解梯度下降的概念。在梯度下降中,我们需要找到函数的局部最小值等等。如果你有鞍点或多个最小值,梯度下降可能会找到局部最小值,而不是全局最小值,除非你从不同的位置开始。数据科学中精通微积分的一些基本主题是——微分和积分微积分、偏导数、向量值函数、方向梯度、雅可比矩阵等等。
线性代数
理解如何构建线性方程对于创建核心机器学习算法至关重要。这些将用于评估和观察数据集,并且它也应用于像线性回归这样的机器学习算法。这些是理解用于机器学习的优化技术的必要概念。
我们使用线性代数来执行主成分分析(PCA),它用于降低数据的维数。基于线性代数的数学也广泛用于神经网络中,用于处理和表示网络。你应该对基于线性代数的数学感兴趣,因为它广泛应用于数据科学。
但是,不要为此感到害怕,因为理解这些概念将非常重要。但是,你不需要成为线性代数专家就能解决大多数问题,对这些概念有扎实的理解就足够了。如果一开始你难以应付数学,Marc Peter Deisenroth的《机器学习数学》是一本很好的书,可以帮助你开始这段旅程。
离散数学
离散数学关注的是非连续数,即最常见的整数。许多应用需要使用离散数。机器学习中的许多模型都是离散的。例如,神经网络具有整数个节点和连接,它不可能有0.65个节点或九分之一的连接。因此,构建神经网络的数学必须包含一个离散成分,即表示节点和连接数量的整数。
除非你希望处理关系域、图形模型、组合问题、结构化预测等,否则你可以应付机器学习中离散数学的基础知识。对于软件工程专业的毕业生来说,幸运的是,这些概念在他们的学校里得到了适当的讲解。然而,其他人可能需要投入更多的时间来掌握这个主题。因此,离散数学是人工智能和机器学习的重要组成部分。
概率论
为了正确地管理机器学习预测建模项目,推断概率是必不可少的。机器学习是从不确定数据中创建预测模型的方法,不确定性涉及处理有缺陷或不完整的数据。不确定性对于机器学习至关重要,但却是让新手(特别是那些来自编程背景的人)最头疼的部分之一。
即使借助正确的概率工具,我们也可以估计问题的答案。
结论
数学已经成为我们日常生活的一部分。从我们醒来直到睡觉,我们在生活的每个部分都使用数学。然而,你可能会思考数学在机器学习中的重要性,以及是否以及如何利用它来解决任何现实世界的业务问题。