本程序示例2个简单的运算:
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi1 AND运算: 就是咱们常用的求和运算,如:1 AND 0 = 1
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi2 OR运算: 就是咱们常用的求并运算,如:1 OR 0 = 1
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰiíS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi启动程序后,你将会看到如下的界面:
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi点击“开始训练AND”按钮后,程序就开始训练 AND 运算,并在训练结束后提示咱们。
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi同时界面变成如下:
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi你只需要点击“0 0”按钮,就会在“计算结果”下面显示经过训练以后的ANN计算出来的结果。
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi如下所示:
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
“计算结果”显示为“1.74E-10”,说明 0 AND 0 = 0.
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi这个结果就是我们想要的。训练成功
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰiíS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi其他的按钮使用方法类似:)
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰiíS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi3 计算过程
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi咱们可以参考一下AND计算的总体运行过程:
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
//初始化训练集合íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
TrainSet[] sets = new TrainSet[] {new TrainSet(0, 0, 0), new TrainSet(0, 1, 0), íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
new TrainSet(1, 0, 0), new TrainSet(1, 1, 1)};íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
//构造单层神经网络 2 个输入节点 1个输出节点íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
NeuralNetwork nn = new NeuralNetwork(2, 1);íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
slnn = new SingleLayerNeuralNetworks(nn, sets);íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
//训练íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
slnn.Train();íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
MessageBox.Show("AND运算训练结束");íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
this.button2.Enabled = true;íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
this.button3.Enabled = true;íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
this.button4.Enabled = true;íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
this.button1.Enabled = true;íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
this.Text = "AND运算";íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰiíS
¾
£Hª;www.netcsharp.cnÅÑà×AŰiOK,通过上面的代码可以看出,咱们的神经网络有2个输入节点,用于输入AND运算的2个参数。1个输出节点,用于输出AND运算的1个结果。
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi接下来,咱们的单层神经网络通过一个训练集(有一组输入和相应的希望输出数据)开始训练。训练结束后,咱们就可以用相应的数据对训练结果进行测试了(通过“0 0 ”等按钮)。
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi4 预告
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi在下一篇文章中,我将进行ANN基本概率的介绍和本示例实现的原理:)
íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi5 总结íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi
在本文中,咱们介绍了1个基于单层神经网络的简单易懂的程序示例,可以让大家先有一个感性的认识。íS
¾
£Hª;www.netcsharp.cnÅÑà×AŰi附件:
ann1.rar