一种简单的办法就是对每个数字构造一个模式,比如对数字3,我们这样构造模式:有笔画的部分用1表示,而没有笔画的部分,用-1表示,如图所示。当有一个待识别图像时,我们用待识别图像与该模式进行匹配,匹配的方法就是用图像和模式的对应位置数字相乘,然后再对相乘结果进行累加,累加的结果称为匹配值。为了方便表示,我们将模式一行一行展开用
w
i
w_i
wi(
i
i
i = 1, 2, …, n) 表示模式的每一个点。待识别图像也同样处理,用
x
i
x_i
xi(
i
i
i = 1, 2, …, n) 表示。这里假定模式和待识别图像的大小是一样的,由n个点组成。
上面介绍的,其实就是一个简单的神经网络。这是一个可以识别3和8的神经网络,和前面介绍的一样,
x
1
x_1
x1 …
x
n
x_n
xn 表示待识别图像,
w
3.1
w_{3.1}
w3.1 …
w
3.
n
w_{3.n}
w3.n和
w
8.1
w_{8.1}
w8.1 …
w
8.
n
w_{8.n}
w8.n 分别表示3的模式和8的模式,在图中可以看成是每条边的权重。如果用
y
3
y_3
y3 、
y
8
y_8
y8 分别表示识别为3或者8的概率的话,则这个示意图实际表示的和前面介绍的数字识别方法是完全一样的,只不过是换成了用网络的形式表达。
图中下边表示输入层,每个圆圈对应输入图像在位置
i
i
i 的值
x
i
x_i
xi ,上边一层表示输出层,每一个圆圈代表了一个神经元,所有的神经元都采取同样的运算:输入的加权和,加上偏置,再经过sigmoid函数得到输出值。这样的一个神经网络,实际表示的是如下计算过程: