线性代数

向量

向量(vector):也可以叫做矢量。它代表一组数字,并且这些数字是有序排列的

C++中的数组就叫做vector

向量可以用来表示某个物体的特征。其中,向量的每个元素就代表一维特征,而元素的值代表了相应特征的值,我们称这类向量为特征向量

向量空间

x1​,x2​,……,xn​∈F,就有 Fn

假设 V 是 Fn​ 的非零子集,如果对任意的向量 x、向量 y∈V,都有 (x+y)∈V,我们称为 V 对向量的加法封闭;对任意的标量 k∈V,向量 x∈V,都有 kx 属于 V,我们称 V 对标量与向量的乘法封闭

如果 V 满足向量的加法和乘法封闭性,我们就称 V 是 F 上的向量空间

向量子空间

已知 V:=(V,+,⋅) 是一个向量空间,如果 U⊆V,U !=0 ,那么 U:=(U,+,⋅) 就是 V 的向量子空间

距离

可以把一个向量想象为 n 维空间中的一个点。而向量空间中两个向量的距离,就是这两个向量所对应的点之间的距离

$$MD(x,y) = \sum_{i=1}^n |x_i - y_i|$$

$$ED(x,y) = \sqrt{\sum_{i=1}^n (x_i - y_i)^{2}}$$

$$CD(x,y) = \argmax_1^n |x_i - y_i|$$

长度

通常使用欧氏距离来表示向量的长度

夹角

空间中两个向量所形成夹角的余弦值

$$Cosine(X,Y) = \frac{\sum_{i=1}^n (x_i * y_i)}{ \sqrt{\sum_{i=1}^n x^2 * \sum_{i=1}^n y^2}}$$

向量空间模型

向量空间模型假设所有的对象都可以转化为向量,然后使用向量间的距离,或者是向量间的夹角余弦来表示两个对象之间的相似程度

向量空间可以很形象地表示数据点之间的相似程度,不仅能运用在信息检索,也可以运用在基于相似度的一些机器学习算法中,例如 K 近邻(KNN)分类、K 均值(K-Means)聚类

信息检索:

  1. 将文档转为特征向量,分词后将词转换为向量,最简单的方法是用“1”表示这个词条出现在文档中,“0”表示没有出现,也可以对不同的词赋予不同的权重来丰富特征
  2. 将查询和文档进行匹配,查询需要先转为向量,因为查询与文档的维度不一样(出现的词),对于在文档出现而在查询没有出现的词,可以采取简单的置0,或者把文档的这个维度剔除掉
  3. 进行上面两个步骤后,就能得到每篇文档与查询的相似度了

线性无关

一组向量被称为线性无关,如果其中没有一个向量可以表示为其他向量的线性组合。换句话说,如果不存在非零标量使得这些向量的线性组合等于零向量,那么这些向量就被称为线性无关

$$a_1\mathbf{v}_1+a_2\mathbf{v}_2+\cdots+a_n\mathbf{v}_n=\mathbf{0}$$

如果只有所有系数都为零的情况下,能够使得上述线性组合等于零向量,那么这组向量就是线性无关的

基与秩

一个向量空间的基(Basis)是一组线性无关的向量,它们可以表示该向量空间中的任何向量,并且这组向量是极小的——移除其中任何一个向量都会导致表示能力丧失,基是向量空间中的一个生成集,它使得空间中的每个向量都可以通过线性组合得到,且这个表示方式是唯一的

矩阵的秩表示矩阵中线性无关的列向量或者行向量的最大数量

线性映射

描述了两个向量空间之间的关系,将一个向量空间的元素映射到另一个向量空间中

线性映射是一种函数,它满足以下两个性质:

可以用变换矩阵来描述这种映射,已知两个向量空间 V 和 W,它们各自相应的有序基是 B=(b1​,⋯,b3​) 和 C=(c1​,⋯,c4​) ,线性映射 ϕ 表示成以下形式

$$\begin{aligned}&\phi\left(b_{1}\right) =c_1-c_2+3c_3-c_4 \&\phi\left(b_{2}\right) =2c_1+c_2+7c_3+2c_4 \&\phi\left(b_{3}\right) =3c_2+c_3+4c_4 \end{aligned}$$

其变换矩阵为

$$\left.A_\phi=\left[\begin{array}{ccc}1&2&0\-1&1&3\3&7&1\-1&2&4\end{array}\right.\right]$$

仿射空间

$V$ 是一个向量空间,$U$ 是 $V$ 的一个向量子空间,$x_0$​ 是 $V$ 中的元素,那仿射子空间 $L$ 就等于:$L=x_0​+U := {x_0+u:u\in U}$

$U$ 叫做方向,$x_0$​ 叫做支撑点

每个 V 到 W 的仿射映射,都是“一个 V 到 W 的线性映射”和“一个 W 到 W 平移”的组合

统一,仿射映射也可以用仿射变换矩阵表示

$$\left.A'=\left[\begin{array}{cccc}1&0&0&x\0&1&0&y\0&0&1&z\0&0&0&1\end{array}\right.\right]$$

以上表示的就是一个针对 x y z 三个点平移对应距离的矩阵

运算

$$x=\begin{bmatrix}x_1\x_2\x_3\\varvdots\x_n\end{bmatrix}\quad y=\begin{bmatrix}y_1\y_2\y_3\\varvdots\y_n\end{bmatrix}\quad x+y=\begin{bmatrix}x_1+y_1\x_2+y_2\x_3+y_3\\varvdots\x_n+y_n\end{bmatrix}$$

$$xy=\begin{bmatrix}x_1\x_2\x_3\\vdots\x_n\end{bmatrix}\begin{bmatrix}y_1\y_2\y_3\\vdots\y_n\end{bmatrix}=x_1y_1+x_2y_2+x_3y_3+...+x_ny_n$$

向量的加法实际上就是把几何问题转化成了代数问题

矩阵

矩阵由多个长度相等的向量组成,其中的每列或者每行就是一个向量

使用矩阵表示方程

$$\left.\left{\begin{array}{c}a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n=b_1\a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n=b_2\\cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\cdots\a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n=b_m\end{array}\right.\right.$$

=

$$\left.\tilde{A}=\left[\begin{array}{ccccc}a_{11}&a_{12}&\ldots&a_{1n}&b_1\a_{21}&a_{22}&\ldots&a_{2n}&b_2\\ldots&\ldots&\ldots&\ldots&\ldots\a_{m1}&a_{m2}&\ldots&a_{mn}&b_m\end{array}\right.\right]$$

矩阵运算

矩阵相加

$$A\in\mathbb{R}^{m\times n}, B\in\mathbb{R}^{m\times n}$$

$$\left.A+B=\left[\begin{array}{ccc}a_{11}+b_{11}&\ldots&a_{1n}+b_{1n}\\cdot&&\cdot\\cdot&&\cdot\\cdot&&\cdot\a_{m1}+b_{m1}&\ldots&a_{mn}+b_{mn}\end{array}\right.\right]\in R^{m\times n}$$

矩阵乘

普通矩阵乘

只有相邻阶数匹配的矩阵才能相乘,例如,一个 n×k 矩阵 A 和一个 k×m 矩阵 B 相乘,最后得出 n×m 矩阵 C,而这里的 k 就是相邻阶数

$$\left.C=A^B=\left[\begin{array}{cc}1&2\4&5\end{array}\right.\right]\left[\begin{array}{cc}1&4\2&5\end{array}\right]=\left[\begin{array}{cc}11&24\42&5*5\end{array}\right]=\left[\begin{array}{cc}1&8\8&25\end{array}\right]$$

A×B,如果 A 是一个 m×n 的矩阵,而 B 是一个 p×q 的矩阵,克罗内克积则是一个 mp×nq 的矩阵

单位矩阵

主对角线上的元素均为 1,除此以外全都为 0

$$\left.I_1=[1],I_2=\left[\begin{array}{ccc}1&0\0&1\end{array}\right.\right],I_3=\left[\begin{array}{ccc}1&0&0\0&1&0\0&0&1\end{array}\right],\ldots,I_n=\left[\begin{array}{cccc}1&0&\ldots&0\0&1&\ldots&0\.&.&\ldots&.\.&.&.&.\0&0&\ldots&1\end{array}\right]$$

矩阵的性质

  1. 结合律:任意实数 m×n 矩阵 A,n×p 矩阵 B,p×q 矩阵 C 之间相乘,满足结合律 (AB)C=A(BC)
  2. 分配律:任意实数 m×n 矩阵 A 和 B,n×p 矩阵 C 和 D 之间相乘满足分配律 (A+B)C=AC+BC,A(C+D)=AC+AD
  3. 单位矩阵相乘:任意实数 m×n 矩阵 A 和单位矩阵之间的乘,等于它本身 A

逆矩阵

A 乘以它的逆矩阵 $A^{-1}$ 就等于单位矩阵.如果一个矩阵是可逆的,那这个矩阵我们叫做非奇异矩阵,如果一个矩阵是不可逆的,那这个矩阵我们就叫做奇异矩阵

矩阵转置

$$\left.x=\left[\begin{array}{cccc}x_{1,1}&x_{1,2}&x_{1,3}&x_{1,4}\x_{2,1}&x_{2,2}&x_{2,3}&x_{2,4}\x_{3,1}&x_{3,2}&x_{3,3}&x_{3,4}\\end{array}\right.\right]$$

$$\left.x'=\left[\begin{array}{ccc}x_{1,1}&x_{2,1}&x_{3,1}\x_{1,2}&x_{2,2}&x_{3,2}\x_{1,3}&x_{2,3}&x_{3,3}\x_{1,4}&x_{2,4}&x_{3,4}\end{array}\right.\right]$$

线性回归

如果因变量和自变量为线性关系时,就是线性回归模型;如果因变量和自变量为非线性关系时,就是非线性回归分析模型

高斯消元

主要分为两步,消元(Forward Elimination)和回代(Back Substitution)

设如下方程矩阵表达:

$$\left.\left[\begin{array}{cccccc}1&-2&1&-1&1&|&0\4&-8&3&-3&1&|&2\-2&4&-2&-1&4&|&-3\1&-2&0&-3&4&|&a\end{array}\right.\right]$$

以第一行为基础,开始执行乘和加变换,将第一行乘以 -4 的结果和第二行相加,再将第一行乘以 2 的结果,再和第三行相加,不断消元

$$\left.\left[\begin{array}{cccccc|c}1&-2&1&-1&1&|&0\0&0&1&-1&3&|&-2\0&0&0&1&-2&|&1\0&0&0&0&0&|&a+1\end{array}\right.\right]$$

得出 a 为 -1时,方程有解

通过程式之间的运算,消除未知的x

最小二乘法

解未知参数,使得理论值与观测值之差(即误差,或者说残差)的平方和达到最小

PCA主成分分析

一种针对数值型特征、较为通用的降维方法

二维数据降到一维

  1. 标准化样本矩阵中的原始数据;
  2. 获取标准化数据的协方差矩阵;
  3. 计算协方差矩阵的特征值和特征向量;
  4. 依照特征值的大小,挑选主要的特征向量;
  5. 生成新的特征

主成分每个轴之间都会成九十度

SVD 奇异值分解

通过样本矩阵本身的分解,找到一些“潜在的因素”,然后通过把原始的特征维度映射到较少的潜在因素之上,达到降维的目的