Hebbian学习规则 2神经元 简单实现

//hebbian_learning2.m

%   Examples
%   --------
%   p1 = [1;1;-1;1];
%   t1 = 0;
%   p2 = [1;-1;1;1];
%   t2 = 0;
%   p3 = [-1;-1;-1;1]
%   t3 = 1;
%   w1 = hebbian_learning2(p1,t1,p2,t2,p3,t3)
%   t1 = 0;
%   t2 = 1;
%   t3 = 0;
%   w2 = hebbian_learning2(p1,t1,p2,t2,p3,t3)
function w = hebbian_learning2(p1,t1,p2,t2,p3,t3)
%   Author:Yao H. Wang

%   hebbian_learning2 Summary of this function goes here
%   Detailed explanation goes here
%   w = TN。
%   其中T为t1,t2,t3即targets组成的矩阵。
%   N,当P的逆矩阵存在的时候为P的逆矩阵,否则为P的伪逆。
P = [p1';p2';p3']';
T = [t1,t2,t3];
[row,col] = size(P);
r = rank(P);
if (row == col) && (r==row)
    N = inv(P);
else
    N = (inv(P'*P))*P';
end
w = T*N;

end


 

//hebbian_learning2test.m

%   Examples
%   --------
%   p4 = [1;-1;1;-1];
%   result = hebbian_learning2test(w1,w2,p4)
function result = hebbian_learning2test(w1,w2,p)
%   Author:Yao H. Wang

%   hebbian_learning2test Summary of this function goes here
%   Detailed explanation goes here
r1 = w1*p;
if r1<=0
    r1 = 0;
else
    r1 = 1;
end
r2 = w2*p;
if r2<=0
    r2 = 0;
else
    r2 = 1;
end
result = [r1,r2];
end


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值