我正在学习线性代数(最近开始),很想知道它在机器学习中的应用,我在哪里可以读到这个
谢谢
答案 0 :(得分:26)
线性代数为大多数机器学习算法提供了计算引擎。
例如,可能是ML最引人注目和最常见的应用 是推荐引擎。
除了数据检索之外,这些算法的真正关键还在于此 “重建”用作这些引擎输入的可笑稀疏数据。 提供给Amazon.com基于用户的R / E的原始数据(可能)是巨大的 数据矩阵,其中用户是行并且其产品被表示 在列中。因此,要有机地填充这个矩阵,每个客户都必须这样做 购买Amazon.com销售的每件产品。这里使用基于线性代数的技术。
当前使用的所有技术都涉及某种类型的 矩阵分解 ,一种基本的 一类线性代数技术(例如non-negative matrix approximation,和 positive-maximum-margin-matrix approximation(pdf的警告链接!)可能是最常见的两个)
其次,许多(如果不是大多数)ML技术依赖于数值优化技术。 例如,大多数受监督的ML算法涉及通过最小化由新生分类器计算的值与之间的差来创建训练的分类器/回归器。 训练数据的实际值。这可以迭代地或使用线性代数来完成 技术。如果是后者,则该技术通常是 SVD 或某些变体。
第三, 基于光谱的分解 - PCA(主成分分析) 和内核PCA - 可能是最常用的降维技术, 通常在数据流中的ML算法之前的预处理步骤中应用, 例如,PCA经常在Kohonen Map中用于初始化 格子。这些技术的主要见解是协方差矩阵的特征向量(从原始数据矩阵准备的主对角线下方为零的正方形对称矩阵)是单位长度并且彼此正交。
答案 1 :(得分:3)
在机器学习中,我们通常以向量/矩阵的形式处理数据。使用的任何统计方法都涉及线性代数作为其不可分割的部分。此外,它在数据挖掘中很有用 SVD和PCA是涉及线性代数的着名降维技术 贝叶斯决策理论也涉及大量的洛杉矶。你也可以尝试。
答案 2 :(得分:2)
奇异值分解(SVD)是机器学习中广泛使用的经典方法。
我发现这篇文章相当容易,解释了基于SVD的推荐系统,请参阅http://www.igvita.com/2007/01/15/svd-recommendation-system-in-ruby/。
Strang的线性代数书,包含一个关于SVD应用于网页排名的部分(HITS算法),请参阅Google Books。