深度学习第二次培训

1.感知机

        感知机是作为神经网络(深度学习)的起源的算法。因此,学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。
1.1.什么是感知机?

        感知机接收多个输入信号,输出一个信号。这里所说的“信号”可以想象成电流或河流那样具备“流动性”的东西。像电流流过导线,向前方输送电子一样,感知机的信号也会形成流,向前方输送信息。

 

深度学习第二次培训_第1张图片

深度学习第二次培训_第2张图片

深度学习第二次培训_第3张图片

2.什么是BP神经网络?

BP(BackPropagation)算法是神经网络深度学习中最重要的算法之一,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一。了解BP算法可以让我们更理解神经网络深度学习模型训练的本质,属于内功修行的部分。

BP算法的核心思想:学习过程由信号的正向传播和误差的反向传播两个过程组成。
2.1.正向传播

        输入层的神经元负责接受外界发来的各种信息,并将信息传递给中间层神经元,中间隐含层神经元负责将接收到的信息进行处理变换,根据需求处理信息,实际应用中可将中间隐含层设置为一层或者多层隐含层结构,并通过最后一层的隐含层将信息传递到输出层,这个过程就是BP神经网络的正向传播过程。
2.2.反向传播

        当实际输出与理想输出之间的误差超过期望时,就需要进入误差的反向传播过程。它首先从输出层开始,误差按照梯度下降的方法对各层权值进行修正,并依次向隐含层、输入层传播。通过不断的信息正向传播和误差反向传播,各层权值会不断进行调整,这就是神经网络的学习训练。当输出的误差减小到期望程度或者预先设定的学习迭代次数时,训练结束,BP神经网络完成学习。

 

深度学习第二次培训_第4张图片


2.3.隐藏层注意点

       如果隐含层中的神经元节点设置过少,结果可能造成神经网络的训练过程收敛变慢或者不收敛。如果隐层中节点过多,模型的预测精度会提高,但同时网络拓扑结构过大,收敛速度慢,普遍性会减弱。
 隐藏层神经元的设置方法:
        如果BP神经网络中输入层节点数为m个,输出层节点是为n个,则由下式式可推出隐藏层节点数为s个。其中b一般为1-9的整数。可以用MATLAB中的工具箱算出b的值。

3.BP神经网络的推导

深度学习第二次培训_第5张图片

深度学习第二次培训_第6张图片


3.1.正向传播计算过程

 

3.2.反向传播计算过程

3.2.1 计算总误差

总误差:

 但是有两个输出,所以分别计算o1和o2的误差,总误差为两者之和:深度学习第二次培训_第7张图片

3.2.2 隐含层---->输出层的权值更新

以权重参数w5为例,如果我们想知道w5对整体误差产生了多少影响,可以用 整体误差对w5求偏导求出:(链式法则)

下面的图可以更直观的看清楚误差是怎样反向传播的:

深度学习第二次培训_第8张图片

深度学习第二次培训_第9张图片 

 

 深度学习第二次培训_第10张图片

n为学习率,设置为0.5,可以调整更新的步伐,合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。学习率设置太小,结果收敛非常缓慢;学习率设置太大,结果在最优值附近徘徊,难以收敛,一般选取为0.01-0.8。

重复以上步骤,不断更新权重参数,得到新的输出值,输出值与期望值不断逼近。
3.3.何时结束?

        1.设置最大迭代次数,比如使用数据集迭代100次后停止训练;
        2.计算训练集在网络上的预测准确率,达到一定门限值后停止训练;
 

你可能感兴趣的:(深度学习,人工智能)