全连接与逻辑回归(与logit的小关系)

全连接神经网络正向传播与梯度反向传播

转载自:https://www.cnblogs.com/mfryf/p/11381186.html
参考:https://zhuanlan.zhihu.com/p/30659982

链式法则

类型一:
全连接与逻辑回归(与logit的小关系)
类型二:
全连接与逻辑回归(与logit的小关系)
类型三:
全连接与逻辑回归(与logit的小关系)
全连接与逻辑回归(与logit的小关系)

逻辑回归的正、反向传播

逻辑回归可以看做最简单的神经网络(典型的二值分类器,用来处理两类分类问题),他只有一个神经元,损失函数选择的是对数损失,他的正向传播过程如下图所示:
全连接与逻辑回归(与logit的小关系)
接下来反向计算损失函数对每个变量的导数。如果你想直接求L对w1的导数是会产生很多重复计算的,回忆下链式求导法则就知道了。因此我们从右向左求导数,这样可以避免重复计算,也就是梯度反向传播的过程,如下图所示:
全连接与逻辑回归(与logit的小关系)
然后就可以更新w和b,更新模型了,即全连接与逻辑回归(与logit的小关系)

逻辑回归的正、反向传播案例

假设最开始初始化w1=0.3,w2=0.4,b1=1 w_{1}=0.3, w_{2}=0.4, b_{1}=1 本轮训练样本为[(2,3),0],损失函数选用的对数损失(交叉熵),如下图所示:全连接与逻辑回归(与logit的小关系)
可以看出在当前模型参数下,正向传播后,损失为2.859

接下来,使用BP算法更新模型参数,其中η=0.1\eta = 0.1则如下图所示:
全连接与逻辑回归(与logit的小关系)
全连接与逻辑回归(与logit的小关系)
如果再进行正向传播计算损失的话,可以发现,损失从2.859降低到1.682:全连接与逻辑回归(与logit的小关系)

全连接神经网络的正、反向传播

上面举了一个单神经元使用对数损失做分类的例子,这里为了描述全面,阐述一下多神经元做分类的情况,下图是全连接神经网络正向传播的过程:
全连接与逻辑回归(与logit的小关系)
接下来反向计算损失函数对每个变量的导数。也就是梯度反向传播的过程,如下图所示:全连接与逻辑回归(与logit的小关系)
然后就可以更新w和b,更新模型了,即全连接与逻辑回归(与logit的小关系)

全连接神经网络的正、反向传播案例

假设最开始初始化所有w都等于0.5,所有的b都等于1,本轮训练样本为[(2,3),0],损失函数选用的对数损失,如下图所示:全连接与逻辑回归(与logit的小关系)
可以看出在当前模型参数下,正向传播后,损失为2.017

接下来,使用BP算法更新模型参数,如下图所示:全连接与逻辑回归(与logit的小关系)
全连接与逻辑回归(与logit的小关系)
如果再进行正向传播计算损失的话,可以发现,损失从2.017降低到1.83:
全连接与逻辑回归(与logit的小关系)
PS:Logit 模型和Logistic模型是一回事。
当我们说Logit模型 的时候,一般指的就是这个式子:全连接与逻辑回归(与logit的小关系)
当我们说Logistic模型 的时候,一般指的是这个式子:全连接与逻辑回归(与logit的小关系)
小结一下:
(1)Logit模型的左侧是Odds的对数,而Logistic模型的左侧是概率。
(2)Logit模型的右侧是一个线性结构,而Logistic模型的右侧是非线性的。
(3)二者可以相互转化。
Logit模型是基于效用理论推导出来的,而Logistic函数可以通过求解微分方程得到。两者最后竟然异曲同工——不得不承认数学的神奇!