深度系列主要为 我在国科大研一期间,在《深度学习》课程中所学知识概述,根据PPT制作思维导图。
以及后来阅读《深度学习》花书以及吴恩达深度学习课程后的补充内容。
本篇包括深度学习基础:基础概念介绍、数学基础知识介绍、LR梯度下降算法推导、具有一个隐层神经网络介绍。
-----------------------------------------------------------------------------------------------------------------------
神经元模型:在MP模型中,神经元接收其他n个神经元的输入信号(0或1),这些输入信号经过权重加权并求和,将求和结果与阈值比较,然后经过激活函数处理,得到神经元的输出。当时还没有通过对训练样本进行训练来确定参数的方法,参数只能人为事先计算后确定。
感知器:1958年,罗森布拉特(Roseblatt)提出了感知器,与M-P模型需要人为确定参数不同,感知器能够通过训练自动确定参数。训练方式为有监督学习,即需要设定训练样本和期望输出,然后调整实际输出和期望输出之差的方式(误差修正学习),训练参数。
多层感知器:单层感知器只能解决线性可分问题,而不能解决线性不可分问题。为了解决线性不可分问题,我们需要使用多层感知器。多层感知器指的是由多层结构的感知器递阶组成的输入值向前传播的网络,也被称为前馈网络或正向传播网络。以三层结构的多层感知器为例,它由输入层、中间层及输出层组成。与M-P模型相同,之间层的感知器通过权重与输入层的各单元相连接,通过阈值函数计算中间层各单元的输出值,中间层与输出层之间同样是通过权重相连接。多层感知器的训练使用误差反向传播算法,即BP算法。
误差反向传播算法(Error Back Propagation,BP):BP算法就是通过比较实际输出和期望输出得到误差信号,把误差信号从输出层逐层向前传播到各层的误差信号,再通过调整各层的连接权重以减小误差。权重的调整主要使用梯度下降法。
激活函数:通过误差反向传播算法调整多层感知器的连接权重时,一个瓶颈问题就是激活函数。M-P模型中使用阶跃函数作为激活函数,只能输出0或1,不连续所以不可导。为了使误差能够传播,提出使用可导函数sigmoid作为激活函数(1/(1+e^x))。其他常用的激活函数还有tanh((e^x - e^(-x))/(e^x + e^(-x))),ReLu(Rectified Linear Unit,修正线性单元)等。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
线性代数部分知识补充复习
https://www.bilibili.com/video/BV1Ls411b7oL?t=71
向量是一个从原点开始的有向箭头,用末端的坐标表示。
矩阵是一个线性变换,矩阵的列为 原始基向量 变换后的 向量坐标,即新的基向量的坐标。
矩阵【i,j】×向量【x,y】:向量经过线性变换后的新向量 = x * i + y * j。
矩阵1 × 矩阵2:经过线性变换2后,再经过线性变换1之后的基向量。
行列式是线性变换后,空间中面积(二维)、体积(三维)的变化(缩放程度,负数表示空间的翻转,0表示将空间压缩更低维的空间)。
秩表示线性变换后,空间的维度。
线性方程组 Ax = v, 寻找一个向量x,经过线性变换A之后,为向量v
--------------------------------------------------------------------------------------------------------------------------------------
Logistic regression 梯度下降过程介绍(来源:吴恩达深度学习第一课第二周内容)
一、公式推导(红色标出为编程中需要用到的结论)
共有m个样本
和b为参数
(1)正向传播过程
单个样本损失函数
所有样本成本函数
(2)反向传播过程
计算梯度和: