开源AI系统AForge.NET学习:构建神经网络

AForge.NET是.Net版本的人工智能和机器视觉的开源库,项目地址:https://github.com/andrewkirillov/AForge.NET

这个库的实现比较简单,易于理解。下面展示一下如何应用神经网络进行训练。

            //构建神经网络
            var network = new ActivationNetwork(
                //new BipolarSigmoidFunction(2),  //采用双极型S函数
                new SigmoidFunction(),  //采用单极型S函数,取值范围在(0,1)之间
                inputs.Length, // 输入的数目
                20, // 第一层神经元的数目
                7,  //第2层
                6, //第3层
                1 // 输出神经元的数目
            );
            //选择训练算法,此处选择的是进化算法(遗传算法)
            var teacher = new EvolutionaryLearning(
                network,    //神经网络
                300,        //初始种群的数量
                fitnessFunction    //适应度函数
                );

其中,适应度函数是实现接口IFitnessFunction的类,可以参考内置的EvolutionaryFitness实现。

然后,就可以愉快的进行训练了,每一次训练返回偏差率,它是最好的个体的倒数,1/error=最好个体的适应度。

double error = teacher.RunEpoch( );

 

 

fitnessFunction
posted @ 2021-03-15 23:01  顺其自然,道法自然  阅读(366)  评论(0编辑  收藏  举报