RNN 2:反馈神经网络的解决OXR问题

利用recurrent network 解决xor的分类问题

%% 3 units recurrent,2 circle delay
clc
clear 
close all

%% net config
f = @(x) 1./(1+exp(-x));
delta = @(i,j) i==j;
alpha = 4;
p1 = zeros(3,6);
p2 = zeros(3,6);
p3 = zeros(3,6);

%% train
x = randi([0,1],[2,1]);
y = zeros(3,1); % t = 0;
z = [y;x;1];
%w = -1 + 2 * rand(3, 6);  %权值为何要初始化为负值?
w = rand(3,6);
y = f(w*z);  % t=1
d = xor(x(1),x(2));
maxIter = 1000;
for n = 1:maxIter    
    x = randi([0,1],[2,1]);
    z = [y;x;1];
    y = f(w*z);  % t=2,3 .... n
    for i = 1:3 
        for j = 1:6
            q1 = y(1)*(1-y(1))*(w(1,1)*p1(i,j)+w(1,2)*p2(i,j)+w(1,3)*p3(i,j)+delta(1,i)*z(j));
            q2 = y(2)*(1-y(2))*(w(2,1)*p1(i,j)+w(2,2)*p2(i,j)+w(2,3)*p3(i,j)+delta(2,i)*z(j));
            q3 = y(3)*(1-y(3))*(w(3,1)*p1(i,j)+w(3,2)*p2(i,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值