吴恩达机器学习课程笔记-3.线性代数回顾

文章目录

    • 3.线性代数回顾(Linear Algebra Review)
      • 3.1 矩阵和向量(Matrices and Vectors)
      • 3.2 加法和标量乘法(Addition and Scalar Multiplication)
      • 3.3 矩阵向量乘法(Matrix-Vector Multiplication)
      • 3.4 矩阵乘法(Matrix-Matrix Multiplication)
      • 3.5 矩阵乘法的性质(Matrix Multiplication Properties)
      • 3.6 逆和转置(Inverse and Transpose)

3.线性代数回顾(Linear Algebra Review)

3.1 矩阵和向量(Matrices and Vectors)

矩阵是由数字组成的矩形阵列。
A = [ 1402 191 1371 821 949 1437 147 1448 ] A=\left[ \begin{matrix} 1402 & 191 \\ 1371 & 821 \\ 949 & 1437 \\ 147 & 1448 \\ \end{matrix} \right] A=1402137194914719182114371448
上面矩阵的是一个4x2矩阵,即矩阵的维数是4x2(行数x列数)
A i j A_{ij} Aij指第 i i i行,第 j j j列的元素,例如 A 32 = 1437 A_{32}=1437 A32=1437

向量是只有一列的矩阵(讲义中的向量通常是指列向量),例如: y = [ 460 232 315 178 ] y=\left[ \begin{matrix} 460 \\ 232 \\ 315 \\ 178 \\ \end{matrix} \right] y=460232315178
有4x1个元素,称为四维(列)向量。

3.2 加法和标量乘法(Addition and Scalar Multiplication)

矩阵的加法相同维度(行数列数都相同)的两个矩阵可以相加,
例:
[ 1 0 2 5 3 1 ] + [ 4 0.5 2 5 0 1 ] = [ 5 0.5 4 10 3 2 ] \left[\begin{matrix}1&0\\ 2&5\\ 3&1\\ \end{matrix}\right] +\left[\begin{matrix}4&0.5\\ 2&5\\ 0&1\\ \end{matrix}\right]= \left[\begin{matrix}5&0.5\\ 4&10\\ 3&2\\ \end{matrix}\right] 123051+4200.551=5430.5102
矩阵和标量(这里指实数)的乘法:实数乘每一个元素,
例:
3 ∗ [ 1 0 2 5 3 1 ] = [ 3 0 6 15 9 3 ] = [ 1 0 2 5 3 1 ] ∗ 3 3*\left[\begin{matrix}1&0\\ 2&5\\ 3&1\\ \end{matrix}\right] =\left[\begin{matrix}3&0\\ 6&15\\ 9&3\\ \end{matrix}\right]= \left[\begin{matrix}1&0\\ 2&5\\ 3&1\\ \end{matrix}\right]*3 3123051=3690153=1230513

3.3 矩阵向量乘法(Matrix-Vector Multiplication)

矩阵和向量的乘法 m × n m \times n m×n的矩阵乘以 n × 1 n \times 1 n×1的向量,得到的是 m × 1 m \times 1 m×1的向量。
例1:
[ 1 3 4 0 2 1 ] [ 1 5 ] = [ 16 4 7 ] \left[\begin{matrix}1&3\\ 4&0\\ 2&1\\ \end{matrix}\right] \left[\begin{matrix}1\\ 5\\ \end{matrix}\right]= \left[\begin{matrix}16\\ 4\\ 7\\ \end{matrix}\right] 142301[15]=1647
计算过程:
1 × 1 + 3 × 5 = 16 4 × 1 + 0 × 5 = 4 2 × 1 + 1 × 5 = 7 1 \times 1 + 3 \times 5 = 16\\ 4 \times 1 + 0 \times 5 = 4\\ 2 \times 1 + 1 \times 5 = 7 1×1+3×5=164×1+0×5=42×1+1×5=7
例2:
[ 1 2 1 5 0 3 0 4 − 1 − 2 0 0 ] [ 1 3 2 1 ] = [ 14 13 − 7 ] \left[\begin{matrix}1&2&1&5\\ 0&3&0&4\\ -1&-2&0&0\\ \end{matrix}\right] \left[\begin{matrix}1\\ 3\\ 2\\ 1\\ \end{matrix}\right]= \left[\begin{matrix}14\\ 13\\ -7\\ \end{matrix}\right] 1012321005401321=14137
计算过程:
1 × 1 + 2 × 3 + 1 × 2 + 5 × 1 = 14 0 × 1 + 3 × 3 + 0 × 2 + 4 × 1 = 13 − 1 × 1 + − 2 × 3 + 0 × 2 + 0 × 1 = − 7 1 \times 1 + 2 \times 3 + 1 \times 2 + 5 \times 1 = 14\\ 0 \times 1 + 3 \times 3 + 0 \times 2 + 4 \times 1 = 13\\ -1 \times 1 + -2 \times 3 + 0 \times 2 + 0 \times 1 = -7\\ 1×1+2×3+1×2+5×1=140×1+3×3+0×2+4×1=131×1+2×3+0×2+0×1=7

应用到之前讲到的房价预测问题,假设有四组数据:

House sizes
2104
1416
1534
852
假设函数为:

h θ ( x ) = − 40 + 0.25 x h_\theta(x)=-40 + 0.25x hθ(x)=40+0.25x

可以使用矩阵向量相乘的方法表示,并计算出所有房子的价格:
[ 1 2104 1 1416 1 1534 1 852 ] [ − 40 0.25 ] = [ − 40 × 1 + 0.25 × 2104 − 40 × 1 + 0.25 × 1416 − 40 × 1 + 0.25 × 1534 − 40 × 1 + 0.25 × 852 ] \left[\begin{matrix}1&2104\\ 1&1416\\ 1&1534\\ 1&852\\ \end{matrix}\right] \left[\begin{matrix}-40\\ 0.25\\ \end{matrix}\right]= \left[\begin{matrix}-40 \times 1 + 0.25 \times 2104\\ -40 \times 1 + 0.25 \times 1416\\ -40 \times 1 + 0.25 \times 1534\\ -40 \times 1 + 0.25 \times 852\\\end{matrix}\right] 1111210414161534852[400.25]=40×1+0.25×210440×1+0.25×141640×1+0.25×153440×1+0.25×852
具体到代码实现可以直接写成如下形式:

prediction = DataMatrix * parameters

这种写法不仅简洁,而且当数据量较大时,效率也高于for循环的写法。

3.4 矩阵乘法(Matrix-Matrix Multiplication)

m × n m\times n m×n矩阵乘以 n × o n\times o n×o,结果为 m × o m\times o m×o矩阵。
吴恩达机器学习课程笔记-3.线性代数回顾_第1张图片
吴恩达机器学习课程笔记-3.线性代数回顾_第2张图片
还是上面的房屋数据,此时有三组假设函数,那么用矩阵乘矩阵的计算方法如下:
吴恩达机器学习课程笔记-3.线性代数回顾_第3张图片
编程时采用这种方式的好处是:

  1. 代码简洁,不用每次都写复杂的for循环结构。
  2. 计算效率高,一些开源线性代数库都对实现矩阵间的乘法的效率进行了高度优化。

3.5 矩阵乘法的性质(Matrix Multiplication Properties)

不满足交换律
A × B ≠ B × A A\times B \ne B\times A A×B̸=B×A
满足结合律
A × ( B × C ) = ( A × B ) × C A\times (B \times C) = (A \times B) \times C A×(B×C)=(A×B)×C
单位矩阵:主对角线元素全部为1,其他元素全部为0的矩阵。通常用I或E表示。
A I = I A = A AI=IA=A AI=IA=A

3.6 逆和转置(Inverse and Transpose)

如果A是一个 m × m m\times m m×m矩阵(方阵),并且有逆矩阵
A A − 1 = A − 1 A = I AA^{-1} = A^{-1}A = I AA1=A1A=I

矩阵的转置
B i j = A j i B_{ij}=A_{ji} Bij=Aji,则 A T = B A^T=B AT=B

直观来看,将 A A A的所有元素绕着一条从 A 11 A_{11} A11出发的右下方45°的轴做镜面反转,即得到 A A A的转置。
例如:
A = [ 1 2 0 3 5 9 ] A=\left[\begin{matrix}1&2&0\\ 3&5&9\\ \end{matrix}\right] A=[132509]
B = A T = [ 1 3 2 5 0 9 ] B=A^T=\left[\begin{matrix}1&3\\ 2&5\\ 0&9\\ \end{matrix}\right] B=AT=120359
矩阵转置的基本性质
( A ± B ) T = A T ± B T ( A × B ) T = B T × A T ( A T ) T = A ( k A ) T = k A T (A\pm B)^T=A^T\pm B^T\\ (A\times B)^T=B^T\times A^T\\ (A^T)^T=A\\ (kA)^T=kA^T (A±B)T=AT±BT(A×B)T=BT×AT(AT)T=A(kA)T=kAT

你可能感兴趣的:(吴恩达机器学习课程笔记,吴恩达,机器学习,笔记,线性代数)