2014-09-28 8 views
1

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

Теперь я ищу, чтобы проверить их (еще с 2000 образцов), используя последние веса я получил в конце процесса обучения, и использовать их в тестовом коде следующим образом:

function accuracy = test(data,weight1,weight2) 

xZero=1; 
wZero=0.1; 
counter=0; 

for(n=1:2000) 
    x1=data(n,1); 
    x2=data(n,2); 
    desired=data(n,3); 

    y=(xZero*wZero)+(x1*weight1)+(x2*weight2); 
    if(y==desired) 
     counter=counter+1; 
    end 

end 

но я получаю счетчик = 0, что означает, что никакие значения y не равны требуемому значению. - это то, как мы тестируем сеть, или я что-то пропустил? Я пытаюсь найти алгоритм онлайн или из книг о том, как тестировать, но я не могу. мы должны иметь тот же точный результат, что и желаемый результат, или мы должны использовать что-то вроде порога?

ответ

0

Существуют различные типы нейронных сетей, но в этом случае кажется, что в вашей сети должно быть два выхода y1 и y2. После обучения нейронной сети вы можете получить значения y1 и y2 для каждого тестового образца, а затем вычислить максимум y1 и y2. Максимум определяет класс выборки.