机器学习线性代数中的矩阵类型2025年06月20日 | 阅读 6 分钟 矩阵是机器学习的核心。它们被用作许多算法和数据转换的构建块。在线性代数中,不同类型的矩阵用于不同的任务。它们被用来表示数据、求解方程,甚至执行计算。了解这些不同类型的矩阵对于在机器学习中构建高效模型至关重要。以下是一些在机器学习中使用的矩阵 方阵方阵是指行数和列数相等的矩阵。它表示为 n×n,其中 n 代表行数和列数。方阵在许多 线性代数 应用中都很重要,例如计算行列式、特征值和特征向量。它们对于诸如求逆或处理对角化之类的矩阵运算非常重要。 输出 ![]() 在这里,使用 NumPy 的 np.array 函数创建了一个普通的 2x2 方阵。然后打印出结果矩阵。 对角矩阵对角矩阵是一种主对角线上的元素可以为任意值,但所有其他位置上的元素都为零的矩阵。这类矩阵很重要,因为它们可以简化矩阵运算的复杂性,尤其是在计算矩阵的幂或求解线性方程组时。它们主要用于与矩阵的特征分解相关的计算中,并在这种应用中给出给定矩阵的特征值。 输出 ![]() 在这里,我们将使用 np.diag 来创建一个 3x3 的对角矩阵。这里,值 [1, 2, 3] 被放在对角线上;其他所有元素都为零。 单位矩阵单位矩阵是一种特殊的方阵,其所有对角线元素为 1,而所有其他元素为 0。单位矩阵之所以是乘法单位元,是因为任何矩阵与单位矩阵相乘都会保持该矩阵不变。单位矩阵在许多应用中都很有用,例如在求解线性方程组和矩阵求逆的概念中。 输出 ![]() 使用 np.eye(3) 将得到一个 3x3 的单位矩阵,其中对角线元素为 1,非对角线元素为 0。 对称矩阵'对称矩阵是其本身等于其转置的方阵,即 A=A^T。也就是说,位置 (x, y) 处的元素与位置 (y, x) 处的元素相同。对称矩阵在优化问题、特征值问题以及许多物理应用中非常常见,尤其是在结构力学和量子物理学中。 输出 ![]() symmetric_matrix 是一个 3x3 的对称矩阵,其中每个元素都是对角线两侧的镜像。 稀疏矩阵这种矩阵是指除了极少数位置外,所有元素都为 0 的矩阵。许多应用处理的数据自然以稀疏形式存在——例如,自然语言处理和推荐系统。有效地表示稀疏矩阵至关重要,以便节约内存使用并避免非常高的计算成本。SciPy 的库提供了稀疏矩阵格式,如 CSR (Compressed Sparse Row),它可以存储大型稀疏矩阵。 输出 ![]() 在这里,我们使用 csr_matrix 创建一个稀疏矩阵。然后调用 toarray() 函数将稀疏矩阵转换为密集的 NumPy 数组以进行显示。 秩亏矩阵秩亏意味着它未能达到满秩;也就是说,它的行或列是线性相关的。在这种情况下,它不能被求逆,因此出现在数据中存在冗余的问题中。在机器学习中,当特征因子之间存在多重共线性或非常强的关联时,就会发生这种情况。 输出 ![]() rank_deficient_matrix 是一个 2x2 的矩阵。该矩阵是秩亏的,因为它的第二行是第一行的标量倍数,这使得它们线性相关。 正定矩阵正定矩阵是一种对称矩阵,其中所有特征值都是正数。这类矩阵在优化中也很重要,因为它确保了二次型存在唯一的最小值。此外,它们在统计的 协方差矩阵 中占有一席之地,因为它确保了方差为正。 输出 ![]() 给定的 positive_definite_matrix 是一个 2x2 的对称矩阵。它的所有特征值都是正数,因此它是正定的。 上三角矩阵上三角矩阵是一个方阵,其主对角线以下的所有元素都为零。它是线性系统前向消元过程中非常有用的形式之一。此外,在进行矩阵分解时,例如 LU 分解,也可能遇到它。 输出 ![]() 我们可以使用 np.triu 来取一个矩阵并将其主对角线以下的所有元素置零,使其成为上三角形式。 下三角矩阵下三角矩阵是一个方阵,其主对角线上方的所有元素都为 0。它用于求解线性系统,特别是高斯消元和矩阵分解的过程。这与生成上三角矩阵的过程几乎相同。 输出 ![]() 在此示例中,使用 np.tril 来生成一个下三角矩阵,该矩阵将对角线以上的所有元素置零。 Toeplitz 矩阵Toeplitz 矩阵是一种其每条对角线上的元素从左到右都相等的矩阵。当数据表现出自身重复的模式时,这类矩阵会出现在信号处理、时间序列分析和图像处理中。 输出 ![]() 以下是 scipy.linalg 的 toeplitz 函数如何使用列表 [1, 2, 3] 作为输入来构造一个所有从左到右的对角线值都相等的矩阵。 Hankel 矩阵Hankel 矩阵是一个方阵,其中每条升对角线上的元素值都恒定。与 Toeplitz 矩阵一样,它也用于信号处理和时间序列分析。 输出 ![]() scipy.linalg.hankel 函数生成一个其每个升对角线上的元素值都恒定的矩阵。 邻接矩阵该矩阵表示网格或图。邻接矩阵的元素定义了图中顶点对的邻接关系。它是一个方阵。位置 (i, j) 的值表示顶点之间是否存在边。 输出 ![]() 该矩阵表示一个具有三个顶点和两条边的简单无向图。这里,值 1 表示两个顶点之间存在边,0 表示不存在边。 随机矩阵在概率论中,随机矩阵是指其元素为概率值的方阵。由于它是关于一组结果的概率分布,因此每列的总和必须为 1。随机矩阵表示马尔可夫链中的状态转移。 输出 ![]() 这是一个 2x2 的随机矩阵,其每列的值相加为 1。也就是说,每列构成一个有效的概率分布。 下一主题高斯判别分析 |
我们请求您订阅我们的新闻通讯以获取最新更新。