_convertToOneOfMany в PyBrain

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

Я не понимаю, как _convertToOneOfMany изменяет выходные данные.

Почему начальная операция alldata.addSample(input, [klass]) создает более одного выходного нейрона для каждого класса?


person user425720    schedule 16.11.2011    source источник
comment
Здравствуйте, вы забыли отметить свой вопрос как ответ.   -  person Framester    schedule 11.04.2013
comment
я сам ответил на него, так что, возможно, я пропущу это   -  person user425720    schedule 11.04.2013
comment
@user425720 user425720 Даже если вы ответили сами, вы должны пометить это как ответ. Тогда люди знают, что это решило проблему для вас.   -  person Martin Thoma    schedule 31.05.2016


Ответы (3)


неважно, вот документ, объясняющий этот материал http://pybrain.org/docs/tutorial/datasets.html

person user425720    schedule 29.11.2011
comment
спасибо за этот ответ, но я не совсем слежу за документом, многие алгоритмы работают лучше, если классы закодированы в одну единицу вывода для каждого класса. могу я спросить, что такое одна единица вывода на класс? - person hihell; 16.10.2014
comment
вау, это было много лет назад, я почти не помню - разве это не связано со структурой нейронной сети? Итак, нейрон может посылать выходные данные одному или нескольким нейронам в другом слое? - person user425720; 17.10.2014
comment
да, это связано со структурой NT. на самом деле я сам понял, что одна единица вывода на класс означает, что если у вас есть 3 класса, было бы лучше, если бы у вас также было 3 единицы вывода. а _convertToOneOfMany делает это за вас, расширяя/сокращая выходные единицы до количества ваших целевых классов. - person hihell; 18.10.2014

Целевой номер [0,1,2], эта функция переводит его в (001,010,100). Это связано с тем, что многие алгоритмы работают лучше, если классы закодированы в одну единицу вывода для каждого класса.

person JunWangCas    schedule 06.07.2014