Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: нейронная сеть (тренировка)
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Demonis
Тренирую нейронную сеть в Матлабе. Структура нейронной сети 10x30x30x1 и 10x20x20x20x1, тренирую с помощью функции trainbr с использованием ранней остановки (когда нейронная сеть относительно проверочных данных ухудшается).

Но в процессе тренировки получается, что после нескольких эпох тренировки нейронная сеть прекращает тренировку с причиной "Minimum gradient reached". При этом средняя ошибка НС превышает 50%, т.е. сеть не тренирована совсем. Что может быть причиной такой ранней остановки НС??
shreck
Цитата(Demonis @ Aug 4 2007, 03:51) *
Тренирую нейронную сеть в Матлабе. Структура нейронной сети 10x30x30x1 и 10x20x20x20x1, тренирую с помощью функции trainbr с использованием ранней остановки (когда нейронная сеть относительно проверочных данных ухудшается).

Но в процессе тренировки получается, что после нескольких эпох тренировки нейронная сеть прекращает тренировку с причиной "Minimum gradient reached". При этом средняя ошибка НС превышает 50%, т.е. сеть не тренирована совсем. Что может быть причиной такой ранней остановки НС??


На вскидку. Плохое качество тренировочных данных, неверная структура самой сети (последнее, как мне кажется, наиболее вероятно).
Demonis
По архитектуре я перебрал разные варианты MLP - с двумя и тремя скрытыми слоями с различным количеством нейронов в скрытых слоях. Так что на неправильную архитектуру сети мало похоже. Последний анализ с помощью самоорганизующейся сети показал, что с моими данными получается, что приблизитильно одинаковому выходу соответствуют очень разные входные данные. Получается, что MLP с ними плохо работает??? Попробую использовать RBF, может так лучше будет..
shreck
Цитата(Demonis @ Aug 6 2007, 21:34) *
По архитектуре я перебрал разные варианты MLP - с двумя и тремя скрытыми слоями с различным количеством нейронов в скрытых слоях. Так что на неправильную архитектуру сети мало похоже. Последний анализ с помощью самоорганизующейся сети показал, что с моими данными получается, что приблизитильно одинаковому выходу соответствуют очень разные входные данные. Получается, что MLP с ними плохо работает??? Попробую использовать RBF, может так лучше будет..


Описали бы задачу. На сегодняшний день для ряда задач разработаны соответствующие структуры сетей и методы их обучения. Если ваша задача попадает под них, то не партесь, возьмите готовое решение. Поиск в инете даст массу данных к размышлению.

P.S. А вы читали матлабовский хэлп по нейросетям? Он очень хорошо написан. Там есть отличное введение в проблеммную область. Это может дать вам фундамент для старта.

P.P.S. Кроме самой структуры имеет значение функции активации нейронов в разных слоях.

P.P.P.S. Плохо помню, но многослойный персептрон является ли универсальным аппроксиматором.
Demonis
Задача такова - с помощью нейронной сети описать поведение плоского вибратора. Вот входные координаты задают точки контура (только Y, X для упрощения задачи зафиксирован), а выходное значение - S11 или GAIN на одной частоте. Если с S11 более-менее аппрксимация идет, то с GAIN получилась выше описанная фигня.

Хм, если не MLP - универсальный (в определенных пределах конечно) аппроксиматор, то какая же тогда нейронная сеть??
shreck
Цитата(Demonis @ Aug 7 2007, 14:33) *
Задача такова - с помощью нейронной сети описать поведение плоского вибратора.



Ага, начало проясняться.
Зачем вам вообще здесь нейронная сеть. Задача может быть сведена просто к построению математической модели физического объекта/процесса. Если доступны только экспериментальные данные типа вход/выход, то это задача по идентификации объекта/процесса. В том же матлабе есть тулбокс System Identification. На его выходе можно получить ту же математическую модель.

P.S. Я бы сказал, что использование нейросети в данном случае не самый перспективный вариант с точки зрения получения результата.
Demonis
Спасибо за наводку. Наверное я у себя не установил System Identification при инсталяции. Найду компакты - посмотрю что там и как. Один общий вопрос: на основании чего в этих тулбоксах производят аппроксимаци системы. Просто требуется описать функцию 10 переменных - а это вроде бы не такая простая задача аппроксимации??

То же самое я пробовал делать для контура, состоящего из 5 точек, но с плавающим в определенных пределах значения Х-координаты. MLP описывалу такую систему с точностью порядка 10%.
shreck
Цитата(Demonis @ Aug 7 2007, 19:39) *
Один общий вопрос: на основании чего в этих тулбоксах производят аппроксимаци системы. Просто требуется описать функцию 10 переменных - а это вроде бы не такая простая задача аппроксимации??


Вопрос достаточно обширный, одной реплики не хватит. Грубое описание: для идентифицируемой системы выбирается модель, параметры которой еще неизвестны. Моделей существует некоторое количество (в пространстве состояний, передаточная функция, импульсная характеристика, частотная характеристика). На остнове данных вход-выход выполняется расчет параметров модели. Часть данных необходимо оставить для проверки полученной модели.

Начните с матлабовского хэлпа по данному тулбоксу. Это отличное введение. В инете есть инфа по идентификации систем (правда не в русском). Из литературы на русском: В. Дьяконов MATLAB Анализ, идентификация и моделирование систем. Спец. справочник. Также фундаментальная работа Льюга (в переводе, и, по-моему, только в библиотеах).

Сразу предупреждаю. Для успешной идентификации, входной сигнал должен обладать определенными свойствами, которые в реальной жизни придать сигналу не всегда возможно.

P.S. Для идентификаци без разницы сколько входов/выходов имеет система. Когда их много используется модель в пространстве состояний.
Kruger Freddy
Цитата(shreck @ Aug 8 2007, 07:17) *
Вопрос достаточно обширный,


Может что посоветуете из литературы на русском - у меня задача попроще - хочу разобраться как работает Matlab Neural Networks Toolbox. Есть описание на английском - но тяжело в понимании - хотя есть чем первести, но всеже.
В конце пути хочу прменить ее для целей фильтрации сигналов - т.е. отделить быстроизменяющиеся сигналы от медленноизменяющихся.
shreck
Цитата(Kruger Freddy @ Aug 8 2007, 17:00) *
Может что посоветуете из литературы на русском - у меня задача попроще - хочу разобраться как работает Matlab Neural Networks Toolbox. Есть описание на английском - но тяжело в понимании - хотя есть чем первести, но всеже.
В конце пути хочу прменить ее для целей фильтрации сигналов - т.е. отделить быстроизменяющиеся сигналы от медленноизменяющихся.


1. Медведев В.С., Потемкин В.Г. Нейронные сети. Книга как раз по Neural Networks Toolbox.
2. Дьяконов В, Круглов В. Математические пакеты расширения Matlab. Специальный справочник. Здесь есть глава по Neural Networks Toolbox.
3. Дьяконов В, Абраменкова И. Malab обработка сигналов и изображений. Специальный справочник.

Также загляните на www.exponenta.ru
Ну и конечно поиск в инете.
Kruger Freddy
Цитата(shreck @ Aug 8 2007, 15:01) *
1. Медведев В.С., Потемкин В.Г. Нейронные сети. Книга как раз по Neural Networks Toolbox.
2. Дьяконов В, Круглов В. Математические пакеты расширения Matlab. Специальный справочник. Здесь есть глава по Neural Networks Toolbox.
3. Дьяконов В, Абраменкова И. Malab обработка сигналов и изображений. Специальный справочник.

Также загляните на www.exponenta.ru
Ну и конечно поиск в инете.


Спасибо за ссылки.
Я тут уже настроил Матлаб и нашел описание на русском примера работы в Тулбокс.
Пример получился. Думаю что дальше делать.
Demonis
Цитата(shreck @ Aug 8 2007, 05:17) *
Начните с матлабовского хэлпа по данному тулбоксу. Это отличное введение. В инете есть инфа по идентификации систем (правда не в русском). Из литературы на русском: В. Дьяконов MATLAB Анализ, идентификация и моделирование систем. Спец. справочник. Также фундаментальная работа Льюга (в переводе, и, по-моему, только в библиотеах).


А нет ли у вас случайно данной книжки Дьяконова в электронном виде, хотелось бы взглянуть на примеры использования идентификации систем. И если можно имя Льюга в английском написании - английский как раз не проблема, как и известные в мире книги (по крайней мере я на это надеюсь). Заранее спасибо.
shreck
Цитата(Demonis @ Aug 8 2007, 23:44) *
А нет ли у вас случайно данной книжки Дьяконова в электронном виде, хотелось бы взглянуть на примеры использования идентификации систем. И если можно имя Льюга в английском написании - английский как раз не проблема, как и известные в мире книги (по крайней мере я на это надеюсь). Заранее спасибо.


Все указанные книги у меня в бумаге. Но ее купить, по-моему, не проблема. Я книги Дьяконова регулярно наблюдаю в магазинах тех. книги.

Льюнг Л. Идентификация систем. - М.: "Наука", 1991
Ljung, L., System Identification: Theory for the User, Prentice-Hall, 1987
Demonis
Цитата(shreck @ Aug 9 2007, 05:34) *
Все указанные книги у меня в бумаге. Но ее купить, по-моему, не проблема. Я книги Дьяконова регулярно наблюдаю в магазинах тех. книги.


Я просто временно в Германии, так что Дьяконова мне в бумажном виде не найти, Льюнга спокойно возьму в библиотеке...

Цитата
Судя по всему у вас есть Тулбох - не демоверсия.
Не посоветуете где можно скачать?


Так Матлаб вроде не редкость на просторах интернета. Могу конечно вам заархивить папочку тулбокса, не знаю, можно ли его таким образом вставить...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.