吴恩达机器学习笔记---线性代数复习

前言

 1.矩阵和向量(Matrices and Vectors )
 2.矩阵的加、减、乘、逆和转置

线性代数回顾(Linear Algebra Review)

       这一节主要是回顾矩阵和向量的有关知识,比较简单,先罗列一下知识点,再通过代码回顾一下。

  • 矩阵的维数用行数×列数(m×n)来表示
  • 一般用大写字母A,B,C等表示矩阵,用下标指引矩阵中的元素,例如Aij表示是第i行第j列的元素(一般从1开始计数,有时从0开始计数)
  • 向量是一种特殊的矩阵,即只有一行或者一列的矩阵,称为行向量和列向量
  • 矩阵的加法:行列数相等的可以加
  • 矩阵和标量的乘法:每个元素都要乘
  • 矩阵和向量的乘法: m × n m×n m×n的矩阵乘以 n × 1 n×1 n×1的向量,得到的是 m × 1 m×1 m×1的向量
  • m × n m×n m×n矩阵乘以 n × o n×o n×o矩阵,变成 m × o m×o m×o矩阵
  • 矩阵的乘法不满足交换律: A × B ≠ B × A A×B≠B×A A×B=B×A,但满足结合律。即: A × ( B × C ) = ( A × B ) × C A×(B×C)=(A×B)×C A×(B×C)=(A×B)×C
  • 单位矩阵:是个方阵,一般用 I I I 或者 E E E 表示,特点是从左上角到右下角的对角线(称为主对角线)上的元素均为1以外全都为0。性质是: A A − 1 = A − 1 A = I A{{A}^{-1}}={{A}^{-1}}A=I AA1=A1A=I,有 A I = I A = A AI=IA=A AI=IA=A
  • 矩阵的逆:如矩阵 A A A是一个 m × m m×m m×m矩阵(方阵),如果有逆矩阵,则: A A − 1 = A − 1 A = I A{{A}^{-1}}={{A}^{-1}}A=I AA1=A1A=I
  • 矩阵的转置:设 A A A m × n m×n m×n阶矩阵(即 m m m n n n列),第 i i i j j j列的元素是 a ( i , j ) a(i,j) a(i,j),即: A A A= a ( i , j ) a(i,j) a(i,j)。转置为这样一个 n × m n×m n×m阶矩阵 B B B,满足 B = a ( j , i ) B=a(j,i) B=a(j,i),即 b ( i , j ) = a ( j , i ) b (i,j)=a(j,i) b(i,j)=a(j,i) B B B的第 i i i行第 j j j列元素是 A A A的第 j j j行第 i i i列元素),记 A T = B {{A}^{T}}=B AT=B
import numpy as np
a = np.mat([[1, 2, 3], [4, 4, 6], [7, 7, 9]])          #定义3*3的矩阵
b = np.mat([[1], [1], [1]])                                 #定义3维的向量
c = np.mat([[1, 0, 0], [0, 1, 0], [0, 0, 1]])          #定义3*3的单位矩阵

d = a.T               #求矩阵a的转置
e = a.I               #求矩阵a的逆

print(a+c)
print(a*c)
print(a*b)
print(3*c)
print(d)
print(e)

运行结果如下:

[[ 2  2  3]
 [ 4  5  6]
 [ 7  7 10]]
[[1 2 3]
 [4 4 6]
 [7 7 9]]
[[ 6]
 [14]
 [23]]
[[3 0 0]
 [0 3 0]
 [0 0 3]]
[[1 4 7]
 [2 4 7]
 [3 6 9]]
[[-1.          0.5         0.        ]
 [ 1.         -2.          1.        ]
 [ 0.          1.16666667 -0.66666667]]

你可能感兴趣的:(机器学习,机器学习,线性代数)