美文网首页
机器学习笔记

机器学习笔记

作者: 微雨旧时歌丶 | 来源:发表于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