感知机(perceptron)--最基本的神经网络算法模型

人工神经网络(ANN’s)是人脑的一个模型

  人工神经网络受到人类中枢神经系统的启发。就像是人脑生物结构的对应物一样,ANN’s的是建立在简单的信号处理元件上,这些元件连接在一起形成一个大的网格。

神经网络可以做什么?

识别面孔,

识别语音,

读你的笔迹(我的也许不是),

翻译文本,

玩游戏(通常是棋盘游戏或纸牌游戏)

控制自动车辆和机器人。

当然还有更多的事情!


神经网络的拓扑结构

  将神经网络的节点编织在一起的方法有很多种,每一种方式都会产生一种或多或少的复杂行为。可能最简单的拓扑结构是前馈网络。信号只向一个方向流动;信号路径中没有任何循环。

                        《感知机(perceptron)--最基本的神经网络算法模型》

  通常,ANN’s的结构是分层的。输入层接收输入信号并将其传递到下一层,即所谓的“隐藏层”。(实际上,在神经网络中可能有多个隐藏层。)最后是传递结果的输出层。


神经网络必须学习

  与传统的算法不同,神经网络不能被“编程”或“配置”以达到预期的效果。就像人类的大脑一样,他们必须学会如何完成一项任务。大致说来,有三种学习策略:

监督学习

  最简单的方法。如果存在已知结果的(足够大)的测试数据集,则可以使用。然后学习就像这样:处理一个数据集。将输出与已知结果进行比较。调整网络并重复。这就是我们要用到的学习策略。

无监督学习

  如果没有现成的测试数据,并且有可能从所需的行为中得出某种成本函数,有用的话。成本函数就会告诉神经网络它离目标有多远。在实际数据处理过程中,网络可以动态调整其参数。

强化学习

  “胡萝卜加大棒”的方法。如果神经网络产生连续动作,就可以使用。跟着胡萝卜在你的鼻子前面!如果你走错路——哎哟。随着时间的推移,网络学习更喜欢正确的行动,避免错误的行动。


神经元:神经网络的构建块

  任何人工神经网络的基本成分都是人造神经元。它们不仅以它们的生物副本命名,而且还以我们大脑中的神经元的行为为模型。

  就像一个生物神经元有树突接收信号,一个细胞体处理它们,一个轴突向其他神经元发送信号,这个人工神经元有许多输入通道,一个处理站,一个可以发散给多个其他的人工神经元的输出。

  《感知机(perceptron)--最基本的神经网络算法模型》

一个人工神经元

  让我们进一步放大。神经元如何处理它的输入?你可能会惊讶地发现神经元内部的计算是多么简单。我们可以确定三个处理步骤:

《感知机(perceptron)--最基本的神经网络算法模型》

  

1。每个输入都按比例放大或缩小。

当一个信号输入时,它会乘上分配给特定输入的权重值。也就是说,如果一个神经元有三个输入,那么它就会分别分配三个可以调整的权重。在学习阶段,神经网络可以根据最后一个测试结果的误差来调整权重。

2。所有的信号都可以加起来。

在下一步中,修改的输入信号可以归结为一个单一的值。在此步骤中,还添加了一个偏移量。这种偏移被称为偏差。在学习阶段,神经网络也会调整偏差。

这就是奇迹发生的地方!一开始,所有的神经元都有随机的权重和偏差。但在每次学习迭代之后,权重和偏差都会逐渐调节,这样下一个结果就会更接近期望的输出。通过这种方式,神经网络逐渐达到学习模式。

3所示。激活

最后,神经元的计算结果转化为输出信号。这是通过将结果反馈到激活函数(也称为传递函数)来完成的。


感知机

  激活函数最基本的形式是一个简单的二元函数,它只有两个可能的结果。尽管看起来很简单,函数有一个相当复杂的名称:亥维赛阶跃函数。如果输入为正或零,则该函数返回1,而对于任何负输入,则返回0。一个神经元的激活函数是像这样简单二元函数就叫做一个感知器。

《感知机(perceptron)--最基本的神经网络算法模型》

我们能用一个感知器做一些有用的事情吗?

如果你仔细想想,就会发现,感知器消耗了大量的信息,而输出很少,只有0或1。这怎么可能有用呢?

有一类问题是单个感知器可以解决的。将输入向量视为一个点的坐标。对于一个有n个元素的向量,这个点会在n维空间中存在。为了使生命(和下面的代码)更容易,让我们假设一个二维平面。像一张纸。

进一步考虑,我们在这个平面上画了一些随机点,我们把它们分成两组,在纸上画一条直线:这条线把点分成两组,一个在上面,一个在直线下面。(这两组被称为线性可分。)

一个感知器,就像它可能出现的那样简单而简单,它能够学习这条线的位置,当它完成学习时,它可以判断一个给定的点是在这条线的上面还是下面。

想象一下:一个感知器已经可以学习如何对点进行分类!

《感知机(perceptron)--最基本的神经网络算法模型》

代码:用于分类坐标点的感知器。

感知机

1.随机的权重和偏差

2.根据权重和偏差得出结果

3.将结果放入激活函数中输出最终结果


训练

1.随机的坐标

2.放入感知机中得出结果和实际结果比较

3.将结果的差值回馈给感知机修改权重和偏差

    原文作者:神经网络算法
    原文地址: https://blog.csdn.net/Zxiaosong/article/details/80510321
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞