Обучение нейронной сети, советы - PullRequest
3 голосов
/ 02 сентября 2011

Для распознавания объектов предложите использовать нейронную сеть в MATLAB.У меня есть 30 объектов и 20 изображений для каждого объекта, поэтому у меня есть 600 входных данных и 20 различных классов.Входная матрица 100x600, а цель 1x600.Столбцы входной матрицы - это гистограмма оттенка ключевых точек в 100 бинах, например: (m,n)=hist(hue_val,100), которую я взял m.Если я выбрал сеть MLP, сколько слоев и нейронов для этих слоев необходимо, какие передаточные функции подходят для каждого слоя?И для последнего вопроса, мне нужны отрицательные образцы?

Ответы [ 2 ]

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

Некоторые общие советы:

Не забывайте рассматривать формы исключения и аналогичные формы перекрестная проверка как способы борьбы с переоснащением. Ограничение количества единиц скрытого слоя делает это также, но за счет богатства представлений.

Другие параметры, которые вы не упомянули, также очень важны для любого успешного приложения ANN. К ним относятся скорость обучения, функция ошибок, график отжига, импульс и снижение веса. Установка всего этого - больше искусство, чем наука на данный момент (один из лучших аргументов против использования ANN против опорных векторов), но эта ссылка была для меня находкой в ​​этой области.

3 голосов
/ 02 сентября 2011

Когда я спросил это про себя, я нашел страницу , может быть, это может помочь.

Редактировать :

Извините, что хотел сослаться на эту страницу , где вы можете перейти к другому запросу, например, Сколько скрытых слоев должно бытьЯ использую?или Сколько скрытых единиц я должен использовать?

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