Я следую учебному пособию по PyBrain Классификация с нейронными сетями с прямой связью и хочу создать свой собственный классификатор.
Я не понимаю, как _convertToOneOfMany изменяет выходные данные.
_convertToOneOfMany
Почему при начальной операции alldata.addSample(input, [klass]) создается более одного выходного нейрона на класс?
alldata.addSample(input, [klass])
не важно, вот документ, объясняющий это http://pybrain.org/docs/tutorial/datasets.html
Целевой номер [0,1,2], эта функция переводит их в (001,010,100). Это связано с тем, что многие алгоритмы работают лучше, если классы кодируются в одну единицу вывода на класс
Соответствующей частью в документах является страница Использование наборов данных: классификация - наборы данных для обучения по контролируемой классификации :
При выполнении классификации многие алгоритмы работают лучше, если классы закодированыв одну выходную единицу на класс, которая принимает определенное значение, если класс присутствует.В качестве расширенной функции ClassificationDataSet выполняет это преобразование автоматически:
Однако это не удовлетворительный ответ, так как я также не понимаю, почему в одной руке должно быть более одного выходного нейрона на класс.
Обновление: я рекомендую использовать keras
keras