2010-11-13 2 views
0

Я должен реализовать однопроцессорный персептрон с использованием Matlab.как вернуться к первому индексу матриц

Проблема, с которой я столкнулась, заключается в том, что когда я запускал свою программу, она давала мне вывод для каждого входа (он показывает результаты 4 раза), но я хочу вернуться к первому индексу матрицы, после того, как он достигнут четвертый, и я не могу узнать, как я вернусь к первому индексу матрицы.

Я хочу подготовить свою программу так, чтобы она давала тот же результат, что и в b, итерируя матрицу в каждом цикле.

Это мой текущий код:

a = [ 1 1 
     1 -1 
    -1 1 
    -1 -1 ]; 
b = [1 
    -1 
    -1 
    -1]; 
disp(a); 
disp(b); 
x = a(:,1); 
disp(x); 
y = a(:,2); 
disp(y) 
learningrate = 0.1; 
maxiteration = 10; 
weight(1)=0.1; 
weight(2)=0.1; 
weight(3)=0.1; 
count = length(x); 
for p = 1:count 
    s = (x(p) * weight(1))+ (y(p) * weight(2))+ weight(3); 
    if s >= 0 
     result = 1; 
     if result ~= b(p) 
      weight(1) = weight(1)+learningrate*(b(p)-result)*x(p); 
      weight(2) = weight(2)+learningrate*(b(p)-result)*y(p); 
      weight(3) = weight(3)+learningrate*(b(p)-result); 
      disp(result); 
      disp(x(p)); 
      disp(y(p)); 
      disp(weight(1)); 
      disp(weight(2)); 
      disp(weight(3)); 
     end 
    else 
     if s <= 0 
      result = -1; 
      disp(result); 
      if result ~= b(p) 
       weight(1)=weight(1)+learningrate*(b(p)-result)*x(p); 
       weight(2)=weight(2)+learningrate*(b(p)-result)*y(p); 
       weight(3)=weight(3)+learningrate*(b(p)-result); 
       disp(x(p)); 
       disp(y(p)); 
       disp(weight(1)); 
       disp(weight(2)); 
       disp(weight(3)); 
      end   
     end 
    end 
end 
+1

Взгляните на http://stackoverflow.com/questions/3455660/matlab-single-layer-neural-network – zellus

ответ

1

@Amro опубликовал сложную answer по реализации единого персептрон слоя с MATLAB. Его пост не только ценен с точки зрения «получения какого-то кода», но и от того, как техническая проблема должна быть решена. Он начинается с графического представления персептрона, показывающего поток сигнала, описание проблемы. И продолжает замечательные комментарии в коде, как часть решения.

Просто замена переменных a и b в вашем коде с содержательными именами может иметь большое значение.

Смежные вопросы