「吴恩达机器学习」3.线性代数回顾
Martrices and Vectors
主要介绍矩阵和向量的概念。
Martrices
矩阵:矩形的数字阵列,通常用大写字母表示。
Matrix: Rectangular array of numbers.
矩阵的维数:行数 \(\times\) 列数
Dimension of matrix: number of rows x number of columns.
如图,一个维数为\(4 \times 2\)的矩阵:
矩阵元素\(A_{ij}\)表示矩阵中第\(i\)行第\(j\)列的元素,比如\(A_{41}=147\)。
Vectors
向量是一种特殊的矩阵,是\(n\)行1列的矩阵(列向量),通常用小写字母表示。
向量元素\(y_i\)表示向量中的第\(i\)个元素。
如图所示,\(y\)是一个4维向量,也是一个\(4 \times 1\)矩阵。
向量有1索引向量和0索引向量两种形式,区别在于元素是从1开始计算还是从0开始计算。通常在数学中采用1索引向量,而在机器学习中采用0索引向量进行表示。
Addition and Scalar Multiplication
主要介绍矩阵加法运算,以及标量乘以矩阵的运算。
Matrix Addition
矩阵加法只需要将两个矩阵的对应元素相加即可,也就是说矩阵加法只能用于计算相同维度的矩阵,计算结果也是一个相同维度的矩阵。
比如,
Scalar Multiplication
标量乘以矩阵只需要将标量乘上矩阵的所有元素即可。
比如,
Matrix-vector Multiplication
主要介绍矩阵-向量乘法,也就是如何计算矩阵乘以向量。
从一个例子介绍矩阵向量乘法:
计算方法总结如下:
采用\(A\)矩阵的第\(i\)行元素,乘上\(x\)向量,然后求和得到\(y_i\),以此计算所有\(y_i\),得到最终的向量\(y\)。
一个\(m \times n\)的矩阵乘上\(n \times 1\)的向量,最终会得到一个\(m \times 1\)的向量。
矩阵运算可以应用在我们之前的房价预测例子中,我们目前有4个房间尺寸,同时也有假设函数,假如我们想要计算每个房间对应的预测房价。
可以把房价用矩阵表示为:
把假设函数用向量表示为:
那么每个房间对应的房价预测值就是:
即\(Prediction=DataMatrix * Parameters\)。
这是一个编程上的技巧,如果不采用矩阵的方式,那么就需要写一个循环,不仅代码代码量更大,同时运算效率更低。
Matrix-matrix multiplication
主要介绍矩阵-矩阵乘法,也就是如何计算矩阵乘以矩阵。
依然先通过一个例子介绍:
先把第二个矩阵分裂成两个向量,然后分别计算第一个矩阵和向量的乘积,最后把两个乘积结果合并到一起,就实现了矩阵-矩阵乘法。
计算步骤总结如下:
矩阵\(A\)乘以矩阵\(B\)的第\(i\)列(向量)作为矩阵\(C\)的第\(i\)列值,以此类推即可求出矩阵\(C\)。
再次回到房价预测的例子中,这次我们有3个假设函数:
我们可以把整个计算过程转化成下面的矩阵乘积:
Matrix Multiplication Properties
主要讲解矩阵乘法的性质。
矩阵乘法不满足交换律
矩阵乘法满足结合律
Identity Matrix
在实数计算中,对于任何实数\(z\),\(1 \times z = z \times 1 = z\),1称为identity。
对于任何的矩阵\(A\),\(A_{m \times n} \cdot I_{n \times n} = I_{m \times m} \cdot A_{m \times n}= A_{m \times n}\),\(I\)称为单位矩阵(identity matrix)。
\(I\)是对角线元素都为1,其他元素都为0的方阵。
注意这里的\(I\)维数不一样。
Inverse and Transpose
本节课主要讲解矩阵求逆和矩阵转置。
Matrix Inverse
在普通的数值运算中,\(z z^{-1} =1\),\(z^{-1}\)就称为\(z\)的inverse。
Not all numbers have an inverse. E.g. 0.
Matrices that don’t have an inverse are “singular” or “degenerate”.
Matrix Transpose
把矩阵\(A\)的第\(i\)行元素变成矩阵\(A^T\)的第\(i\)列元素,也可以沿着矩阵$A\(45度直线,作镜像翻转,也能得到矩阵\)A^T$。
矩阵转置的基本性质: