美文网首页互联网科技程序员机器学习与数据挖掘
《机器学习技法》学习笔记12——神经网络

《机器学习技法》学习笔记12——神经网络

作者: 033a1d1f0c58 | 来源:发表于2017-08-30 11:04 被阅读91次

    http://blog.csdn.net/u011239443/article/details/76680704

    动因

    单隐藏层神经网络:

    单隐藏层神经网络做“与”运算:

    但是单隐藏层神经网无法做异或运算:

    可以看到上面最右边的图,就算是映射到高维的空间中,依旧是线性不可分的。我们可以使用多层的神经网络来解决这个问题:

    神经网络假说

    神经网络基本上的模型为:

    由于阶梯函数不好求导优化;整个网络的激活函数都是线性函数的话,和只使用一个线性函数没太多的区别;所以我们更多使用S形函数,这里使用双曲正切函数,写作tanh:

    我的可以得到新的基本模型:

    神经网络学习

    我们学习的目标的:学习到各层之间的w,使得最终输出的误差最小。记误差为:


    那么我们是想使用(随机)梯度下降来计算:

    我们先来看下对于最后一层w该如何计算:

    如果不是最后一层:

    如何计算δ呢?我们先来想想s和e的关系:

    于是,我们由链式求导可以得到以下递推的公式:

    这样一来我们就可以从最后一层开始计算得到前一层,一直到第一层。这就是著名的“反向传播”:

    对于每一条数据我们都经过13的步骤,向前传播一次,再向后传播一次,这样十分耗时。`mini-batch`的策略,让一批数据并行的进行13的步骤,将各个$x_i{l−1}δ_jl$的平均值代入步骤4。

    优化与正则化

    我们知道随机梯度下降/梯度下降我们只能找到局部的最优解。所以神经网络模型的效果,对于w的初始化十分敏感。过大的w值会使得在S函数上的变化变得很小,导致梯度消失。建议对w进行随机的小数值取值。

    复杂的神经网络会产生过拟合,需要引入正则化:

    • L1,不好求导。
    • L2,本质上是在对原来的w根据一定比例缩小,然而原来w中大权重缩小后还是比原来小的权重大。
    • 权消去正则化:
    • 根据验证集的结果,早点停止迭代。
    这里写图片描述

    相关文章

      网友评论

        本文标题:《机器学习技法》学习笔记12——神经网络

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