您的位置:首页 > 其它

线性代数学习2 线性相关、生成子空间、范数、特征分解

2017-11-17 08:42 316 查看

线性组合 (linear combination)

定义一个包含 k 个实数变量的集合x1,x2,...,xk ,且假设已知一个k个实数权重集合 w1,w2,...,wk 。我们定义s=w1x1+w2x2+,...,+wkxk

s变量是对变量x的加权线性”混合”。因此,将s定义为变量的线性组合。

可以将线性组合的概念推广到矢量中。定义每个xi 是一个矢量,因此,它们的线性组合s也是一个矢量。当然.每个矢量必须有相同数量的元素。请注意,s的每个分量都是一个由被组合矢量的相对应元素构成的线性组合。

标量的线性组合

形式上,一组向量的线性组合,是指每个向量乘以对应标量系数之后的和,即:

∑iciv(i)

定义标量为2,4,1,5,权重为0.1,0.4,0.25,0.25。求其线性组合s。

解:线性组合

s=0.1∗2+0.4∗4+0.25∗1+0.25∗5=3.3

矢量的线性组合

Ax=∑ixiA:,j

生成子空间

一组向量的生成子空间(span)是原始向量线性组合后所能抵达的点的集合。

确定 Ax=b 是否有解,相当于确定向量b 是否在 A 列向量的生成子空间中。这个特殊的生成子空间被称为 A 的列空间 (column space)或者 A的值域(range)。

线性相关

在线性代数里,矢量空间的一组元素中,若没有矢量可用有限个其他矢量的线性组合所表示,则称为线性无关或线性独立 (linearly independent),反之称为线性相关(linearly dependent)。

例如在三维欧几里得空间R的三个矢量(1, 0, 0),(0, 1, 0)和(0, 0, 1)线性无关;但(2, −1, 1),(1, 0, 1)和(3, −1, 2)线性相关,因为第三个是前两个的和。

方阵(square)

m=n的矩阵

方阵的左逆和右逆是相等的。

奇异的方阵(singular)

奇异矩阵是线性代数的概念,就是该矩阵的秩不是满秩。首先,看这个矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。

然后,再看此矩阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。 同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:

可逆矩阵就是非奇异矩阵

非奇异矩阵也是可逆矩阵

如果A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。

如果A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。

范数

有时我们需要衡量一个向量的大小。在机器学习中,我们经常使用称为范数(norm)的函数来衡量向量大小。形式上, Lp范数定义为:

∥x∥=(∑i|xi|p)1/p

其中 p∈R, p≥1。

范数(包括Lp 范数) ,是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从原点到点x的距离。更严格地说,范数是满足下列性质的任意函数:

f(x)=0=>x=0;

f(x+y)≤f(x)+f(y) 三角不等式(triangle inequality)

∀α∈R,f(αx)=|α|f(x)

即要满足:

非负性

齐次性

三角不等式

当 p=2时, L2 范数称为欧几里得范数( Euclidean norm)。它表示从原点出发到向量x确定的点的欧几里得距离。 L2 范数在机器学习中出现得十分频繁,经常简化表示为 ||x||,略去了下标2.平方 L2范数也经常用来衡量向量的大小,可以简单地通过点积xTx计算。

最大范数 L∞**

表示向量中具有最大幅值的元素的绝对值。

Python计算范数

import numpy as np
a=np.array([[complex(1,-1),3],[2,complex(1,1)]])
print(a)
print("矩阵2的范数")
print(np.linalg.norm(a,ord=2) )   #计算矩阵2的范数
print("矩阵1的范数")
print(np.linalg.norm(a,ord=1) )   #计算矩阵1的范数
print("最大范数")
print(np.linalg.norm(a,ord=np.inf) )




对角矩阵(diagonal matrix)

只在主对角线上含有非零元素,其它位置都是0。

对称矩阵(symmetric)

转置和自己相等的矩阵,即

A=AT

单位向量(unit vector)

具有**单位范数(unit norm)的向量,即:

||x||2=1

如果 XTy=0 ,那么向量 x 和向量 y 互相正交。如果两个向量都有非零范数,那么这两个向量之间的夹角是90∘。在Rn中,至多有n 个范数非零向量互相正交。如果这些向量不但互相正交,则且范数都为1,那么我们称它们是标准正交(orthonormal)。

正交矩阵(orthogonal matrix)

指行向量和列向量是分别标准正交的方阵,即:

ATA=AAT=I

这意味着:

A−1=AT

特征分解(eigendercomposition)

特征分解是使用最广的矩阵分解之一,即我们将矩阵分解成一组特征向量和特征值。

方阵A的特征向量(eigenvector)是指与A相乘后相当于对该向量进行缩放的非零向量 v:

Av=λv

其中 λ 称为这个特征向量对应的特征值(eigenvalue)。(类似地,我们也可以定义左特征向量(left eigenvector):vTA=λvT 。 但是通常我们更关注右特征向量(right eigenvector))。

如果 v 是A 的特征向量,那么任何缩放后的向量 sv(s∈R,s≠0)也是 A的特征向量。此外,sv和v有相同的特征值。基于这个原因,通常我们只考虑单位特征向量。

假设矩阵 A 有n个线性无关的特征向量{v(1),...,v(n)},对应着特征值 λ1,...,λn。我们将特征向量连接成一个矩阵,使得每一列是一个特征向量:

V=[v(1),...,v(n)]。类似地,我们也可以将特征值连接成一个向量 λ=[λ1,...,λn]T 。因此 A的特征分解(eigendecomposition)可以记作:

A=Vdiag(λ)V−1

我们常常希望将矩阵分解(decompose)成特征值和特征向量。这样可以帮助我们分析矩阵的特定性质,就像质因数分解有助于我们理解整数。

不是每一个矩阵都可以分解成特征值和特征向量。在某些情况下,特征分解存在,但是会涉及复数而非实数。深度学习中通常只需要分解一类有简单分解的矩阵。具体来讲,每个实对称矩阵都可以分解成实特征向量和实特征值:

A=Q∧QT

其中Q是A的特征向量组成的正交矩阵,∧是对角矩阵。特征值∧i,i对应的特征向量是矩阵Q的第i列,记作Q:,i。因为Q是正交矩阵,我们可以将A看作沿方向v(i)延展λi倍的空间。

虽然任意一个实对称矩阵A都有特征分解,但是特征分解可能并不唯一。如果两个或多个特征向量拥有相同的特征值,那么在由这些特征向量产生的生成子空间中,任意一组正交向量都是该特征值对应的特征向量。因此,我们可以等价地从这些特征向量中构成Q作为替代。按照惯例,我们通常按降序排列∧的元素,在该约定下,特征分解唯一,当且仅当所有的特征值都是唯一的。

矩阵的特征分解给了我们很多关于矩阵的有用信息。矩阵是奇异的,当且仅当含有零特征值。实对称的特征分解也可以用于优化二次方程f(x)=xTAx,其中限制||x||2=1。

当x等于A的某个特征向量时,f将返回对应的特征值。在限制条件下,函数f的最大值是最大特征值,最小值是最小特征值。

所有特征值是正数的矩阵称为正定(positive definite),所有特征值都是非负数的矩阵称为半正定(positive semidefiite)。同样地,所有特征值都是负数的矩阵称为负定(negative definite);所有特征值都是非正数的矩阵称为半负定(pegative semidefinite)。半正定矩阵受到关注是因为它们保证∀x,xTAx≥0。此外,正定矩阵还保证 xTAx=0=>x=0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: