8. 神经网络

作者: edwin1993 | 来源:发表于2018-04-12 21:22 被阅读5次
    • 随机梯度下降
    • 神经网络模型
    • 反向传播算法

    随机梯度下降

    通过多次的随机选择某一个样本进行梯度下降,其均值依然能够反应出正确的下降方向,这就是GD的随机版本,SGD

    SGD的优点
    • 计算方便
      因为在GD中,每次迭代都要用到全部训练数据。
      在SGD中,每次迭代可以只用一个训练数据来更新参数。
    • 随机性
      SGD的随机性可以使得在迭代的过程中有机会不陷入局部最优
    • 原理简单
    SGD的应用

    以电影评分为例:
    每个点表示电影中不同的方面信息。我们需要匹配电影元素和用户的口味。其目标的使得我们的推测尽可能的接近用户的评分。

    神经网络

    感知器模型

    单层的感知器可以完成一些简单的问题

    对于单层感知器无法完成的问题,我们使用多层感知器的组合来实现单一的功能。

    所以,越多的感知器的添加,可以使我们更好的拟合所给的数据内容。但是,需要注意泛化与优化的问题。

    在单个感知器模型的优化问题中,处理线性不可分数据对模型造成的问题都很困难,需要使用组合优化。所以当多层感知器交叠在一起的时候,优化问题就变得非常难以处理。

    神经网络模型

    神经网络中的阈值函数选择为软阈值函数,其主要作用在于避免硬阈值函数“一刀切”带来的剧烈抖动, 可以用于处理一些优化问题。

    神经网络中的权重是多层次的,所以显得更加复杂:

    下一层的输入将会是上一层的输出经过阈值函数转换后的结果:

    反向传播算法

    将SGD运用于模型中:

    e(w) 与 w 之间无法直接相关,所以通过总的上层输入s作为中间层。

    反向传播

    反向的原因在于,最后在最后模型输出结果后,我们才能将模型的结果与实际的y值想比较,进而向前递进的修改w。
    j = 1 是因为最终的输出只有一个。而中间层的输出可以有多个。

    θ是任意一个软阈值函数。此处为tanh。

    上一层的δ由下一层的δ反向求取。

    算法伪代码如下:

    相关文章

      网友评论

        本文标题:8. 神经网络

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