美文网首页
机器学习笔记

机器学习笔记

作者: 微雨旧时歌丶 | 来源:发表于2020-02-16 10:36 被阅读0次

神经元

神经网络的基本模型是神经元,神经元的基本模型就是数学中的乘、加运算:


神经元

y=x_1 w_1 + x_2 w_2

神经网络

两层的神经网络(一个隐藏层)

a^{(1)}=XW^{(1)} \\ y=a^{(1)}W^{(2)}
更进一步地,过激活函数f以提高表现力的神经元模型:
f(\sum_i x_iw_i+b)
常用的激活函数有:

  • relu
  • sigmoid
  • tanh

损失函数loss

计算得到的预测值y与已知答案y_的差距:

  • 均方误差MSE
  • 自定义损失函数:根据问题的实际情况
  • 交叉熵CE(Cross Entropy)

反向传播训练中,以减小loss值为优化目标,有梯度下降momentum优化器adam优化器等优化方法。

学习率

决定每次参数更新的幅度。在训练过程中,参数的更新向着损失函数梯度下降的方向。参数更新的公式为:
w_{n+1}=w_n-learning\_rate \Delta

  • 指数衰减学习率:
    learning\_rate=LEARNING\_RATE\_BASE * LEARNING\_RATE\_DECAY * \frac{global\_step}{LEARNING\_RATE\_BATCH\_SIZE}
    其中,LEARNING\_RATE\_BASE为学习率初始值(如0.1),LEARNING\_RATE\_DECAY为学习率衰减率(如0.99),global\_step记录了当前训练轮数,LEARNING\_RATE\_BATCH\_SIZE表示喂入多少轮BATCH\_SIZE后,更新一次学习率(一般设为:总样本数/BATCH\_SIZE)。

滑动平均

记录一段时间内模型中所有参数wb各自的平均值。利用滑动平均值可以增强模型的泛化能力。计算公式:
影子=衰减率*影子 + (1-衰减率)*参数
其中,衰减率=min\{MOVING\_AVERAGE\_DECAY, \frac{1+轮数}{10+轮数}\}影子初值=参数初值MOVING\_AVERAGE\_DECAY表示滑动平均衰减率,一般会赋接近1的值。

正则化

在损失函数中给每个参数w加上权重,引入模型复杂度指标,从而抑制模型噪声,减小过拟合:
loss = loss(y与y\_) + REGULARIZER*loss(w)
其中,第一项是预测结果与标准答案之前的差距(如交叉熵、均方误差);第二项是正则化计算结果。

相关文章

网友评论

      本文标题:机器学习笔记

      本文链接:https://www.haomeiwen.com/subject/lckpfhtx.html