2 Linear Algebra

广义上讲,满足以下两个操作的特定对象即可称为向量(vector)。

  1. 两个对象相加,结果类型不变
  2. 与一个实数相乘,结果类型不变。

向量示例:

  • 几何向量
  • 多项式
  • 音频信号
  • 实数元组(tuple)

最后一种元组就是数学中,也是本书研究的对象。向量在机器学习担任重要角色,也是本书的核心概念。

2.1 System of Linear Equations

线性方程组是线性代数的中心内容。线性方程组的解,有且只有三种情况:

  1. 无解
  2. 有一个解
  3. 有无穷个解

线性回归(Linear regression)可以用来解线性方程组。线性方程组的几种写法:


写法一

写法二

写法三

2.2 Matrices

矩阵定义:


矩阵

2.2.1 Matrix Addition and Multiplication

C=A+B,shape相同,cij = aij + bij
C=AB, A 是 m×n,B 是 n×k,则 C 是 m×k:

矩阵相乘

import numpy as np

a = np.arange(6).reshape(2, 3)
b = np.array([3,4,5,6,7,8]).reshape(2, 3)
print('a\n', a)
print('b\n', b)
print('sum\n', a+b )

b = np.array([3,4,5,6,7,8]).reshape(3, 2)
print('b\n', b)
print('dot\n', a.dot(b) )
[OUT]:
a
 [[0 1 2]
 [3 4 5]]
b
 [[3 4 5]
 [6 7 8]]
sum
 [[ 3  5  7]
 [ 9 11 13]]
b
 [[3 4]
 [5 6]
 [7 8]]
dot
 [[19 22]
 [64 76]]

显然,点乘(dot product)不满足交换律。入下图所示:


点乘

矩阵加法、点乘和单位矩阵,具有以下三个结合律、分配率和单位乘法三个性质:


三个性质

2.2.2 Inverse and Transpose

若方阵A、B 满足 AB = I = BA,则A、B互称为对方的逆矩阵。记为:A = B-1
不存在逆矩阵的矩阵,称为奇异矩阵(singular,其实就是单身狗的意思)。
解线性方程组是一种求逆矩阵的方法。由矩阵元素组成的特定多项式可以用来判断是否可逆,此式也称为矩阵的判定式(determinant)。例如,2×2方阵的判定式是:a11a22 - a12a21 ≠ 0。

把一个 m×n 的矩阵 A 的行全部转置为列,即得到一个 n×m 的矩阵,称为 A 的转置矩阵,记为 AT。逆矩阵和转置矩阵具有下述性质:

逆与转置的性质

补充说明:

  1. 当一个方阵按对角线对称时, A=AT,称为对角(Symmetric)矩阵。
  2. 若一个方阵可逆,则它的转置也可逆,且存在等式:(A-1)T=(AT)-1,记为 A-T
  3. 两个相同形状的对角矩阵的和(sum)通常还是对角矩阵,但他们的乘积(product)通常不再是对角矩阵。

2.2.3 Multiplication by a scalar

标量乘法律

2.3 Solving Systems of Linear Equations

线性方程组可以写成通式 Ax=b 。

2.3.1 Particular and General Solution

若通式中的矩阵 A 前 a 列(a<=n)是单位矩阵,求解这类特殊方程组可分为三步:

  1. 寻找特解。只考虑前 a 个xi,其余 xi (i>a)皆取0。
  2. 寻找所有 Ax=0 的解。将 A 中其后的每一列表示成前 a 列之和,即得此列之解。显然,此解乘以任意实数 λ 依然满足 Ax=0,是为通解。
  3. 将上述两步所得之特解和所有通解相加,即为 Ax = b 的通解。

通过高斯消元法(Gaussian elemination),任意线性方程组都可以转换为上述特殊情况,其关键在于初等变换。

2.3.2 Elementary Transformations

你可能感兴趣的:(2 Linear Algebra)