神经网络最基本形式感知器的入门教程2

上页

  人工神经网络基本成分是人工神经元,它们不仅是以生物命名,而且是按照我们大脑中神经元的行为来命名的。

如同一个生物神经元有树突(dendrites )接受信号一样,然后一个细胞体处理这些信号,然后一个轴突(axon )向其他神经元发送信号,人工神经元有许多输入通道,一个处理阶段和一个输出,能输出到多个其他人工神经元。

神经元树突与轴突

 

让我们进入神经元内部,看看其内部机理,神经元是如何处理它的输入信号?你可能会惊讶地发现:在一个神经元内部的计算有多么简单,我们可以确定三个处理步骤:

神经元内部机制

1.每个输入信号被放大或缩小

当一个信号出现时,它就会被使用权重weight值相乘,这个weight值是专门分配给这个特定输入的,如果一个神经元有三个输入,那么它就有三个权重,可以单独分别调整,在学习阶段,神经网络可以根据最后的测试结果误差来调整权重。

2.所有信号会被汇总

修改后的输入信号被汇总为一个单一值,在这一步中,一个偏移量称为bias偏差的值会加入汇总,学习阶段神经网络会调整偏差值。

这里就是魔法发生的地方,在开始时,所有的神经元都是用随机权重和随机偏差值来调整,每次学习迭代后,权重和偏差会逐渐转移到接近下一个结果更符合理想输出,这种方式中,神经网络是逐步走向一个状态,因此所需的方式就是学习。

3.激活

神经元的计算结果变成了一个输出信号,这会将结果交给一个激活函数(也称为传递函数)来完成信号输出任务。

感知器Perceptron

大多数激活函数是一个简单的二元函数,只有两个可能结果。

if w * x +b >0
f(x)=1
否则
f(x)=0

该函数虽然简单,但是有一个复杂名称:Heaviside Step function,如果输入是正值或零,那么返回1,如果输入是负数则是返回0。一个神经元的活动函数就是成一个被称为感知器的东东。

单独使用一个感知器能够有用吗?确实有一类问题使用单个感知器可以解决,把输入向量作为一个点坐标,对于有N个元素的向量,这个点将存在在n维空间,为了更容易,让我们假设只有二维平面如一张纸。

我们在这个平面上画了一些随机点,然后把它们分为2组,通过画一条直线穿过平面:

简单感知器

这条线将平面分为两组,一组在上面,一组在下面(这两组数据被称为可线性可分的)

一个单一的感知器,因为其非常简单,当其完成学习训练以后,会知道在哪里画出这条线的,它可以告诉一个指定的点,它是高于或低于线。

可见,一个单一的感知器已经可以学习如何分类,让我们看看编码如何实现。

下页

 

大数据专题