搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多人工智能、机器学习干货
csdn:https://blog.csdn.net/qq_36645271
github:https://github.com/aimi-cn/AILearners
第三章 线性代数回顾
3.1 矩阵和向量
-
矩阵(matrix):由数字组成的举行列阵,并写在方括号中。
-
矩阵的维数(dimension of matrix):矩阵的行数乘列数
例如:
A=⎣⎢⎢⎡14021371949114719182114371448⎦⎥⎥⎤
A是一个维度为4×2维的矩阵。Aij中下标i和j表示的是第i行,第j列所对应的那个项,如A11=1402。矩阵提供了一种很好的方式让你快速的整理、索引和访问大量数据。
-
向量(vector):一个向量是一种特殊的矩阵,它是一种只有一列的矩阵
例如:
y=⎣⎢⎢⎡460232315178⎦⎥⎥⎤
y是一个4维向量,意味着y是一个含有四个元素的向量。使用符号yi来表示向量y中第i个元素,如y1=460。
就像大多数编程语言中的数组一样,矩阵和向量的下标也可以从0开始表示。

事实上在大部分数学表达式中,下标从1开始的情况比较常见,而对于很多机器学习的应用问题来说,下标从0开始为我们提供了一个更方便的符号表达。
通常在书写矩阵和向量时,大多数人会使用大写字母来表示矩阵,用小写字母表示向量。
3.2 加法和标量乘法
-
矩阵加法(matrix addition):如果你想将两个矩阵相加,只需要将两个矩阵的每一个元素都逐个相加。只有维度相同的两个矩阵才能相加。
例如:
KaTeX parse error: Expected & or \\ or \cr or \end at position 39: …2&0\\
2&5\\
3&1\̲
̲\end{matrix}
\r…
-
标量乘法(scalar multiplication):这里的标量可能是一个复杂的结构,代表一个实数,只需要将矩阵中的所有元素逐一与3相乘。
例如:
KaTeX parse error: Expected & or \\ or \cr or \end at position 46: …1&0\\
2&5\\
3&1\̲
̲\end{matrix}
\r…
3.3 矩阵向量乘法
3.3.1 矩阵向量乘法的定义

-
矩阵向量乘法(matrix-vector multiplication):用A矩阵的第i行元素分别乘以向量x中的元素,并且想加起来。矩阵向量乘法的前提是A矩阵的列数与x向量的行数相等。
例如:
⎣⎡142301⎦⎤[15]=⎣⎡1647⎦⎤1×1+3×5=164×1+0×5=42×1+1×5=7
让3×2的矩阵和一个2×1的矩阵,也就是一个二维向量相乘,得到一个3×1的矩阵。
3.3.2 矩阵向量乘法在机器学习中的实例

现在假设我们有四间房子和一个可以预测房价的假设函数。现在我们需要计算每个房子的预测值h(x),我们可以使用矩阵向量相乘的方法来同时计算四间房子的预测值。
⎣⎢⎢⎡1111210414161534852⎦⎥⎥⎤×[−400.25]=⎣⎢⎢⎡463.5314343.5173⎦⎥⎥⎤
通过这种方法,我们在编程的时候就能用一行代码来一次性预测出四间房子的价格而避免使用循环语句,使代码简洁,更有效率。
3.4 矩阵乘法
3.4.1 矩阵乘法的定义

-
矩阵乘法(matrix-matrix multiplication):目标矩阵C中的第i列由矩阵A与矩阵B中的第i列进行矩阵向量乘法运算获得。矩阵乘法必须满足一个特征——矩阵的维度相互匹配,即第一个矩阵的列数目必须等于第二个矩阵中的行数目,并且最后得到的结果的维数为第一个矩阵的行数×第二个矩阵的列数。我们通过这种方法来解决线性回归中θ0和θ1的计算问题,而不需要使用梯度下降这种迭代方法。
例如:
[143021]⎣⎡105312⎦⎤=[1191014]
这个矩阵乘法的具体操作是将右侧3×2维的矩阵拆分成两个3维列向量,之后分别与左侧的2×3维的矩阵做向量乘法,最后将的到的结果合并。
3.4.2 矩阵向量乘法在机器学习中的实例

假设我们要预测四间房子的价格,但现在我们有三个假设。要想将这三个假设都用于这四间房子,就可以了通过矩阵乘法运算来提高效率。

在进行矩阵乘法运算之后,我们就会发现得到的目标矩阵的第一列就是第一个假设函数对四间房的价格做出的预测,第二列就是第二个假设函数对四间房的价格做出的预测,第三列就是第三个假设函数对四间房的价格做出的预测。通过构建两个矩阵,就可以了快速的把这三个假设函数应用到这四间房子上。进行一次操作就得到了12种预测。
3.5 矩阵乘法的性质
-
交换律(commutative property):实数运算和标量运算可以使用交换律,但是矩阵乘法不能使用交换律(not commutative)。
例如:

又如假设矩阵A是一个m×n维的矩阵,矩阵B是一个n×m维的矩阵。若做矩阵运算A×B,则会的到一个m×m维的矩阵,若做矩阵运算B×A,则会的到一个n×n维的矩阵,结果矩阵维度发生变化。
-
结合律(associative property):实数运算和标量运算可以使用结合律,矩阵乘法也符合结合律。
例如:有三个维数为m×m的矩阵做矩阵乘法,则A×B×C=(A×B)×C=A×(B×C)
-
单位矩阵(identity matrix):对角线元素为1,其余元素为0的矩阵,一般用I或In×n表示。在维度正确的情况下,矩阵A乘单位矩阵等于I乘矩阵A等于A。
例如:

在矩阵乘法中,通常AB与BA是不等价的,但是AI=IA=A。
3.6 转置和逆
-
矩阵的逆(inverse):假设A是一个m×m维的矩阵,并且A可逆,则AA−1=A−1A=I。m×m维的矩阵也可以成为一个方阵,因为其行数的与列数。实际上只有方阵才有逆矩阵。不存在逆矩阵的矩阵我们称它为奇异矩阵(singular matrix)或退化矩阵(degenerate matrix)。
例如:
AA−1=[3246][0.4−0.05−0.10.075]=[1001]=I2×2
-
矩阵的转置(matrix transpose):假设A是一个m×n维的矩阵,矩阵B等于A的转置,那么矩阵B是一个m×n维的矩阵(维度和A相反),Bij=Aij。
例如:
A=[132509]B=AT=⎣⎡120359⎦⎤
其中B12=A21=3。