单层神经网络补充程序

单层神经网络补充程序

%init 神经网络的初始化
net=init(net);

net=newp([0,1;-2,2],1); % 创建感知器
net.iw{1,1}; % 创建时的权值{i,j} 从第j个输入到到第i层的权重的权重矩阵
% ans =
%
% 0 0

net.b{1} % 创建时的偏置

% ans =
%
% 0

P=[0,1,0,1;0,0,1,1] % 训练输入向量

% P =
%
% 0 1 0 1
% 0 0 1 1

T=[0,0,0,1] % 训练输入向量的期望输出

% T =
%
% 0 0 0 1

net=train(net,P,T); % 训练
net.iw{1,1} % 训练后的权值
% ans =
%
% 1 2

net.b{1} % 训练后的偏置
% ans =
%
% -3

net=init(net); % 初始化
net.iw{1,1} % 初始化后的权值
% ans =
%
% 0 0

net.b{1} % 初始化后的偏置
% ans =
%
% 0
net.initFcn % net.initFcn值
% ans =
%
% initlay
net.initParam % 当net.initFcn= initlay时,net.initParam自动为空所以系统报错

% SWITCH expression must be a scalar or string constant.
%
% Error in network/subsref (line 140)
% switch (subs)

平均绝对误差函数mae(mse sse)

%% 清理
clear,clc
close all
%% adapt感知器
% 创建感知器
net=newp([-1,2;-2,2],1);%向量维数2*1 单个神经元
% 定义训练向量
P={[0;0] [0;1] [1;0] [1;1]}; %按照纵向输入
T={0,0,1,1}; %期望值

% 进行调整
[net,y,ee,pf] = adapt(net,P,T); %net 网络 y 输出值 ee 网格误差pf 延迟
ma=mae(ee)
ite=0;
while ma>=0.15 %误差大于0.15 进行重新训练网络
[net,y,ee,pf] = adapt(net,P,T,pf);
ma=mae(ee)
newT=sim(net,P)
ite=ite+1;
if ite>=10 %训练10次停止
break;
end
end
误差表达式
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值