深度学习
1.深度学习的步骤
1.神经网络 2.模型评估 3.选择最好的模型
如同将大象装进冰箱,只需要三步
1.神经网络
神经网络中存在有许多的结点我们称为神经元, 线性回归类似于一个单层的神经网络。
完全连接前馈神经网络
输入由后向前传输,两个结点之间无相互的交互。每个节点通过激活函数来实现。 输入和输出通过向量来表示, 完全连接前馈神经网络分为三层: (1)输入层 (2)隐藏层 (3)输出层
神经网络的理解
随着神经结点的增加,错误率下降。输入层与输出层应用向量来表示以及计算,通过激活函数不断套娃计算下一层的输出值,每层的输出值也是下一层的输入值。 其本质是通过隐藏层来进行特征的转换。 在隐藏层将特征工程替换为特征提取,使之成为新的特征进行传输,而输出层是一个多层分类器,通过softmax函数得到label。 一共需要多少层以及需要多少神经节点需要我们用经验+直觉去判断。 结构可以通过机器来自动确定,比如进化人工神经网络 网络结构可以由我们自行设计。
2.评估模型的好坏
总体损失 是将真实值-预测值所得到的误差,总体进行相加而得到的。然后找到一个最小的总体损失函数(找到一组使总体损失最小的损失函数)
3.选择最佳模型
方法:梯度下降update参数
普遍性定理 任意一个连续的函数都可以通过足够多的隐藏层来表示任何的函数
2.反向传播机制
在选择最佳模型中我们需要通过梯度下降update参数,这里引出链式法则(chain Rule)
Chain Rule
本质就是通过函数来其参数求导以及偏导,如下 我们选取部分,对w进行求导,得到
Forward pass
顺着图1神经网络的方向我们可以得到其偏导为x1和x2 forward pass 可以很清晰的看到规律,也就是顺着神经网络的确定求导的wi的特征值
Backward pass
如上图所示,我们将导数继续向下求导得到: 此时又得到了两个需要求偏导的式子。此时发现有两种情况: 1.该层为输出层,则可以直接计算出其值带回到上一层的偏导中计算。 2.该层后面还有许多层,需要我们不停的计算其偏导直到y。 解决的办法:我们先从后向前计算其参数的偏导,逐层向前计算。然后再结合forward pass一起带入公式进行计算
|