придумать персептрон для паритета Джугде, такой как 1 2 3 4 - PullRequest
0 голосов
/ 27 мая 2011

Придумайте персептрон, получите функцию, которая оценивает четность 1 2 3 4 .... используя Matlab, я обучил нейронную сеть, но она имеет очень большую дисперсию.

Я хочу спросить, как выразить образец?

Если я непосредственно использую 1 2 3 4 5 ... в качестве образца, дисперсия будет очень большой. Другими словами, нейронная сеть не используется для классов.

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

Это программа:

P= [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]; % Question if I can use another form to express the sample
T= [1 0 1 0 1 0 1 0 1 0 1 0 1 0 1]; 
net=newp([-1 10],1);  
net.trainParam.epochs = 40;
net=train(net,P,T); 
Y=sim(net,P)             
E1=mae(Y-T)        
plotpv(P,Y);       
plotpc(net.iw{1},net.b{1}) 

1 Ответ

0 голосов
/ 25 сентября 2011

Я не уверен, что полностью понимаю ваш вопрос ... но я подумал, что стоит упомянуть, что (однослойный) перцептрон (как известно) не может вычислить исключительный или (XOR) .Функция двоичной логики XOR эквивалентна вычислению четности для двух битов.По этой причине, хотя я не знаком с этим конкретным пакетом Matlab, я ожидаю, что вам потребуется многослойный персептрон ... возможно, один с большим количеством слоев, чем бит во входной строке.Если бы вы использовали модель персептрона со слишком малым количеством слоев - я бы ожидал, что вы не сможете обучить ее вычислению битов четности.

Вычисление четности не является задачей, для которой идеально подходит персептрон.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...