zoukankan      html  css  js  c++  java
  • matlab 神经网络工具箱的实用

    0. 其他处理

    • 计时:

      tic
      net = train(net, X, y);
      toc

    1. 一个简单的 demo(单层感知器)

    P = [1, 1, 1, 1, 0, 0, 0, 0; 0, 0, 1, 1, 0, 1, 1, 0; 0, 1, 0, 1, 1, 0, 1, 0];
                % 每一列表示一个输入样本
    T = [-1, 1, 1, 1, -1, -1, 1, -1];
                % 表示输出值
    p = [0, 1; 0, 1; 0, 1];
                % 每一行表示参数的取值范围
    t = 1;
                % 输出值的个数;
    
    % 模型的定义
    net = newp(p, t, 'hardlims');
                % newp:new perceptron
    
    net = train(net, P, T);
                % 训练的过程;
                % 此时得到的 net 便是最终训练好的模型;
    
    % 测试
    newP = [0, 1, 1]';
    newT = sim(net, newP)
    newP = [0, 1, 0]';
    newT = sim(net, newP)

    2. nntool

    神经网络的可视化显示方式。

    • 先输入 data,再定义 network,最后 train
    • 通过 simulate 进行仿真测试;

    3. BP 神经网络的创建

    • 通过 newff

      % 样本矩阵(trainx, testx)以每一列为一个单独的样本,每一个行为一个属性,
      % target 目标值(trainy, testy)为一个行向量
      trainx, trainy
      testx, testy
      
      % 创建 BP 网络
      net = newff(trainx, trainy);
      
      % 接口必须统一,方能识别;
      net.trainParam.epochs = 1500;       % 最大训练次数
      net.trainParam.goal = 1e-13;        % 目标误差
      net.trainParam.show = 1;            % 显示级别
      
      % 接受训练样本,进行训练
      net = train(net, trainx, trainy);
      
      % 在测试集上进行测试
      predicted_y = net(testx);
    • 通过 feedforwardnet

      net = feedforwardnet([], 'trainlm');        % 第一个参数控制神经网络隐层的拓扑结构,其实就是各个隐层的神经元数目;
      net.trainParam.epochs = ...;
      net.trainParam.goal = ...;
      tic
      net = train(net, X, y);                     % X 构成输入层,y 构成输出层;
      toc
  • 相关阅读:
    第3章 文件I/O(4)_dup、dup2、fcntl和ioctl函数
    第3章 文件I/O(3)_内核数据结构、原子操作
    MyBatis Geneator详解<转>
    MapReduce原理<转>
    maven配置nexus
    myeclipse 上安装 Maven3<转>
    Lucene 工作原理<转>
    获取本工程的真实路径
    webservice文件上传下载
    fastjson常用操作
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9422130.html
Copyright © 2011-2022 走看看