当前位置: 首页 > 科技观察

带您了解机器学习中线性代数的10个示例_0

时间:2023-03-21 12:55:43 科技观察

线性代数是数学的一个分支学科,涉及向量、矩阵和线性变换。它是机器学习的重要基础,从描述算法运行的符号到代码中算法的实现,都属于本学科的研究范围。虽然线性代数是机器学习领域不可或缺的一部分,但两者之间的密切关系往往无法解释,或者只能用向量空间或特定矩阵运算等抽象概念来解释。阅读本文后,您将了解:如何在处理表格数据集和图像等数据时使用线性代数结构。数据准备中使用的线性代数概念,例如单热编码和降维。在深度学习、自然语言处理和推荐系统等子领域深入使用线性代数符号和方法。开始吧。这10个机器学习案例是:数据集和数据文件数据集和数据文件图像和照片图像和照片One-Hot编码one-hot编码线性回归线性回归正则化正则化主成分分析主成分分析奇异值分解奇异值分解潜在语义分析潜在语义分析推荐系统推荐系统深度学习深度学习1.数据集和数据文件在机器学习中,您可以在数据集上拟合模型。这是一组表格格式的数字,其中每一行代表一组观察结果,每一列代表观察结果的一个特征。例如,以下数据集是Iris数据集的一部分:http://archive.ics.uci.edu/ml/datasets/Iris5.1,3.5,1.4,0.2,Iris-setosa4.9,3.0,1.4,0.2,Iris-setosa4.7,3.2,1.3,0.2,Iris-setosa4.6,3.1,1.5,0.2,Iris-setosa5.0,3.6,1.4,0.2,Iris-setosa这些数据实际上是一个矩阵:A线性代数中的关键数据结构。接下来,将数据分解为输入数据和输出数据以拟合监督机器学习模型(例如测量值和花卉品种),从而生成矩阵(X)和向量(y)。向量是线性代数中的另一个关键数据结构。每行的长度相同,即每一行的数据个数相同,所以我们可以说数据是向量化的。这些行可以一次性或分批提供给模型,并且模型可以预先配置为具有固定宽度的行。2.图像和照片也许你更习惯于在计算机视觉应用程序中处理图像或照片。您使用的每个图像本身都是一个固定宽度和高度的表格结构,每个单元格对于黑白图像具有1个像素值,对于彩色图像具有3个像素值。照片也是一种线性代数矩阵。与图像相关的操作,如裁剪、缩放、剪切等,使用线性代数的符号和操作来描述。3.one-hotencoding机器学习中有时会用到分类数据。可能是用于解决分类问题的类标签,或分类输入变量。对分类变量进行编码以使其更易于使用和学习某些技术是很常见的。one-hot编码是分类变量的一种常见编码。one-hotencoding可以理解为:创建一个表,列代表数据集中的每个类别,行代表数据集中的每个示例。在列中为给定行的分类值添加检查或“1”值,并向所有其他列添加“0”值。例如,一个有3行的颜色变量:redgreenblue...这些变量可能被编码为:red,green,blue1,0,00,1,00,0,1...每一行被编码为一个二进制向量,要分配值“0”或“1”的向量。这是稀疏表示的一个例子,是线性代数的一个子领域。4.线性回归线性回归是一种传统的统计方法,用来描述变量之间的关系。这种方法常用于机器学习中,为更简单的回归问题预测值。描述和解决线性回归问题的方法有很多种,即找到一组系数,将这些系数与每个输入变量相乘,然后将结果相加以获得输出变量的最佳预测。如果您使用过机器学习工具或库,解决线性回归问题的最常见方法是通过最小二乘优化,使用线性回归的矩阵分解方法(例如LU分解或奇异值分解)来解决。即使是总结线性回归方程的常用方法也使用线性代数符号:y=A.b其中y是输出变量,A是数据集,b是模型系数。5.正则化在应用机器学习时,我们往往寻求最简单可行的模型,以发挥解决问题的最佳技能。更简单的模型通常更擅长从具体示例概括为看不见的数据。在许多涉及系数的方法中,例如回归方法和人工神经网络,较简单的模型通常具有较小的系数值。模型中常用的一种在拟合数据时最小化系数值的技术称为正则化,常见的实现包括L2和L1形式的正则化。这两种形式的正则化实际上是对系数向量的大小或长度的度量,直接来自称为向量范数的线性代数方法。6.主成分分析通常,数据集有很多列,可能有数十、数百、数千或更多。对具有许多特征的数据进行建模可能具有挑战性。此外,从包含不相关特征的数据构建的模型通常不如在最相关数据上训练的模型。很难知道数据的哪些特征相关,哪些不相关。自动减少数据集中列数的方法称为降维,其中最流行的可能是主成分分析,简称PCA。该方法为机器学习中的可视化和模型创建高维数据的投影。PCA方法的核心是线性代数的矩阵分解方法,可能使用特征分解,更一般的实现可以使用奇异值分解(SVD)。7.奇异值分解另一种流行的降维方法是奇异值分解法,简称SVD。如上所述,顾名思义,它是一种源自线性代数领域的矩阵分解方法。这种方法在线性代数中有着广泛的用途,可以直接应用于特征选择、可视化、降噪等。在机器学习中我们看到以下两种使用SVD的案例。8.潜在语义分析在用于处理文本数据(称为自然语言处理)的机器学习子领域中,文档通常表示为单词出现的大型矩阵。例如,矩阵的列可以是词汇表中的已知单词,行可以是句子、段落、页面或文本文档,矩阵中的单元格标记为单词出现的次数或频率。这是文本的稀疏矩阵表示。可以对这个稀疏矩阵应用矩阵分解方法(例如奇异值分解),它可以提取矩阵表示中最相关的部分。以这种方式处理的文档比较容易比较、查询,并且可以作为有监督机器学习模型的基础。这种数据准备形式称为潜在语义分析(LatentSemanticAnalysis,简称LSA),也称为潜在语义索引(LatentSemanticIndexing,LSI)。9.推荐系统涉及产品推荐的预测建模问题被称为推荐系统,它是机器学习的一个子领域。例如,根据您在亚马逊上的购买历史和像您这样的客户的购买历史向您推荐书籍,或者根据您或您喜欢的人在Netflix上观看的内容推荐电影或电视节目。推荐系统的发展主要涉及线性代数方法。一个简单的例子是使用欧氏距离或点积等距离度量来计算稀疏客户行为向量之间的相似性。像奇异值分解这样的矩阵分解方法被广泛应用于推荐系统中,以提取项目和用户数据中有用的部分用于查询、检索和比较。10.深度学习人工神经网络是受大脑信息处理元素启发的非线性机器学习算法,其有效性已在一系列问题中得到证明,其中最重要的是预测建模。深度学习是最近复兴的人工神经网络,它使用最先进的方法和更快的硬件,可以在非常大的数据集上开发和训练更大更深(更多层)的网络。深度学习方法通??常在机器翻译、照片字幕、语音识别等一系列具有挑战性的领域取得最先进的成果。神经网络的执行涉及线性代数数据结构的乘法和加法。如果扩展到多维,深度学习方法可以处理向量、矩阵,甚至输入和系数的张量,其中张量是二维以上的矩阵。线性代数是描述深度学习方法的核心,通过矩阵表示法实现,例如谷歌的TensorFlowPython库,其名称中包含“张量”一词。原文链接:https://machinelearningmastery.com/examples-of-linear-algebra-in-machine-learning/almosthuman2014)》】点此阅读作者更多好文