线性相关和子空间 是线性代数中一组向量问题中的相关概念。
就是求下面这一个等式: Ax = b ----- 式1
生成子空间
如果逆矩阵 A−1 存在,那么式1 肯定对于每一个向量 b 恰好存在一个解。但是,对于方程组而言,对于向量 b 的某些值,有可能不存在解,或者存在无限多个解。存在多于一个解但是少于无限多个解的情况是不可能发生的;因为如果 x 和y 都是某方程组的解,则
z = αx + (1 − α)y (其中 α 取任意实数)也是该方程组的解。
为了分析方程有多少个解,我们可以将 A 的列向量看作是从 原点(origin)(元素都是零的向量)出发的不同方向,确定有多少种方法可以到达向量 b。在这个观点下,向量 x 中的每个元素表示我们应该沿着这些方向走多远,即 xi 表示我们需要沿着第 i 个向量的方向走多远:
这种操作被称为 线性组合。形式上,一组向量的线性组合,是指每个向量乘以对应标量系数之后的和,即:
一组向量的生成子空间是原始向量线性组合后所能抵达的点的集合。
线性相关
也就是说 b 是 由 A 中的列向量移动x 的距离求和后得到的一个点。A 的列数越多,所代表的空间的维度越大。
所以要想使矩阵可逆,我们需要保证式1对于每一个b值至多有一个解,如果有多个解,矩阵A就是不可逆矩阵。为此,我们需要确保该矩阵至多有m个列向量。否则,该方程会有不止一个解。
综上,A必须是一个方阵,即 m == n ,并且所有列向量都是线性无关的。一个列向量线性无关的方阵被称为 奇异的。
范数
在机器学习,通过 范数 来衡量一个向量的大小。在形式上,Lp范数定义如下 p >= 1:
是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从原点到点x的距离。更严格的说,范数是满足下列任意性质的任意函数:
三角不等式,即两边之和大于等于第三边。。。orz
平方 L2 范数在数学和计算上都比 L2 范数本身更方便。例如,平方 L2 范数对x 中每个元素的导数只取决于对应的元素,而 L2 范数对每个元素的导数却和整个向量相关。但是在很多情况下,平方 L2 范数也可能不受欢迎,因为它在原点附近增长得十分缓慢。在某些机器学习应用中,区分恰好是零的元素和非零但值很小的元素是很重要的。在这些情况下,我们转而使用在各个位置斜率相同,同时保持简单的数学形式的函数: L1 范数。 L1 范数可以简化如下:
当机器学习中零与非零的差异非常重要的时候,通常会使用L1范数。每当x中某个元素从0增加learning-rate 的时候,对应的L1范数也会增加learning-rate。