本文摘要线性代数为各种各样的数据科学算法和应用提供支持
在这里,我会向您介绍通过线性代数帮助您成为更好的数据科学家的10种实际应用
我们已将这些应用程序分类到各个领域 - 基本机器学习,降维,自然语言处理和计算机视觉介绍
如果数据科学是蝙蝠侠,线性代数将是罗宾。这种忠实的伙伴经常被忽视。但实际上,它支持数据科学的主要领域,包括自然语言处理和计算机视觉等热门领域。
我个人看到很多数据科学爱好者选择跳过这个主题,因为他们发现数学太难理解了。当数据科学的编程语言提供了大量用于处理数据的软件包时,人们并不会对线性代数感到烦恼。
但这是个错觉。我们熟悉的所有强大的机器学习算法的背后都是线性代数。它是数据科学家技能的重要组成部分。我们很快就会看到,您应该将线性代数视为学习数据科学必须掌握的主题。
相信我,线性代数真的是无处不在!它将开启您以前无法想象的数据的可操作的可能性。
在本文中,我详细解释了十大线性代数在数据科学中的应用。我将应用大致分为四个领域供您参考:机器学习
维度降低
自然语言处理(NLP)
计算机视觉
我还为每个应用提供了资源,您可以深入了解您感兴趣的那个应用。
注意:在您继续阅读之前,我建议您阅读这篇精湛的文章 - 数据科学的线性代数。理解我们将在这里介绍的内容并不是强制性的,但它对于您技能的进步来说是一篇很有价值的文章。目录为什么学习线性代数?
机器学习中的线性代数损失功能
正则
协方差矩阵
支持向量机分类
维数降维中的线性代数主成分分析(PCA)
奇异值分解(SVD)
自然语言处理中的线性代数Word嵌入
潜在语义分析
计算机视觉中的线性代数图像表示作为张量
卷积和图像处理
为什么学习线性代数?
我曾经多次遇到过这个问题。当你只需用Python导入包并构建模型时,为什么要花时间学习线性代数?
我认为线性代数是数据科学的基础之一。没有坚实的基础,你无法建造一座摩天大楼,对吗?想想这种情况:
您希望使用主成分分析(PCA)来减少数据维度。如果您不知道它将如何影响您的数据,您将如何决定要保留多少主要组件?显然,您需要真正了解算法的机制才能做出此决定。
通过对线性代数的理解,您将能够更加了解机器学习和深度学习算法,这将允许您选择适当的超参数并开发更好的模型。
您还可以从头开始编写算法,并对它们进行自己的变换。这不是我们最初喜欢数据科学的原因吗?那我们需要将线性代数视为解锁一个全新世界的关键。机器学习中的线性代数
最大的问题 - 线性代数都适合机器学习的哪些部分?让我们来看看你们都非常熟悉的四个应用。
1.损失函数
您必须非常熟悉模型(如线性回归模型)如何拟合给定数据:您从一些任意预测函数开始(线性回归模型的线性函数)
在数据的独立功能上使用它来预测输出
计算预测输出与实际输出的距离
使用这些计算值可以使用Gradient Descent等策略优化预测函数
但是等等 - 您如何计算预测与预期输出的差异?用损失函数。
亏损函数是Vector Norm在线性代数中的应用。矢量的范数可以简单地说就是它的大小。有许多类型的矢量规范。我会很快解释其中两个:L1标准:也称为曼哈顿距离或出租车标准。如果从原点到矢量,如果唯一允许的方向与空间轴平行,则L1范数是您行进的距离。
在这个2D空间中,您可以通过沿x轴行进3个单位然后沿y轴平行移动4个单位(如图所示)到达矢量(3,4)。或者您可以先沿y轴行进4个单位,然后沿x轴行进3个单位。在任何一种情况下,您将共旅行7个单位。L2范数:也称为欧几里德距离。L2 Norm是矢量距原点的最短距离,如下图中的红色路径所示: