线性代数是数学的一个重要分支,经常被应用到工程问题中,要理解深度学习以及操作深度学习,那么对于线性代数深刻的理解是非常重要的,以下摘要是我从DL book的第二章线性代数中抽取出来的比较有意思的一些理解基础线代问题的另一些非常形象易懂的思路。
2.3 Identity and inverse matrices
在线性方程组的求解当中,Identity和inverse matrice有很重要的作用,详细求解例子如下图所示:
在实际应用场景中,其中inverse matrice
不一定能找到,另外找到的话也不一定能在数字电脑中精度无损的保存下来。
2.4 Linear dependence, span, and rank
为了求解方程
我们还可以从另外一个角度去看这个问题,我们把矩阵A中的每一列看成是一个方向,那么上述方程就可以看成是如何从原点(全0)到达b,每次走都只能沿着A中每一列所代表的方向。从这个角度去思考的话,上述方程可以写成如下形式:
所以如果想要对于任何的b(n维度)都能找到对应的解x(m维度)的话,那么n-D空间中的任意一个向量都能通过线性组合A(nxm维度)矩阵中的m列来得到,所以矩阵A的列数一定要大于等于其行数;如果将A矩阵看成是n条方程组成的方程组,那么只有当方程组个数小于等于未知数个数时才能确保该方程组有解。在该方程的求解中如果要找到A矩阵的逆作为该方程求解的工具,那么A矩阵必须是方形矩阵并且每一列都是列独立的。
线代中还有一些非常重要的概念会被用到,但在alexnet提出的CNN网络中的话也已经够用了;另外的话怎么样去设计loss函数然后计算其gradient用于backward propagation时的更新用到了其他的一些线代知识,我将在之后的博文中针对如何使用梯度下降法优化损失函数进行探讨。