神经网络算法

Posted 止一之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络算法相关的知识,希望对你有一定的参考价值。

 
  阅读时间 
  7 分钟 
 

资讯   |   干货   |   思考   |   杂谈

1

 

算法的计算过程

神经网络算法的计算过程具体是怎么样的呢?

假如我们有这么一个神经网络:

神经网络算法


首先我们了解一下这些标记:

神经网络算法


这里使用的公式依然是逻辑函数:

神经网络算法


那么对于每一个输入的计算方式如下:

神经网络算法


其中 x0 = 1 和 a0 = 1 。

从上面的计算可以看到,后面每一层的输出结果是以前面一层的输出结果为特征,并和参数以及计算得到。

a(2) 的特征是 X ,参数是 θ(1) ;a(3) 的特征是 a(2) , 参数是 θ(2) 。

如果后面还有层级,那就以此类推。

在这里,如果第 j 层有 sj 个单元,第 j+1 层有 sj+1 个单元,那么 θ(j) 就是一个 sj+1 × ( sj + 1 ) 的矩阵。

这里,输入的特征是包括了的 x0 、 a0 这些偏差节点的,而输出是不包括这些节点的。

就以上面的图片为例:

θ(1) 是一个 3 × 4 的矩阵,θ(2) 是一个 1 × 4 的矩阵。

如果把逻辑函数中的 z 也提取出来,作为一个参数的话,对于第二层来说,例如前面图中的隐藏层,那就是:

神经网络算法


其中:

神经网络算法


如果设置 x = a(1) ,向量化的表达就是:

z( j ) = θ( j - 1 )a( j - 1 )

其中:

神经网络算法


2

 

一个具体的例子

看了上面这么多,可能不好理解,我们看一些例子好了。

例如我们有这样一个图形,想要将图中的蓝圈和红叉区分开来:

神经网络算法


具体是怎么做的呢?

首先我们看看问题的简化版本:

神经网络算法


我们设定 x1 和 x2 只能从 0 和 1 中取值。那么:

蓝圈代表着 x1 = 1 & x2 = 0 ,或者 x1 = 0 & x2 = 1 ,就是 y = x1 XOR x2 ;
红叉代表着 x1 = 1 & x2 = 1 ,或者 x1 = 0 & x2 = 0 ,就是 y = x1 XNOR x2 。

我们先看看一些单个的神经元,对于以下所有的神经元,都有对于 x ∈ { 0,1 } , 也就是 x 只能从 0 或者 1 中取值。

我们先看一下 y = x1 AND x2 :

神经网络算法


对于这样的参数,有: hθ = g( -30 + 20x1 + 20x2 ) 。

还记得逻辑函数 g( z ) 的图形么:

神经网络算法


z 越大 g( z ) 越趋近于 1 , z 越小 g( z ) 越趋近于 0 。

所以, g( 10 ) ≈ 1 ,g( -10 ) ≈ 0 。我们可以得到下表:

神经网络算法


类似的,对于 y = x1 OR x2 ,有以下图片:

神经网络算法


对于这样的参数,有: hθ = g( -10 + 20x1 + 20x2 ) 。可以得到下表:

神经网络算法


对于 y = NOT x1 ,有以下图片:

神经网络算法


对于这样的参数,有: hθ = g( 10 - 20x1 ) 。可以得到下表:

神经网络算法


对于 y = x1 NOR x2 (也就是 NOT( y = x1 OR x2 ) ),有以下图片:

神经网络算法


对于这样的参数,有: hθ = g( 10 - 20x1 - 20x2 ) 。可以得到下表:

神经网络算法


为了实现前面将蓝圈和红叉区分开来,我们对于 y = x1 XNOR x2,可以这样构造神经网络进行实现:

神经网络算法

神经网络算法

然后得到下表:

神经网络算法


3

 

多类别分类处理

多类别处理和单类别处理起来非常类似,就是输出结果稍微有点改变,从常量变成了向量。

例如有这样的图片需要识别:

神经网络算法


输入的数据一样,而输出的结果 hθ(x) 是一个四维的向量:

神经网络算法


也就是说, hθ(x) 分别为:

神经网络算法


iOS 用户快速赞赏通道

长按二维码赞赏



神经网络算法

神经网络算法

神经网络算法

神经网络算法

神经网络算法

神经网络算法



微信ID:zhiyizhilu
长按左侧二维码关注

止一之路

和您一起走上财务自由的正道

以上是关于神经网络算法的主要内容,如果未能解决你的问题,请参考以下文章

神经网络——BP算法

bp算法在人工神经网络中的作用是啥?

用Matlab算BP神经网络的具体算法?

算法第6期|神经网络算法基本结构与建模

简单介绍神经网络算法

神经网络算法