разработать персептрон для оценки четности, такой как 1 2 3 4

Разработайте перцептрон, добейтесь функции, которая оценивает четность 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}) 

person 谭有倩    schedule 27.05.2011    source источник
comment
да вы можете дать мне некоторые предложения?   -  person 谭有倩    schedule 27.05.2011
comment
Зачем? никто не может ответить на мой вопрос.   -  person 谭有倩    schedule 06.06.2011


Ответы (1)


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

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

person aSteve    schedule 25.09.2011