上面我们已经介绍了经过基本的感知器,我们构造了一种SIGMOID单元,可以对“输入向量-值”这种模式的数据进行目标函数的逼近,但是这毕竟只是单个神经元,它逼近不了太复杂的映射关系,我们需要构造一个多层的神经网络结构来解决更一般的学习与分类问题。
下面我们通过一个简单的逼近实例来说明单个SIMGOID单元的工作原理。
首先,我们假设我们的输入是一个4维的向量x=[x1,x2,x3,x4]x=[x1,x2,x3,x4],其中xixi的值为0或者1。为了简单其见,我们只设计了下面4种样本。
对于这4类样本,我们希望它们得到4种不同的结果以说明它们属于哪一种,也就是我们的目标输出是一个标号,像下面这样:
上面的样本只是4种,我们可以让每一种样本重复来构建大量的样本实例。比如实际采集到的样本可能会有所浮动,比如与x1x1同类的样本可能采集到的数据是这样的x=[0.993,0.002,0.0012,−0.019]x=[0.993,0.002,0.0012,−0.019],所以我们可以用很小的随机数来模拟大量的样本输入。
因为我们的SIMGOID单元输出值只可能是[0,1][0,1],所以我们可以将我们的类别标号归一化为[1,2,3,4]/4[1,2,3,4]/4,下面我们用C++来模拟这一过程。