深度学习-个人理解

深度学习模型类似一个黑盒子,输入一组数据,产生一个输出,这个输出就可以称为得分函数的输出值。

根据输出值与实际值之间的比较,通过损失函数可以求得损失值。损失值越大,代表模型的分类效果越差。

其中,通过Softmax分类器可以将分类结果映射成概率。

前向传播和反向传播

前向传播:输入经过网络后产生一个得分值(或者分类概率),根据这个值求得Loss值

反向传播:基于当前的Loss值,参数通过链式法则回传,调整模型的参数

模型参数更新

方向:梯度的反方向(即Loss变化最快的方向)

大小:步幅(学习率),不能过大也不能过小。过大可能错过损失函数的最小收敛点,过小会花费更长的时间。

参数更新:大小*方向

为了防止训练参数中存在个别异常点,通常按照一个bachsize的平均值进行参数更新(批处理)

对于一个训练集来说,通常用两层循环,外层为epoch,内层为一个bachsize。

神经网络的其他内容

激活函数:防止反向传播时,出现传递的参数趋近于0的问题。

模型训练的过拟合问题:模型在训练集表现优秀,在测试集表现较差。

  1. 正则话参数,消除异常点对模型的影响。
  2. drop-out,消除某些神经元,非全连接网络,防止出现过拟合现象。

数据预处理:消除x轴、y轴的差异,将差异归一化。

权重矩阵的初始化:不能全部一样,随机赋值。