zoukankan      html  css  js  c++  java
  • 建模算法(六)——神经网络模型

    (一)神经网络简介

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

    (二)人工神经网络模型

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

    image

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

    2、一个求和单元

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

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

    归结如下:

    image

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

    image

    5、激活函数的选择

    image

    image

    二、网络结构及工作方式

    1、前馈型网络

    image

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

    2、反馈性网络

    image

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

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

    一、蠓虫分类问题

    image

    二、多层前馈网络

    image

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

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

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

    image

    image

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

    三、向后传播算法

    image

    image

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

    四、蠓虫分类问题的求解

    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)
  • 相关阅读:
    gcc 工作流程和常用参数
    解决webstorm卡顿问题,下面详细设置方法,使得webstorm快速打开
    使用vue 3.0 初始化vue脚手架
    vue父组件更新,子组件也更新的方法
    vue 父子组件渲染
    数组对象去重 reduce()
    webstorm 点击右上角运行run 启动vue项目
    寻找的常用webstorm快捷键
    mORMot使用基础1(转)
    win7共享win10打印机提示无法连接到打印机 错误 bcb
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4270391.html
Copyright © 2011-2022 走看看