- Количество слоев. Как правило, достаточно одного скрытого слоя, поскольку (если вы используете нелинейную функцию активации), один слой может приближаться к произвольному количеству слоев.
- Передаточная функция - я не привык к этому термину, но я предполагаю, что вы имеете в виду функцию активации (что вы делаете с сетевым входом перед передачей его на следующий слой). Я ответил на небольшой вариант этого вопроса здесь , но суть в том, что стандартный выбор, такой как гиперболическая касательная или логистическая работа, в большинстве случаев.
- Количество нейронов в вашем скрытом слое - ссылка Кродригезо показала это довольно хорошо. Все, что я могу действительно добавить, это то, что с вашим размером ввода я, вероятно, буду основывать это количество на тренировочном времени.
- Отрицательные сэмплы - если вам просто нужно классифицировать, к какому из 30 объектов тоже относится вход, то отрицательные сэмплы не нужны. Но если тестовый ввод может быть none из 30 объектов, то определенно используйте множество отрицательных примеров, чтобы сеть не думала, что everything является объектом.
Некоторые общие советы:
Не забывайте рассматривать формы исключения и аналогичные формы перекрестная проверка как способы борьбы с переоснащением. Ограничение количества единиц скрытого слоя делает это также, но за счет богатства представлений.
Другие параметры, которые вы не упомянули, также очень важны для любого успешного приложения ANN. К ним относятся скорость обучения, функция ошибок, график отжига, импульс и снижение веса. Установка всего этого - больше искусство, чем наука на данный момент (один из лучших аргументов против использования ANN против опорных векторов), но эта ссылка была для меня находкой в этой области.