数学学习笔记--线性代数

开始复习 AI 算法的基础–数学部分,主要是三方面的内容:

  1. 线性代数
  2. 概率论
  3. 微积分

参考内容如下:

  • 《深度学习》
  • https://github.com/scutan90/DeepLearning-500-questions
  • https://github.com/sladesha/Reflection_Summary

本文是第一篇,线性代数部分的内容,主要是比较基础部分的学习笔记。

1. 线性代数

1.1 向量和矩阵

1.1.1 标量、向量、矩阵、张量之间的联系

标量(scalar)

一个标量表示一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。 一般会明确标量属于哪种类型,比如定义实数标量时,会说“令 s ∈ R s\in R sR 表示一条线的斜率”。

向量(vector)

一个向量表示一组有序排列的数。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称,比如xx。向量中的元素可以通过带脚标的斜体表示。向量 X X X的第一个元素是 X 1 X_1 X1,第二个元素是 X 2 X_2 X2,以此类推。我们也会注明存储在向量中的元素的类型(实数、虚数等)。

一个向量如下所示,一个向量可以看作空间中的点,即每个元素可以表示不同坐标轴上的坐标。
x = [ x 1 x 2 x 3 ⋯ x n ] x = \left[ \begin{matrix} x_1 \\ x_2 \\ x_3 \\ \cdots \\ x_n \end{matrix} \right] x=x1x2x3xn

矩阵(matrix)

矩阵是具有相同特征和纬度的对象的集合,表现为一张二维数据表。其意义是一个对象表示为矩阵中的一行,一个特征表示为矩阵中的一列,每个特征都有数值型的取值。通常会赋予矩阵粗体的大写变量名称,比如 A A A

一个矩阵的表示例子如下所示:
A = [ A 1 , 1 A 1 , 2 A 2 , 1 A 2 , 2 ] A = \left[ \begin{matrix} A_{1,1} & A_{1,2} \\ A_{2,1} & A_{2,2} \\ \end{matrix} \right] A=[A1,1A2,1A1,2A2,2]

转置是矩阵的重要操作之一,其转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称为主对角线,定义如下:
( A T ) i , j = A j , i (A^T){i,j} = A_{j,i} (AT)i,j=Aj,i
一个示例操作如下:
A = [ A 1 , 1 A 1 , 2 A 2 , 1 A 2 , 2 A 3 , 1 A 3 , 2 ] = = > A T = [ A 1 , 1 A 2 , 1 A 3 , 1 A 1 , 2 A 2 , 2 A 3 , 2 ] A = \left[ \begin{matrix} A_{1,1} & A_{1,2} \\ A_{2,1} & A_{2,2} \\ A_{3,1} & A_{3,2} \end{matrix} \right] ==> A^T = \left[ \begin{matrix} A_{1,1} & A_{2,1} & A_{3, 1} \\ A_{1,2} & A_{2,2} & A_{3,2}\\ \end{matrix} \right] A=A1,1A2,1A3,1A1,2A2,2A3,2==>AT=[A1,1A1,2A2,1A2,2A3,1A3,2]

从一个 3 × 2 3\times 2 3×2 的矩阵变为了 $ 2\times 3$ 的矩阵。

张量(tensor)

在某些情况下,我们会讨论坐标超过两维的数组。一般地,一个数组中的元素分布在若干维坐标的规则网格中,我们将其称之为张量。使用 A A A 来表示张量“A”。张量 A A A中坐标为 ( i , j , k ) (i,j,k) (i,j,k)的元素记作 A ( i , j , k ) A_{(i,j,k)} A(i,j,k)

四者之间关系

(来自深度学习 500 问第一章数学基础)

标量是0阶张量,向量是一阶张量。举例:
​标量就是知道棍子的长度,但是你不会知道棍子指向哪儿。
​向量就是不但知道棍子的长度,还知道棍子指向前面还是后面。
​张量就是不但知道棍子的长度,也知道棍子指向前面还是后面,还能知道这棍子又向上/下和左/右偏转了多少。

1.1.2 张量与矩阵的区别

  • 从代数角度讲, 矩阵它是向量的推广。向量可以看成一维的“表格”(即分量按照顺序排成一排), 矩阵是二维的“表格”(分量按照纵横位置排列), 那么 n n n阶张量就是所谓的 n n n维的“表格”。 张量的严格定义是利用线性映射来描述。
  • 从几何角度讲, 矩阵是一个真正的几何量,也就是说,它是一个不随参照系的坐标变换而变化的东西。向量也具有这种特性。
  • 张量可以用3×3矩阵形式来表达。
  • 表示标量的数和表示向量的三维数组也可分别看作1×1,1×3的矩阵。

1.1.3 矩阵和向量相乘结果

若使用爱因斯坦求和约定(Einstein summation convention),矩阵 A A A, B B B相乘得到矩阵 C C C 可以用下式表示:
A B = C = = > a i k ∗ b k j = c i j AB = C ==> a_{ik}*b_{kj}=c_{ij} AB=C==>aikbkj=cij

其中, a i k a_{ik} aik, b k j b_{kj} bkj, c i j c_{ij} cij分别表示矩阵 A , B , C A, B, C A,B,C的元素, k k k出现两次,是一个哑变量(Dummy Variables)表示对该参数进行遍历求和。

用一个例子表示就是:
$$
A=
\left[
\begin{matrix}
A_{1,1} & A_{1,2} \
A_{2,1} & A_{2,2} \
\end{matrix}
\right]
B =
\left[
\begin{matrix}
B_{1,1} & B_{1,2} \
B_{2,1} & B_{2,2} \
\end{matrix}
\right] \
A \times B = C =
\left[
\begin{matrix}
A_{1,1}\times B_{1,1}+A_{1,2}\times B_{2,1} & A_{1,1}\times B_{1,2}+A_{1,2}\times B_{2,2} \
A_{2,1}\times B_{1,1}+A_{2,2}\times B_{2,1} & A_{2,1}\times B_{1,2}+A_{2,2}\times B_{2,2} \
\end{matrix}
\right]

\left[
\begin{matrix}
C_{1,1} & C_{1,2} \
C_{2,1} & C_{2,2} \
\end{matrix}
\right]
$$
所以矩阵相乘有一个前提,矩阵 A 的列数必须和矩阵 B 的行数相等,也就是如果 A 的维度是 m × n m\times n m×n,B 的维度必须是 n × p n \times p n

你可能感兴趣的:(数学,机器学习,机器学习,线性代数,矩阵)