CS229之神经网络

神经网络关键是

1. 训练样本数据前向步进,求误差

2. 误差的反向传播,更新参数


1. 前向步进

使用一个有 2 个输入神经元、2 个隐藏的神经元和 2 个输出神经元的神经网络。此外,隐藏层和输出层将包括一个 偏差神经元(Bias)。

这里的基本结构:


设定一些数字,这是初始权重,偏差,和训练输入/输出:


反向传播的目标是优化神经网络的权重,这样神经网络可以学习如何正确将任意输入映射到输出。

我们要处理一个训练集:给定输入0.05和0.10,我们希望神经网络输出0.01和0.99。

前向传播

让我们看看目前神经网络给定的偏差、权重和输入的0.05和0.10。为此我们要养活这些输入提前虽然网络。

我们算出每个隐藏神经元的总输入,再利用总输入作为激活函数(这里我们使用 Sigmoid 函数)的变量,然后在输出层神经元重复这一步骤。


插一个课程中前向传播的图


2. 反向传播

1. 计算输出误差

2. 将误差反馈到每一个神经元

3. 更新参数


求导过程如下


简化为公式,即为下图

首先计算各个误差

然后更新参数


参考:https://www.jianshu.com/p/2b1409e0234f

你可能感兴趣的:(CS229之神经网络)