【发布时间】:2017-06-21 23:24:42
【问题描述】:
我第一次问问题。
我正在自学神经网络,目前正在尝试编写感知器算法。我想为 OR 功能训练它,但它不起作用。我完全不知道我做错了什么,并且互联网上没有不使用工具箱的解决方案。
input = [0 0; 0 1; 1 0; 1 1]%input vector
num_in = 4;% number of iterations
desired_out = [0;1;1;1] %desired output
bias = -1; %bias
w=zeros(2,1); %weight vector, initially zero
iterations = 100; % number of iterations to go through
for i = 1:iterations
out = zeros(4,1);
for j = 1:num_in %go per row of x
y = bias+input(j,1)*w(1,1)+input(j,2)*w(2,1) %sum
if(out(j,1)~=desired_out(j,1)) % modify weights and bias if mismatch exists
bias = bias+desired_out(j,1);
w(1,1) =w(1,1)+input(j,1)*desired_out(j,1);
w(2,1) = w(2,1)+input(j,2)*desired_out(j,1);
end
end
end
out %print the output
【问题讨论】:
标签: matlab neural-network training-data perceptron