码迷,mamicode.com
首页 > 编程语言 > 详细

建模算法(六)——神经网络模型

时间:2015-02-03 19:08:20      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

(一)神经网络简介

        主要是利用计算机的计算能力,对大量的样本进行拟合,最终得到一个我们想要的结果,结果通过0-1编码,这样就OK啦

(二)人工神经网络模型

一、基本单元的三个基本要素

技术分享

1、一组连接(输入),上面含有连接强度(权值)。

2、一个求和单元

3、一个非线性激活函数,起到将非线性映射作用,并将神经元输出幅度限制在一定范围内(在(0,1)或者(-1,1))

4、还有一个阀值(偏置)

归结如下:

技术分享

PS:也可以选择将偏置(阀值)加入到线性求和里面

技术分享

5、激活函数的选择

技术分享

技术分享

二、网络结构及工作方式

1、前馈型网络

技术分享

       主要用于模式识别和函数逼近。

2、反馈性网络

技术分享

        用作各种联想储存器;用于求解最优化问题。

(三)蠓虫问题与多层前馈网络

一、蠓虫分类问题

技术分享

二、多层前馈网络

技术分享

1、输入层2个,分别表示触角和翅膀的长度,只负责输入

2、处理层有3个(通过实验或者某些经验来确定),有负责计算

3、输出层有2个,有负责计算

技术分享

技术分享

        然后我们要通过已有的数据来确定权重,所用的方法为向后传播算法

三、向后传播算法

技术分享

技术分享

       然后就是求解一个非线性规划问题,可以使用前面章节所使用的方法来求解。

四、蠓虫分类问题的求解

clear;
p1=[1.24,1.27
    1.36,1.74
    1.38,1.64
    1.38,1.82
    1.38,1.90
    1.40,1.70
    1.48,1.82
    1.54,1.82
    1.56,2.08];

p2=[1.14,1.82
    1.18,1.96
    1.20,1.86
    1.26,2.00
    1.28,2.00
    1.30,1.96];

p=[p1;p2];
pr=minmax(p);
goal=[ones(1,9),zeros(1,6)
      zeros(1,9),ones(1,6)];
 plot(p1(:,1),p1(:,2),h,p2(:,1),p2(:,2),o)
 net=newff(pr,[3,2],{logsig,logsig});
 net.trainParam.show=10;
 net.trainParam.lr=0.05;
 net.trainParam.goal=1e-10;
 net.trainParam.epochs=50000;
 net=train(net,p,goal);
 x=[1.24 1.80
     1.28  1.84
     1.40  2.04];
 y0=sim(net,p)
 y=sim(net,x)

建模算法(六)——神经网络模型

标签:

原文地址:http://www.cnblogs.com/BlueMountain-HaggenDazs/p/4270391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!