机器学习的线性代数:关键概念,为什么要在机器学习之前学习

已发表: 2020-04-30

机器学习、机器人技术、数据科学、人工智能和计算机视觉是有助于将我们的技术提升到现在水平的领域。 当您开始获得有关这些技术的更多知识时,您会遇到这些技术共有的一组行话或特定词。

其中一些术语包括套索回归、KKT 条件、核 PCA、支持向量机 (SVM)、拉格朗日乘数和岭回归等。 现在,这些行话可能只是为了让外人远离而创造出来的,但他们说了很多关于它们与我们在学校时所知道的典型线性代数的关联。

因此,每个学习机器学习或数据科学的人都必须首先了解线性代数和优化理论是什么。 您还需要学习数据科学,并知道如何在使用 ML 解决问题或使用数据科学更深入地了解可用的大量数据时使用它们。

在本博客中,我们将重点介绍机器学习和线性代数之间的关系,以及更好地理解后者如何帮助您掌握前者。

机器学习中有一些概念,例如 SVM 和回归,如果您不了解它们的线性代数联系,您将无法正确理解它们。 如果您只是通过这些概念来了解这些概念实际上是什么并且不想进一步研究它们,那么您无需深入研究线性代数及其与机器学习的关系。

但是,如果您计划成为一名机器学习工程师,并在未来训练机器或进行研究并在该领域做出重大贡献,那么您将不得不深入挖掘。 没有其他选择。 必须具有扎实的线性代数背景。 我们撰写此博客的主要目的是向您展示线性代数的基础知识,确保我们展示它们如何在机器学习中使用。 让我们首先了解线性代数到底是什么。

目录

什么是线性代数?

简而言之,它是数学的一个分支,在工程和科学中有重要的应用。 尽管它具有如此重要的意义,并且其应用远远超出了我们的想象,但我们看到我们的科学家在对其进行更深入的了解方面落后了。 这背后的主要原因是因为我们发现大多数科学家经常使用的不是离散数学。

它属于数学的连续部分,这使得科学家和在技术领域工作的人们对它不太感兴趣。 现在让我们把一件事说清楚。 如果您甚至对线性代数的工作原理都没有基本了解,您会发现学习和使用多种机器学习算法(包括深度学习算法)非常困难。

当您了解机器学习的基本原理以及如何以及在何处使用其算法时,您将需要花更多的时间来学习数学。 这将帮助您了解很多以前不了解的有关机器学习算法的新知识。 你会知道很多关于它们的局限性、基本假设等等。

现在,您将遇到在这一点上学习的不同数学领域,以学习更多地使用机器学习。 您可以学习几何、代数、微积分和统计等主题; 然而,你需要明智地选择你认为真正能帮助你丰富你的经验并为你在机器学习职业生涯中前进的道路提供更坚实的基础的领域。 您甚至可以请专家帮助您做出决定。

你现在要问自己的下一个问题是你需要如何进行这个学习过程。 你不能从头开始学习线性代数。 您将不得不以一种或另一种方式选择机器学习中使用的主题。 在下一节中,我们将讨论一些您可以选择学习的线性代数主题。

了解更多:为初学者解释的 5 大机器学习模型

重要的线性代数概念

如果您想了解机器学习背后的基本概念,那么对一些线性代数概念有足够的了解是非常重要的。 如果您不了解这些高级机器学习算法背后的数学原理,您就不会希望掌握它们。 这里有一些线性代数的概念,你需要了解它们才能了解机器学习的工作原理。

1. 向量和矩阵

可以说这两个概念可以说是您需要学习的两个最重要的概念,因为它们与机器学习密切相关。 向量由一组数字组成,而矩阵由通常以大写形式提及的二维向量组成。

现在让我们看看它们是如何与机器学习算法联系起来的。 向量发现自己在有监督的机器学习算法中很有用,它们以目标变量的形式存在。 另一方面,数据中可用的特征形成矩阵。 您可以使用矩阵执行许多操作——共轭、乘法、秩、变换等。 两个具有相同元素数量和形状相等的向量也可以用于执行减法和加法。

2. 对称矩阵

对称矩阵在线性代数和机器学习中都很重要。 线性代数矩阵主要用于携带函数。 大多数时候,这些函数是对称的,对应的矩阵也是如此。 这些函数及其持有的值可用于测量特征距离。 它们也可用于测量特征协方差。 下面列出了对称矩阵的一些性质:

  • 对称矩阵及其逆矩阵都是对称的。
  • 特征值中的所有值都是实数。 不存在复数。
  • 当一个矩阵与它的转置相乘时,就形成了一个对称矩阵。
  • 对称矩阵也具有分解的性质。
  • 对于具有线性独立列的矩阵,矩阵与其转置相乘的结果是可逆的。

3.特征值和特征向量

特征向量是仅按标量因子变化的向量,它们的方向根本没有变化。 对应于特征向量的特征值是它们被缩放的大小。 特征值和特征向量存在于数学和计算的基础知识中。 当我们在 XY 图上绘制一个向量时,它遵循一个特定的方向。 当我们对几个向量应用线性变换时,我们看到它们并没有改变它们的方向。 这些向量在机器学习中非常重要。

特征值和特征向量用于最小化数据噪声。 我们还可以使用这两者来提高已知计算密集型任务的效率。 它们也可以用来消除过度拟合。 还有其他几种情况,特征值和特征向量证明是有用的。

将声音、文本或图像数据的特征可视化是相当困难的。 该数据通常以 3-D 表示。 这就是特征值和特征向量出现的地方。 它们可用于捕获存储在矩阵中的所有大量数据。 特征值和特征向量也用于面部识别。

阅读:面向初学者的机器学习项目创意

4. 主成分分析(PCA)

很多时候,在解决某些机器学习问题时,维度会使事情变得困难。 在这些问题中,我们正在处理的数据的特征彼此之间具有非常高的相关性,并且其维度比平常更高。

这个维度问题带来的问题是,很难理解每个特征对目标变量的影响。 之所以如此,是因为具有比正常更高相关性的特征倾向于以相同的方式影响目标。 可视化更高维度的数据也非常困难。

主成分分析就是解决这些问题的方法。 它可以帮助您将数据维度降低到 2-D 或 3-D。 这样做是为了确保不会由于最大方差的变化而丢失任何信息。 PCA 背后的数学与正交性有关。 PCA 是通过减少数据集中的特征数量来降低模型复杂性的最佳方法。

但是,您应该避免将其用作消除过度拟合的初始步骤。 您应该从限制数据中的特征数量或增加数据量开始。 然后,您应该尝试使用 L1 或 L2 正则化。 如果没有任何效果,那么您应该求助于 PCA。

另请阅读:您应该了解的前 9 个机器学习库

为什么要在机器学习之前学习线性代数?

1. 线性代数是机器学习出类拔萃的关键

不可否认,在高等数学方面,微积分胜过线性代数。 积分和微积分不仅可以帮助您进行积分、微分和限制,还可以作为应用程序所需的基础知识,例如张量和向量。

学习这些东西将帮助您更好地理解其他领域的线性方程和线性函数。 您还将了解高级概念,例如单纯形法和空间向量。 如果您需要有关线性规划的帮助,可以使用 Simplex 方法。 为了更好地理解这些概念,首先要给线性代数更多的时间。

2.机器学习预测

当你学习线性代数时,你会提高在机器学习中发挥如此重要作用的意识或直觉。 您现在将能够提供更多观点。 您学习的矩阵和向量将帮助您拓宽思路,使其更加坚定不移。 可能性是无止境。 你可以开始做你周围的人会觉得很难理解的事情。 您可以开始可视化和设置不同的图表。 您可以开始为不同的机器学习组件使用更多参数。

3. 线性代数有助于创建更好的机器学习算法

您可以使用您对线性代数的学习来构建更好的有监督和无监督机器学习算法。 逻辑回归、线性回归、决策树和支持向量机 (SVM) 是一些监督学习算法,您可以借助线性代数从头开始创建它们。

另一方面,您也可以将它用于无监督算法,包括单值分解 (SVD)、聚类和成分分析。 线性代数将帮助您更深入地了解您正在从事的机器学习项目,从而使您能够灵活地自定义不同的参数。 您可以了解有关机器学习中线性回归的更多信息。

4. 机器学习中更好的图形处理的线性代数

机器学习项目为您提供不同的图形解释——图像、音频、视频和边缘检测。 机器学习算法具有分类器,可根据其类别训练给定数据集的一部分。 分类器的另一项工作是消除已经训练过的数据中的错误。

正是在这个阶段,线性代数开始帮助计算这个复杂而庞大的数据集。 它使用矩阵分解技术来处理和处理不同项目的大数据。 最流行的矩阵分解方法是 QR 和 LU 分解。

5. 线性代数来提高你对统计的理解

统计对于在机器学习中组织和整合数据非常重要。 如果你想更好地理解统计概念,你首先需要了解线性代数是如何工作的。 线性代数的方法、运算和符号可以帮助将高级统计主题(如多变量分析)集成到您的项目中。

假设您正在处理包括体重、身高、血压和心率在内的患者数据。 这些是您正在处理的数据集的多个变量。 让我们在这里假设体重增加会导致血压升高。 不难理解,这是一个线性关系。 因此,为了更好地理解一个变量的增加如何影响另一个变量,您需要对线性代数有一个很好的理解。

结论

机器学习本身就是一个相当广泛的话题。 但是,还有其他概念,例如线性代数,与 ML 本身一样重要。 学习线性代数和其他此类主题将有助于更好地理解机器学习的概念。

如果您有兴趣了解有关机器学习的更多信息,请查看 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭,该文凭专为工作专业人士设计,提供 450 多个小时的严格培训、30 多个案例研究和作业、IIIT- B 校友身份、5 个以上实用的实践顶点项目和顶级公司的工作协助。

哪个对机器学习更重要——微积分还是线性代数?

如果您打算在机器学习领域建立职业生涯,那么您必须已经知道该领域的基础深植于数学之中。 机器学习数学包括 3 个关键领域,微积分、线性代数和统计学。 由于机器学习涉及大量的向量和矩阵,线性代数构成了其最基本的部分。 但是微积分也是 ML 不可或缺的一部分,因为它有助于理解机器学习机制的运作方式。 所以微积分和线性代数同样重要。 但是,您必须使用多少主要取决于您的工作角色和职责。

线性代数比微积分更难学吗?

线性代数是关于使用线性方程研究直线,而微积分是关于平滑变化的分量,涉及导数、向量、积分、曲线等。 话虽如此,线性代数甚至比基本微积分更容易学习。 在线性代数中,如果你能理解线性代数定理背后的理论,你就能解决所有相关的问题。 但是,这不足以解决微积分问题。 不仅仅是记住算法,即理论部分,您还需要了解计算方面的知识,以回答微积分中的计算问题。 微积分是数学中最具挑战性的部分,而线性代数更具体,更不抽象; 以后更容易理解了。

统计学在机器学习中重要吗?

谈到机器学习,你不能把统计数据排除在外。 专家们认为机器学习是应用统计学,因此它是那些希望从事机器学习事业的人的先决条件。 在设计机器学习模型时,数据起着至关重要的作用。 需要统计技术来根据累积的数据找到答案,这些数据将用于训练不同的机器学习模型。 因此,机器学习必须具备基本的统计学知识。