RethinkFun深度学习 · Part 1 Base

从头开始补习一下Deep learning

[TOC]

RethinkFun深度学习 · GitBook

https://www.bilibili.com/video/BV1A9tszhEpp/

不知道开了第几个坑,这里需要从头开始补一下深度学习

但是这里会比较浅,稍微过一下我忘记的知识

Pre

  • 传统:专家系统、知识图谱,本质上都是设定好规则,没什么美感
    • 适合已有既定规则、规律的任务(物理规则、计算)
  • 机器学习:从数据中自动挖掘规律
    • 难以描述的规律、规则(识别猫和狗)
    • 黑盒
  • 深度学习:机器学习的子集
    • 更黑盒

线性代数

  • 标量(scalar):年龄、身高……等单一数值
  • 向量(vector)
    • 物理中的意义非凡
    • 机器学习中其实就是一个对象的在不同维度的属性,简称一组有序的数

区分一下向量的缩放,缩放的英语单词为scaling

请阅读:3blue1brown 线性代数的本质

线性相关

线性不相关的向量

  • 线性相关:如果一组向量里至少有一个向量可以表示为其他向量的线性组合,那么就称这一组向量线性相关。

  • 基:向量空间的一组基是指张成该空间的一个线性无关的向量组

线性变换

可以理解为对向量的一个函数:

  • 输入:一个向量
  • 输出:一个向量

但这个函数需要满足:

  • 加法封闭性:$T(u+v) = T(u) + T(v)$
  • 数乘封闭性:$T(cu) = cT(u)$

向量的基本操作就两个:一个是数乘,一个是向量加法

但是这样对理解来说过于复杂,不如把线性变换定义为:

线性变换

  • 平面上任意直线都不会扭曲
  • 原点不变

通过基向量在变换前后的变换情况,我们可以推出平面上所有向量的变换后结果:

矩阵

(a,c)和(b,d)就是(1,0)和(0,1)在二维平面上变换后的向量

同理,线性变换可以复合,因此可以表示为矩阵乘法:

矩阵乘法

行列式

反映了线性变换对空间的**“体积”**影响

行列式

线性变换后,平面的面积会由于变换发生变换,行列式恰好反应了这一变换系数

同时面积是具有方向的(A向量到B向量之间的面积与B向量到A向量之间的面积相反)

因此行列式可以是负数

  • 对于二维的线性变换矩阵,若行列式为0
    • 所有向量被线性变换压缩到一条直线或点上
    • 两个新的基向量是线性相关的
  • 对于三维,可能被压缩到平面、直线、点中……
$$ \det(M_1M_2)=\det(M_1)\det(M_2) $$

线性方程组

线性方程组

我们通过将线性方程组写成矩阵方程的形式

似乎可以表示为:求解一个向量$x$,通过线性变换$A$,与向量$v$重叠

  • 当$A$的行列式不为0时
    • 显然线性变化是可逆的(空间并没有被压缩)
    • 因此逆矩阵是存在的,且逆矩阵可以使得$AA^{-1}$的结果为一个什么都没做的线性变换,即单位矩阵
    • 所以只需要对$v$应用一个逆线性变换即可求解
    • 且解唯一
  • 当行列式为0,此时不存在逆矩阵(无法恢复被压缩的空间)
    • 因此此时解的情况非常复杂

Rank

从线性变换后的空间出发,秩被定义为:线性变换后的空间的维数

对于线性变换矩阵$A$​,其每一个列向量就是基向量的一部分

列空间

由其列向量的线性组合张成的空间即为列空间

秩就是列空间的维数

零空间

线性变换后落在零点的向量,构成零空间,或者

$$ Ax = 0 $$

非方阵

线性变换

  • $n\times m$维的矩阵,表示$m$维空间转化到$n$维的一个线性变换

点积

点积

同样从几何意义出发,两个向量的点积,象征了一个向量在另一个向量的投影与该向量长度的乘积

通过这一层意义,我们可以知道点积的正、负、零的关系所带来的一些意义

但是为什么点积的计算是符合这个几何意义的?

点积->线性变换

两个列向量的点积,其实可以看做一个向量基于一个线性变换,最终被压缩到了一个一维空间

证明

我们可以构造任意一条过原点的向量,且引入一个二维向量$u$,长度为1,恰好在这条直线的刻度1上

我们可以把空间中所有点都线性变换到这个直线所在的一维空间

显然这个过程可以使用一个$1\times 2$矩阵表示

因此我们只需要求解$i,j$变换后在直线上的刻度值,即可得到这个矩阵

投影

由于$i,j,u$的长度都是相同的(都是1),因此实质上具备对称性:

  • $i$线性变换后的刻度值 = $u$投影到$i$的长度 = $u_x$
  • $j$线性变换后的刻度值 = $u$投影到$j$的长度 = $u_y$
$$ \begin{bmatrix} u_x & u_y \end{bmatrix} $$$$ \begin{bmatrix} u_x & u_y \end{bmatrix} \begin{bmatrix} x\\y \end{bmatrix} = u_x\times x+u_y\times y $$

因此任意向量在指定单位向量上的投影值,可以表示为与这个单位向量的点积

对于非单位向量,似乎只是$u_x,u_y$乘上了一个长度系数

对于点积的结果,正是投影长度乘以这个长度系数

使用 Hugo 构建
主题 StackJimmy 设计