范例程序下载:
如果您有疑问,可以先参考 如果您未找到满意的答案,可以在下面留言:)0 目录1 介绍这篇文章中,我们将介绍一个用C#实现的框架,利用这个框架,您可以方便地操作人工网络,计算机视觉,机器学习,图像处理,遗传算法等2 神经网络设计部分框架介绍在这里,我要强调:这段代码写的非常漂亮,一种代码如诗的美感,让我神往。这段代码位于AForge.Neuro名字空间中。这个库文件由6个主要部分组成:
- Neuron - 所有神经元(neurons)的抽象基类, 它封装了所有neuron所共有的一些基本元素:权值, 输出值和输入值. 其他的neuron都是在该基础之上派生出来的.
- Layer - 代表neurons的集合. 这个抽象基类封装了层(Layer)的共性.
- Network - 代表一个神经网络, 是neuron's layers的集合. 这个抽象基类提供了Network的共性.其他的Network都是在该基础之上派生出来的.
- IActivationFunction - 激活函数(activation function)的接口. 所有的激活函数都派生于该接口
- IUnsupervisedLearning - 无导师学习(unsupervised learning)算法的接口 - 这种类型的学习体系在学习的过程中只提供输入,不提供针对该输入的期望输出. 该体系的目标是不断找出更优的解.
- ISupervisedLearning - 有导师学习(supervised learning)算法的接口 - 这种类型的学习体系在学习的过程中提供输入和针对该输入的期望输出. 该体系的目标就是通过实际的输出和期望的输出来不断修正网络.
这些类的关系可以用下图来表示:
这个文件包含下面2中神经网络体系:
- Activation Network
- Distance Network
同时提供以下5种学习算法用于解决不同的问题:
- Perceptron Learning
- Delta Rule Learning
- Back Propagation Learning
- SOM Learning
- Elastic Network Learning
3 代码示例
范例程序下载:该程序的使用说明和类似,可以参考http://www.cnblogs.com/gpcuster/archive/2008/05/22/1204456.html。但是是使用的AForge.Net中的框架实现。
拿求AND运算的例子来说,代码如下:
4 进一步学习
您可以查看类库的源代码,同时参考这篇文章《》
5 预告
我们将利用本章介绍的框架解决一个实际的问题:)6 总结
在这一章中,我们介绍了一个ANN库,通过它,你可以非常方便地建立你自己的神经网络,但是前提你得了解解决问题该需要使用哪种类型的网络,同时配合使用什么样的学习算法。