深度学习0—感知机+BP神经网络

感知机模型

基本原理

感知机的思想很简单,比如我们在一个平台上有很多的男孩女孩,感知机的模型就是尝试找到一条直线,能够把所有的男孩和女孩隔离开。放到三维空间或者更高维的空间,感知机的模型就是尝试找到一个超平面,能够把所有的二元类别隔离开。当然你会问,如果我们找不到这么一条直线的话怎么办?找不到的话那就意味着类别线性不可分,也就意味着感知机模型不适合你的数据的分类。使用感知机一个最大的前提,就是数据是线性可分的。这严重限制了感知机的使用场景。它的分类竞争对手在面对不可分的情况时,比如支持向量机可以通过核技巧来让数据在高维可分,神经网络可以通过激活函数和增加隐藏层来让数据可分。
在这里插入图片描述
在这里插入图片描述
一条记录一条记录的实验,修正参数,直到所有的数据集都通过,此时的w即为最终的参数。

实例分析

在这里插入图片描述
解答:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不同隐层数感知器的分类能力

在这里插入图片描述

BP神经网络模型与学习算法

BP算法基本原理

简单的说:
利用输出后的误差来估计输出层的直接前导层的误差,
再用这个误差估计更前一层的误差,如此一层一层的反
传下去,就获得了所有其他各层的误差估计。
详细一点:
基本BP算法包括信号的前向传播和误差的反向传播两个过程。即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。正向传播时,输入信号通过隐含层作用于输出节点,经过非线性变换,产生输出信号,若实际输出与期望输出不相符,则转入误差的反向传播过程。误差反传是将输出误差通过隐含层向输入层逐层反传,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值的依据。通过调整输入节点与隐层节点的联接强度和隐层节点与输出节点的联接强度以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。

BP神经网络模型

在这里插入图片描述

优劣势

BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷。
学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。
容易陷入局部极小值
网络层数、神经元个数的选择没有相应的理论指导
网络推广能力有限
对于上述问题,已经有了许多改进措施,研究最多的就是如何加速网络的收敛速度和尽量避免陷入局部极小值的问题。

猜你喜欢

转载自blog.csdn.net/qq_42871249/article/details/105005147
今日推荐