avatar

深度学习笔记

2020年7月3日晚,第一次更新,未来几天,将会持续更新。

历史概述

20世纪40年代到60年代,深度学习的的出行出现在控制论(cybernetics)

20世纪50年代,**感知机(Rosenblatt)**出现,成为第一个能够根据每个类别的输入样本来学习权重的模型,约同一时期,自适应线性单元(ADALINE)简单的返回函数f(x)本身的值来预测一个实数,并且他还可以从数据预测这些数。用于调节ADALINE权重的训练算法是别成为随机梯度下降的一种特例。

20世纪80年代,**联结主义(connectionism)并行分布处理(parallel distributed prosessing)**潮流的出现,引起神经网络研究的第二次浪潮。联结主义实在认知科学的背景下提出。认知科学是理解思维的跨科学途径,即他融合多个不同的分析层次。联结主义开始研究真正基于神经系统实现的认知模型(Touretzky and Mintion)。联结主义的中心思想是,当网络将大量简单的计算单元连接在一起时就可以实现智能行为。

20世纪90年代,有人提出对长序列进行建模的一些根本性数学难题,引入**长短期记忆(LSTM)**网络来解决这些难题。

2006年,引发神经网络研究的第三次浪潮,神经网络可以使用一种称为贪婪逐层预训练的策略来有效地训练。

第一部分 应用数学与机器学习基础

线性代数

由于线性代数属于大学必修专业基础课程,基本的概念定义在这里不一一赘述。

标量、向量、矩阵和张量

标量(scalar):一个标量就是一个单独的数。

向量(vector):一个向量是一列数,这些数是有序排列的,通过次序中的索引,我们可以确定单独的数。

矩阵(matrix):矩阵是一个二维的数组,其中每个元素被两个索引所确定。

张量(tensor):在某些情况下,我们会讨论坐标超过两维的数组。一般的,一个数组中的元素分布在若干维坐标的规则网格中,我们称之为张量。

转置(transpose):使矩阵一个重要的操作之一,矩阵的转置是以对角线为轴的镜像,这条从左上到右下角的对角线称之为主对角线。

矩矩阵与向量相乘

矩阵的乘积(matrix product):如果矩阵A的形状是m * n的,矩阵B的形状是n * p的,那么两个矩阵乘积后的矩阵C的形状是m * p的,矩阵的乘法定义如下:

Ci,j=kAi,kBk,jC_{i, j}=\sum_{k} A_{i, k} B_{k, j}

矩阵乘积服从分配律: A(B+C) = AB + AC

矩阵乘积服从结合律: A(BC) = (AB)C

单位矩阵和逆矩阵

单位阵:任意向量和单位矩阵相乘,都不会改变。单位矩阵的结构很简单,所有沿主对角线的元素都是1,而其他所有元素都是0

逆矩阵:矩阵A与矩阵A的逆矩阵的乘积为单位阵,我们可以通过以下步骤求解解析式:

Ax=bA1Ax=A1bInx=A1bx=A1b\begin{array}{c} \boldsymbol{A} \boldsymbol{x}=\boldsymbol{b} \\ \boldsymbol{A}^{-1} \boldsymbol{A} \boldsymbol{x}=\boldsymbol{A}^{-1} \boldsymbol{b} \\ \boldsymbol{I}_{n} \boldsymbol{x}=\boldsymbol{A}^{-1} \boldsymbol{b} \\ \boldsymbol{x}=\boldsymbol{A}^{-1} \boldsymbol{b} \end{array}

线性相关和生成子空间

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

iciv(i)\sum_{i} c_{i} \boldsymbol{v}^{(i)}

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

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

线性相关:一个向量组中,至少有一个向量能由其余n-1个向量线性表示。

线性无关:如果一个向量组中的任何一个向量都不能由其余向量的线性组合,那么这个向量组称之为线性无关。

奇异矩阵(singular):即|A| = 0。

范数

在机器学习中,我们经常使用被称为**范数(norn)**的函数衡量向量的大小。

xp=(ixip)1p\|\boldsymbol{x}\|_{p}=\left(\sum_{i}\left|x_{i}\right|^{p}\right)^{\frac{1}{p}}

范数是将向量映射到非负值得函数。直观上讲,向量x的范数衡量从原点到点x的距离。范数满足如下性质:

f(x)=0x=0f(x)=0 \Rightarrow x=0

f(x+y)f(x)+f(y)( 三角不等式( ( triangle inequality ))f(x+y) \leq f(x)+f(y) \quad(\text { 三角不等式( }(\text { triangle inequality }))

αR,f(αx)=αf(x)\forall \alpha \in \mathbb{R}, f(\alpha \boldsymbol{x})=|\alpha| f(\boldsymbol{x})

常见的范数有L1、L2范数,

特征分解

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

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

Av=λv\boldsymbol{A} \boldsymbol{v}=\lambda \boldsymbol{v}

标量λ被称为这个特征向量对应的特征值,(类似的,我们也可以定义左特征向量,但是我们更关注右特征向量)

An线{v(1),,v(n)},{λ1,,λn}假设矩阵 A 有 n 个线性无关的特征向量 \left\{\boldsymbol{v}^{(1)}, \ldots, \boldsymbol{v}^{(n)}\right\},对应着特征值 \left\{\lambda_{1}, \ldots, \lambda_{n}\right\}_{\circ}

使:我们将特征向量连接成一个矩阵,使得每一列是一个特征向量:

\boldsymbol{V}=\left[\boldsymbol{v}^{(1)}, \ldots, \boldsymbol{v}^{(n)}\right] . 类似地,我们也可以将特征值.连接成一个向量 $\boldsymbol{\lambda}=\left[\lambda_{1}, \ldots, \lambda_{n}\right]^{\top}$

AeigendecompositionA=Vdiag(λ)V1因此 A 的特征分解(eigendecomposition)可以记作 \boldsymbol{A}=\boldsymbol{V} \operatorname{diag}(\boldsymbol{\lambda}) \boldsymbol{V}^{-1}

奇异值分解

将矩阵分解为奇异向量和奇异值,通过奇异值分解,我们会得到一些与特征分解相同类型的信息。然而奇异值分解有更广泛的应用。例如,每个实数矩阵都有一个奇异值分解,但不一定都有特征分解。

Author: Hui Ning
Link: https://angelni.github.io/notebook/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
    微信
  • 支付宝
    支付宝

Comment