Welcome

首页 / 软件开发 / 数据结构与算法 / 人工神经网络入门(4) —— AForge.Net简介

人工神经网络入门(4) —— AForge.Net简介2011-08-24 博客园 逖靖寒1 介绍

这篇文章中,我们将介绍一个用C#实现的框架AForge,利用这个框架,您可以方便地操作人工网络, 计算机视觉,机器学习,图像处理,遗传算法等

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