> 技术文档 > 吴恩达机器学习笔记(3)—线性代数回顾(可选)_吴恩达《线性代数》复习课

吴恩达机器学习笔记(3)—线性代数回顾(可选)_吴恩达《线性代数》复习课

目录

一、矩阵向量

二、加法和标量乘法

三、矩阵向量乘法

四、矩阵乘法

五、矩阵乘法特征

六、逆和转置


在本篇内容中,我们将复习线性代数的知识。

一、矩阵和向量

矩阵是指由数字组成矩形阵列,并写在方括号内,矩阵的维数即行数×列数,如下是4×2矩阵。

$R^{4 \\times 2} = A = \\begin{bmatrix} 1402 & 191 \\\\ 1371 & 821 \\\\ 949 & 1437 \\\\ 147 & 1448 \\\\ \\end{bmatrix}$

矩阵元素 $A_{ij}$ 指第 i 行,第 j 列的元素。 比如:$ A_{11} = 1402,\\ A_{12} = 191 $

矩阵提供了一种很好的方式,能够快速整理、索引和访问大量数据。

向量是一种特殊的矩阵,向量是只有一列的矩阵,课程中的向量一般都是列向量。如下是一个向量,也称为四维列向量(4×1)。

$R^{4} = y = \\begin{bmatrix} 1402 \\\\ 1371 \\\\ 949 \\\\ 147 \\\\ \\end{bmatrix}$

向量元素 $y_{i}$ 表示向量的第 i 个元素。比如:$ y_{1} = 1402,\\ y_{2} = 1371 $

如下图,左图为从 1 开始索引向量,右图为从 0 开始索引向量,如无特别说明,一般用从 1 开始索引向量

二、加法和标量乘法

矩阵的加法,将矩阵的行列数相等的元素都逐个相加,只有相同维度的两个矩阵才能相加。如下:

$\\begin{bmatrix} 1 & 0 \\\\ 2 & 5 \\\\ 3 & 1 \\\\ \\end{bmatrix} + \\begin{bmatrix} 4 & 0.5 \\\\ 2 & 5 \\\\ 0 & 1 \\\\ \\end{bmatrix} = \\begin{bmatrix} 5 & 0.5 \\\\ 4 & 10 \\\\ 3 & 2 \\\\ \\end{bmatrix}$

矩阵和标量的乘法,需要将矩阵中的元素和标量都逐一相乘标量是只有大小、没有方向的量(与向量/矢量相对),标量通常是实数。如下:

$3 \\times \\begin{bmatrix} 1 & 0 \\\\ 2 & 5 \\\\ 3 & 1 \\\\ \\end{bmatrix} = \\begin{bmatrix} 3 & 0 \\\\ 6 & 15 \\\\ 9 & 3 \\\\ \\end{bmatrix} = \\begin{bmatrix} 1 & 0 \\\\ 2 & 5 \\\\ 3 & 1 \\\\ \\end{bmatrix} \\times 3$

三、矩阵向量乘法

矩阵向量乘法,$ A = m \\times n$ 矩阵乘以 n 维向量( $x = n \\times 1$ 矩阵),计算结果是 m 维向量( $y = m \\times 1$ 矩阵),相乘的两个矩阵中的 n 是相等的。计算向量元素 $y_i$ 的过程,将矩阵 A 的第 i 行元素分别乘以向量 x 中的元素,并且相加起来。如下是 3x2 矩阵乘以 2x1 矩阵,计算结果是 3x1 矩阵。

$\\begin{bmatrix} 1 & 3 \\\\ 4 & 0 \\\\ 2 & 1 \\end{bmatrix} \\times \\begin{bmatrix} 1 \\\\ 5 \\end{bmatrix} = \\begin{bmatrix} 1 \\times 1 + 3 \\times 5 = 16 \\\\ 4 \\times 1 + 0 \\times 5 = 4 \\\\ 2 \\times 1 + 1 \\times 5 = 7 \\end{bmatrix}$

假设有个预测房子价格的公式 $h_\\theta \\left( x \\right)=-40 + 0.25x$ ,同时有四间房子的大小 x 的值分别为2104、1416、1534、852。矩阵向量乘法可以方便用来计算对应每个房子的价格。计算方式如下:

$\\begin{bmatrix} 1 & 2104 \\\\ 1 & 1416 \\\\ 1 & 1534 \\\\ 1 & 852 \\end{bmatrix} \\times \\begin{bmatrix} -40 \\\\ 0.25 \\end{bmatrix} = \\begin{bmatrix} 1 \\times -40 + 2104 \\times 0.25 \\\\ 1 \\times -40 + 1416 \\times 0.25 \\\\ 1 \\times -40 + 1534 \\times 0.25 \\\\ 1 \\times -40 + 852 \\times 0.25 \\end{bmatrix}$

例子中的小技巧是在计算预测房价时,可通过一行代码而不是一堆代码得到计算结果,代码更简洁并且计算效率更高

四、矩阵乘法

矩阵乘法在线性回归中,可用于解决参数 $ \\theta_{0} $ 和 $ \\theta_{1} $ 的计算问题而不需要梯度下降法。

矩阵乘法,$ A = m \\times n$ 矩阵乘以 $ B = n \\times o $ 矩阵,计算结果是 $ C = m \\times o $ 矩阵。计算矩阵 C 的第 i 列要用矩阵 A 和矩阵 B 的第 i 列相乘得到。能够相乘的矩阵必须满足第一个矩阵的列数必须等于第二个矩阵的行数的特征如下是 2x2 矩阵乘以 2x2 矩阵,计算结果是 2x2 矩阵。

$\\begin{bmatrix} 1 & 3 \\\\ 2 & 5 \\end{bmatrix} \\times \\begin{bmatrix} 0 & 1 \\\\ 3 & 2 \\end{bmatrix} = \\begin{bmatrix} 9 & 7 \\\\ 15 & 12 \\end{bmatrix}$

$\\begin{bmatrix} 1 & 3 \\\\ 2 & 5 \\end{bmatrix} \\times \\begin{bmatrix} 0 \\\\ 3 \\end{bmatrix} = \\begin{bmatrix} 9 \\\\ 15 \\end{bmatrix}$

$\\begin{bmatrix} 1 & 3 \\\\ 2 & 5 \\end{bmatrix} \\times \\begin{bmatrix} 1 \\\\ 2 \\end{bmatrix} = \\begin{bmatrix} 7 \\\\ 12 \\end{bmatrix}$

如下,假设要预测4间房子的价格,只有3个假设函数。要想将这3个假设都用于这4间房屋,使用矩阵乘法来计算,是一种高效的方法。计算结果的第 i 列是第 i 个假设的预测价格。

五、矩阵乘法特征

矩阵的乘法不满足交换律$A \\times B \\ne B \\times A$

$\\begin{bmatrix} 1 & 1 \\\\ 0 & 0 \\end{bmatrix} \\times \\begin{bmatrix} 0 & 0 \\\\ 2 & 0 \\end{bmatrix} = \\begin{bmatrix} 2 & 0 \\\\ 0 & 0 \\end{bmatrix}$

$\\begin{bmatrix} 0 & 0 \\\\ 2 & 0 \\end{bmatrix} \\times \\begin{bmatrix} 1 & 1 \\\\ 0 & 0 \\end{bmatrix} = \\begin{bmatrix} 0 & 0 \\\\ 2 & 2 \\end{bmatrix}$

矩阵的乘法满足结合律$A \\times (B \\times C) = (A \\times B) \\times C$

单位矩阵是一种特殊的矩阵,类比实数中的数字1,数字1可以看作是一个乘法单位,任意实数z乘以1都等于实数z。单位矩阵通常记作 I(或 $ I_{n \\times n} $),从矩阵的左上角到右下角的对角线(称为主对角线)上的元素均为1以外全都为0。如下,1x1的单位矩阵就是数字1。

$\\begin{bmatrix} 1 & 0 \\\\ 0 & 1 \\end{bmatrix} \\quad \\begin{bmatrix} 1 & 0 & 0 \\\\ 0 & 1 & 0 \\\\ 0 & 0 & 1 \\end{bmatrix}$

单位矩阵的特性:$A_{m \\times n} \\times I_{n \\times n} = I_{m \\times m} \\times A_{m \\times n} = A_{m \\times n} $

六、逆和转置

矩阵的逆:如矩阵 A 是一个 mxm 矩阵(方阵),如果有逆矩阵,则:$A \\times A^{-1} = A^{-1} \\times A = I $

并非所有矩阵都有逆矩阵,比如全为0的矩阵。不存在逆矩阵的矩阵也称为奇异矩阵或退化矩阵。

矩阵的转置:设 A 为 $m \\times n$ 矩阵,第 i 行 j 列的元素是 $a(i,j)$,即:$A = a(i,j)$,A 的转置矩阵为 $n \\times m $ 矩阵 B,满足 $B = a(j,i)$,即 $b(i,j) = a(j,i)$,(B的第 i 行第 j 列元素是A的第 j 行第 i 列元素),记 $A^T=B$ 或 $A\'=B$。直观来看,将 A 的所有元素绕着一条从第1行第1列元素出发的右下方45度的射线作镜面翻转,即得到 A 的转置。如下:

$\\begin{bmatrix} a & b \\\\ c & d \\\\ e & f \\end{bmatrix} ^T = \\begin{bmatrix} a & c & e \\\\ b & d & f \\end{bmatrix}$