8. 神经网络

  • 随机梯度下降
  • 神经网络模型
  • 反向传播算法

随机梯度下降

8. 神经网络_第1张图片

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

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

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

8. 神经网络_第4张图片
8. 神经网络_第5张图片

神经网络

感知器模型

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

8. 神经网络_第6张图片

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

8. 神经网络_第7张图片

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

8. 神经网络_第8张图片

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

神经网络模型

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

8. 神经网络_第9张图片
8. 神经网络_第10张图片

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

8. 神经网络_第11张图片

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

8. 神经网络_第12张图片

反向传播算法

将SGD运用于模型中:
8. 神经网络_第13张图片
8. 神经网络_第14张图片

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

8. 神经网络_第15张图片
反向传播

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

8. 神经网络_第16张图片

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

8. 神经网络_第17张图片

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

8. 神经网络_第18张图片

算法伪代码如下:

8. 神经网络_第19张图片

你可能感兴趣的:(8. 神经网络)