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
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值